|
[Sponsors] |
April 22, 2010, 10:25 |
InterDyMFoam for breaking wave simulation
|
#1 |
New Member
yannH
Join Date: Feb 2010
Posts: 26
Rep Power: 16 |
Hello !
I'm actually trying to run a simulation for a breaking wave in 'deep water'. I've already got some good plunging breakers with interFoam . But when I try to run interDyMFoam, for a ras model, I've got this message that never appears with interFoam : This mesh contains patches of type empty but is not 1D or 2D by virtue of the fact that the number of faces of this empty patch is not divisible by the number of cells. From function emptyFvPatchField<Type>::updateCoeffs() in file fields/fvPatchFields/constraint/empty/emptyFvPatchField.C at line 148. FOAM exiting I've seen that it could be a multiple declaration for vertices of the mesh but it's not my case, see my blockMeshDict : convertToMeters 1e-1; vertices ( (0 0 0) (1 0 0) (1 0.4 0) (0 0.4 0) (0 0 0.01) (1 0 0.01) (1 0.4 0.01) (0 0.4 0.01) ); blocks ( hex (0 1 2 3 4 5 6 7) (250 100 1) simpleGrading (1 1 1) ); edges ( ); patches ( cyclic leftAndRight ( (0 4 7 3) (2 6 5 1) ) wall lowerWall ( (1 5 4 0) ) patch atmosphere ( (3 7 6 2) ) empty frontAndBack ( (0 3 2 1) (4 5 6 7) ) ); mergePatchPairs ( ); Does anyone see what is wrong ? Yann |
|
April 23, 2010, 06:11 |
|
#2 |
Senior Member
|
You need to provide more information. Your blockMeshDict looks OK (did you run checkMesh to check it?).
What is in your dynamicMeshDict? Which dynamicFvMesh are you trying to use? Since you have cyclic on leftAndRight, and empty on frontAndBack, what is driving your flow (I presume the motion of your lowerWall is driving the flow?). |
|
April 23, 2010, 07:05 |
|
#3 |
New Member
yannH
Join Date: Feb 2010
Posts: 26
Rep Power: 16 |
Hi Eric,
Thanks for your reply, I want to use interDyMFoam because i'm interested in dynamic meshing... As I said, i work on breaking wave in deep water and for spilling breakers I need very tiny mesh for the crest. my dynamicMeshDict looks like : dynamicFvMesh dynamicRefineFvMesh; dynamicRefineFvMeshCoeffs { refineInterval 1; field alpha1; lowerRefineLevel 0.001; upperRefineLevel 0.999; unrefineLevel 10; nBufferLayers 1; maxRefinement 2; maxCells 200000; correctFluxes ( ( phi U ) ); dumpLevel true; } } (I've just copied one from damBreak example, so i'm not sure...) Otherwise about your question my lowerWall doesn't move. I initialize the velocity field with funkySetFields, in order to get an unsteady inital sinusoidale wave, that immediately breaks. velocityField.jpg mediumRes_deepWater.jpg |
|
April 23, 2010, 07:15 |
|
#4 |
Senior Member
|
Hmm, dynamicRefineFvMesh for 2D... that's what I figured. Isn't going to work since it only does isotropic refinement (including in the z-direction of your mesh).
If you really need to do the 2D refinement, you'll have to hack the dynamicRefineFvMesh class and create a 2D version. Otherwise, you will have to make your domain truly 3D and periodic in the z-direction, and let the mesh refinement do its work as designed. |
|
April 23, 2010, 08:59 |
|
#5 |
New Member
yannH
Join Date: Feb 2010
Posts: 26
Rep Power: 16 |
ok, I'll try in 3D with cyclic boundaries for front and back... 3D was my first idea when I began, with an epsilon value into velocity field varying with the width to avoid artificial 3D, but computation time scared me. So it's gonna be the occasion to try it...I'll post screenshots if it works !
thanks Eric, Yann |
|
June 18, 2010, 10:19 |
|
#6 |
Senior Member
Emanuele
Join Date: Mar 2009
Posts: 110
Rep Power: 17 |
any news on 2D dynamicMeshDict ??? I have a problem settings cyclic instead of empty patches: setFields for alpha1 doesn't work and it returns error.
|
|
July 13, 2010, 11:06 |
|
#7 |
New Member
yannH
Join Date: Feb 2010
Posts: 26
Rep Power: 16 |
Is it really useful (or interesting in mechanical terms) to use interDyMFoam instead of interFoam ? I'm asking that because I'm a little lost. My domain doesn't move, only the interface.. What is the interest of dynamic meshing or the situation it is needed ?
|
|
July 26, 2010, 09:50 |
|
#8 |
New Member
yannH
Join Date: Feb 2010
Posts: 26
Rep Power: 16 |
Hi everyone,
I am testing my example of breaking waves with interFoam or interDyMFoam and with different schemes (for divergence terms of the equation). I have not enough knowledge about efficiency or accuracy about it, so I test with those from dambreak tutorial div(rho*phi,U) Gauss upwind; // or Gauss limitedLinearV 1; div(phi,alpha) Gauss vanLeer; div(phirb,alpha) Gauss interfaceCompression; or sloshing case. div(rho*phi,U) Gauss vanLeerV; div(phi,alpha) Gauss vanLeer; div(phirb,alpha) Gauss vanLeer; Results are different (especially with upwind).. can someone give me advice or tell me what is the best ? thanks Regards, Yann |
|
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
detonation wave simulation | Krish | FLUENT | 15 | February 7, 2017 13:38 |
I lose some fluid during simulation using InterDyMFoam | anmartin | OpenFOAM Running, Solving & CFD | 0 | April 20, 2010 16:19 |
About probe result of Wave simulation | shiw | FLOW-3D | 3 | March 13, 2009 10:15 |
Two question about Wave simulation | shiw | FLOW-3D | 4 | February 20, 2009 12:12 |
Wave simulation | Navin Fogla | FLUENT | 0 | March 6, 2008 10:50 |