Steady State Response of Decay Test

I have recently been running decay tests in dualSPHysics with the goal of having the results match up with experimental data from literature. The setup involves dropping a small sphere (300mm D) from a height of 30mm above the waters surface. Initially the results have not lined up with the experimental data and I am currently looking for sources of error. I have noticed that when I run a simulation of the system at rest there can be significant movement from the expected equilibrium depending on the particle distance. I will attach a plot showing showing this below. I was wondering if this sort of error is expected for decay tests where motion is on the order of millimeters or if there is a known way to remedy this?

Any thoughts, suggestions or general tips would be greatly appreciated!


Comments

  • When you change Dp (particle distance) you control the resolution of your simulation. The finer resolution the better results (in general). Therefore it is a great idea to do as you do, plotting the response you are interested in based on resolution, i.e. making a convergence test.

    Based on the plot you have provided it seems like that at a resoltion of Dp = 0.0030 and 0.0025 the amount of particles is enough to keep reproducing a similar response. This would then be the convergent result of your numerical model.

    It is quite similar to OpenFoam, you cannot expect a coarse mesh to give good results.

    Sources for errors are:


    1) Using DBC unphysical gap between solid and fluid particles appear due to repulsive force. Decreases with finer Dp.

    2) If you use artificial viscosity you are not including a turbulence model and losing some physics there. In this case you have to "tune" alpha until you got the right response as experiments. My advise is instead to use SPS-LES model, option 2.

    3) What have you set ViscoBound to? Remember that in reality DualSPHysics does not have a "no-slip condition" right now, only an approximated one. Set it to 1 if you have previously set it to 0.

    Kind regards

  • Hey - thank you very much for the response. Glad to hear that the convergence study was the right way to go about it and that you think 0.003 is sufficiently converged.

    In response to the your listed sources of error:

    1) good to know that the boundary method is a source of error that depends on Dp

    2) This is also good to know, I will change the viscosity formulation to Laminar+SPS and see if my results change 

    3) I believe my ViscoBoundFactor is currently 1, so I will be sure to keep it there.

    I will attach screenshots of my constants and execution parameters just in case you see anything else that jumps out as a potential source of error. Thank you again for your help!


  • Perhaps using a density diffusion scheme (option 3 or 2 if it gives errors) will help with some unphysical pressure spikes due to the DBC interaction.

    Remember your speed of sound should be at minimum 10 times higher than the highest velocity in your domain (to keep incompressibility 99% basically). Since you have still water and a ball falling into it, let us say it reaches a max speed of 1 m/s, then at minimum speed of sound = 10 m/s - check if the auto calculation is ensuring this constraints.

    Play with coefH, maybe a value of 1.2 or 1.5 is better to correctly assess the physics.

    Kind regards

  • In order to use density diffusion term you should have several layers in the boundaries (enough to fill 2h distance).

    If you wan to use new mDBC (modified dynamic boundary conditions) you should start using the full package directly... in fact you can investigate the cases in examples/mdbc

    Regards

  • I wanted to follow up on my progress based on your suggestions Asalih3d. Firstly, I shifted towards analyzing a cube decay test rather than a sphere as I was able to find some literature related to such a test using SPH. 

    Here is a plot where I varied the coefH as you recommended. It appears that increasing the coefH to 1.5 results in the peaks matching up better with the analytical result. However, there is still the problem of the system settling higher than 0.

    Here is a plot where I varied the viscosity formulation method. I very well could have made a mistake when setting other parameters, but switching to the laminar+SPS method seems to result in a chaotic output. 

    My main question from here is: what is the best strategy for tuning alpha? You mentioned varying alpha until the result matches the experiment, but what if I didn't have experimental or analytical data? Furthermore, do you think an incorrect alpha value could be the cause of the system settling above the expected equilibrium point?

    In the meantime, I will look into varying the density diffusion scheme and boundary method as you and Alex have pointed out. Thank you again for the assistance.

  • You have to use:

    1) mDBC (with several layers)

    2) laminar+SPS

    3) density diffusion term = Fourtakas Full


    Please note that when using laminar+SPS you have to define visco (kinematic viscosity here) as 10E-6.


    Regards

  • Decay tests can be very hard to do in DualSPHysics in the sense that you must be in extremely good control over the particle resolution and discretization.

    It seems to me you are using a floating object, so you cannot use mDBC right now in the official version, but that boundary helps a ton in getting the right bouyancy force.

    My best advice is to start with a 2D case, 1 by 1 square, with a mass of x kg, and making sure that you can get it to be extremely stable in the water. Then you know you have a correct discretization when you compare with analytics. If you do not get this step done properly, then you will always get wrong results for where it should settle.

    Do not tune alpha if you do not have experimental results or analytical results - if you can, always use SPS-LES. Kinematic viscosity should be 1e-6 m^2/s since it is for water, Alex had a small typo.

    Kind regards

  • yes sorry 1E-6

  • Thank you very much for the feedback on my results, good to know decay tests arent as simple as they seem in SPH. I will run more cases based on these recommendations. I had one or two questions/comments based on your feedback.

    1. I am in fact using a floating object so does that mean I cannot use the mDBC? It seems to let me select the option in execution parameters.

    2. If I can use mDBC then which parameters would you recommend changing to make sure I have "several layers"? I noticed this warning after running a simulation with mDBC and DDT set to Fourtakas (full). I'm sure this is what you are referring to.

    3. I will run the simulation using Laminar+SPS once again, though the previous time I used it the result was pretty strange as shown in my last comment. I believe I had the kinematic viscosity set to the correct value of 1E-6. I will try this again using the new parameters you all recommended.

    Apologies for all of the questions, I will also look into some literature so that I can better understand the reasoning behind your suggestions. Thank you both again for all of your help!

  • 1) you can not apply mDBC using the GUI (DesignSPHysics)

    2) you can not apply mDBC to floating objects with current v5.0 online

    2) the warning always appear but you have to check if 2h<=layers*Dp


    In any case you should start using the full package: https://dual.sphysics.org/downloads/

    Regards

  • 1) When I open the execution parameters using the GUI, I seem to have the option to select mDBC. And the boundary method is set to mDBC in the xml file that is generated. Just want to confirm that this is still not applying mDBC?

    2) it is good to know that you cannot apply mDBC to floating objects with the current available version

    When I started using DualSPHysics, I downloaded the most recent version from that link you provided. I guess I am confused with what you mean by full package, if I set my plugins for DesignSPHysics to the most recent versions from that link you provided is that not the full package? Sorry for the confusion.

    Based on your feedback it seems that I cant use the mDBC, so my best option would be to use the Laminar+SPS with correct kinematic viscosity value, plus fourtakas (full) density diffusion, with DBC for the boundary method.

  • Again.... stop using DesignSPHysics since we update that files when we organise courses and that is not including all functionalities available in the full package where you have latest executables but where you can also use all functionalities by XML definition.

    Regards

  • Apologies, though I am sure you understand, DesignSPHysics is much more user-friendly to those just starting out with the program. In the future I will certainly explore creating cases through xml definition directly.

    Thank you both again for all of your help with improving my results for this decay test, I will be sure to come back to this forum if I have further questions.

    Regards

  • Surw, you follow a good procedure starting with the GUI.

    But it is good to move to work directly with XML after that.

    Regards

Sign In or Register to comment.