Stone skipping - Fluid Mechanics - Overset grid - overInterDyMFoam - OpenFOAM 2112

preview_player
Показать описание
Overset gridding refers to the use of multiple disconnected grids to discretize the flow domain, which can overlap each other. For moving objects, you would typically have a fixed base grid, discretizing the entire flow domain, and a second grid discretizing the zone around the object in greater detail, which would move following the object itself. With that setup you can always have great discretization where you need it, regardless of how much the object moves.

OpenCFD's version of OpenFOAM includes a wide array of Overset-Grid-capable solvers.

The case uses the overInterDyMFoam multiphase solver. The fixed mesh has a 5mm horizontal and 2.5mm vertical discretization (which is too coarse to solve splashing accurately); meanwhile, the mesh around the disk has a 1mm cell size, with further refinement near the surface. The disk motion is solved with six degrees of freedom, without any constraint.

As always, nothing is perfect, and the overset grid technique has some drawbacks.

The main one I found is that the mesh-to-mesh geometric mapping, which needs to be performed every time the object moves (every timestep!), is a bit slow, and accounted for ~ 50% of the simulation time in this case. Without looking into the implementation in depth, I have the impression that it is done from scratch every time, which is probably unnecessary (displacements are small on a single time step), so maybe this could be optimized in the future.

Another commonly pointed limitation is that this technique is not rigorously mass-conserving, but I don't think that is a big problem for cases like this one.

In case you want to take a closer look at how the model is put together, I have uploaded the case to #GitHub:

#cfd #mesh #multiphase #OpenFOAM #grid #numericalmodeling #computationalhydraulics #mechanicalengineering #mechanical #research #simulation #cae #fluiddynamics #fluidmechanics #turbulence #aerodynamics #automative #aerospace #flow #motorsport #openfoam #ansys #starccm #opensource #technology
Рекомендации по теме
Комментарии
Автор

"using a non-spinning 30mm by 5mm aluminum disk, thrown toward water at 5 m/s, but I might have gotten some of details wrong "

What you got wrong is that it's not spinning, so it won't keep precession as easily as a spinning one. Try to make it spin and you will get 2nd skip.

anykeyh
Автор

This is beautiful, i loved to play when i was a child (and still do)🙂

carlovonterragon
Автор

If you're really bad at skipping stones!

michaelpcoffee
Автор

Hello, That's a fascinating simulation. How did you manage to produce such a beautiful animation (for example, the opening two seconds of the movie and the stone and the gas-liquid interface and 3D channel all combined)? I'd be grateful for some pointers. Thanks

aliyahyaee
Автор

Fantastic! Can you do Barnes Wallis’s bouncing bomb …..Dambusters ?

sharanbirbrijnath
Автор

Great simulation! I'm learning overset mesh and I have a question about the case setup - since the cellSets c0 and c1 are defined using "topoSet" in background folder, is the "topoSet" in moving body still necessary? Thanks in advance :)

武昌区F
Автор

Hello Nicolás, at first, thank you for sharing this fantastic simulation. I am using it as a template for my simualtion.
I have two things regarding the dynamicMeshDict which i do not understand and i would be happy if you could look closer on that:
I am not sure what the transform command in the dynamicMeshDict does, but I think it rotates the coordinate system of the moving object. With the values you have chose you are rotating it +10° around the z-axis, but it should be -10° around the y-axis (you also commented it with -10° around the y-axis).
Second thing i would like to mention is that in the calculation of the moment of inertia is a mistake, i think. The diagTensor of the z-component should be "sqrR / 2.0" not "sqrR / 4.0"

It would be really nice if you could tell me whether I am right in my assertions or whether there is another reason for your statements

mopsen
Автор

I am myself quite talented and experienced on this... given the perfect sea condition and the stones, I could do up to 20-30 skipping... even I chip and reforming some of the stones.. best is ceramic glossy flat bottom with some mound like shape weights on it ... usually demolished household structures discarded bathroom or kitchen tiled tops

alpergergin
Автор

It is very cool.
How did you manage to give the projectile trajectory to the object.. Can you recommed me some reference/source.

shivamgupta
Автор

Hello Nicola, I want to calculate where the piece thrown at a certain angle will fall and view its movement in paraview, how can I do this?

OnurCanPişkin-ui
Автор

Interesting work. How do you handle object-free surface interaction? VOF or other technique?

supergaga
Автор

eventually, computers will be able to do this in real time, and proper fluid dynamics will end up in video games

yetidynamics
Автор

Hello Niclolas I am going through the provided code. I have query can you explain what is the meaning of the following points under prepare file:

transformPoints -rotate-angle '((0 1 0) -10)'
transformPoints -translate '(0 0 0.04)'

ShivamGupta-hw
Автор

I can throw a cat at the water and get two skips.

Fauxbra
Автор

make a spin, let see the gyro effecet

vipsrocket
Автор

on all logic it should start spin, wtf

zergidrom