|
[Sponsors] |
slip & noslip boundary condition for dynamic mesh, how to implement? |
|
LinkBack | Thread Tools | Search this Thread | Display Modes |
February 17, 2016, 04:24 |
slip & noslip boundary condition for dynamic mesh, how to implement?
|
#1 |
New Member
Olaf Schiemann
Join Date: Feb 2016
Posts: 10
Rep Power: 10 |
Hello,
how would I implement a slip and noslip boundary condition on a dynamic, deforming mesh? I have a small test case, which models the water flow inside a "bouncing cube", a rectangular mesh growing/shrinking periodically in the horizontal/vertical direction. The motion of the walls is not transferred to the water, whatever boundary condition I use (slip, no slip, fixedValue (0 0 0 )). Is it possible to implement a boundary condition that takes the boundary velocity into account and lets me set the relative fluid velocity, so that (0 0 0) translates into a "real" noslip condition? I am testing with rhoPimpleDyMFoam of OpenFOAM 2.4.0. You will definitely help me as well, if you know of a solution using another solver or OpenFOAM version. Greetings Olaf |
|
February 18, 2016, 05:18 |
|
#2 |
Senior Member
|
Hi,
For dynamic mesh cases a no-slip wall is defined as movingWallVelocity, have a look here: http://cfd.direct/openfoam/user-guide/boundaries/ Also have a look at the tutorials. I would not know is there is a slip velocity for a moving wall. Regards, Tom |
|
February 18, 2016, 13:47 |
|
#3 |
New Member
Olaf Schiemann
Join Date: Feb 2016
Posts: 10
Rep Power: 10 |
Thank you Tom,
but movingWallVelocity does not work correctly. I think it is using only the wall motion at the first simulation time step and assumes that the wall motion doesn't change. I have attached a tiny modification of the compressible/pimpleDyMFoam/movingCone tutorial. The only change I have made is a time-dependent table for the movingWall velocity in 0/pointMotionUx: Code:
... boundaryField { movingWall { //type uniformFixedValue; //uniformValue constant 1; type uniformFixedValue; uniformValue table ( (0. 1.) (0.00149 1.) (0.00151 -1.) (0.003 -1.) ); }... Do you know, how to correct this bug in movingWallVelocity? Or is it a bug in the dynamicMotionSolver? Greetings Olaf |
|
February 19, 2016, 04:54 |
|
#4 |
Senior Member
Jan
Join Date: Jul 2009
Location: Hamburg
Posts: 143
Rep Power: 20 |
Hi Olaf,
in the attached case you have set the boundary condition for U to fixedValue. This is wrong. If you change to movingWallVelocity, then the velocities at the wall are updated according to the mesh motion, i.e. changing from 1 to -1. Best regards, Jan |
|
February 19, 2016, 05:31 |
|
#5 |
New Member
Olaf Schiemann
Join Date: Feb 2016
Posts: 10
Rep Power: 10 |
Hi Jan,
you are absolutely right. I am sorry, I have tested so many settings that I got confused. movingWallVelocity works fine for both pimpleDyMFoam and rhoPimpleDyMFoam. Another question: My confusion started, because pointMotionUx translates only the boundary, not the internal points, if I use groovyBC to express arbitrary, time dependent motions: Code:
// 0/pointMotionUx: boundaryField { movingWall { type groovyBC; valueExpression "toPoint(1)"; //"toPoint(cos(pi*time()/0.003))"; }... Do you know, why a groovyBC does not allow to move the internal mesh points, whereas e.g. uniformFixedValue works correctly? Greetings Olaf |
|
February 19, 2016, 08:30 |
|
#6 |
Senior Member
Jan
Join Date: Jul 2009
Location: Hamburg
Posts: 143
Rep Power: 20 |
Hi Olaf,
I have no experience with groovyBC. Maybe codedFixedValue does what you want. I have used it once and it worked well. See the example code for a sinusodial motion in x-direction: Code:
movingWall { type codedFixedValue; value uniform 0; redirectType rampedFixedValue; code #{ scalar t = this->db().time().value(); scalar om = 0.5; scalar a = -1.; //Info << "movingWall: " << a*sin(om*t) << endl; operator==(a*sin(om*t)); #}; } Jan |
|
May 21, 2019, 05:33 |
|
#7 |
New Member
liliu
Join Date: Nov 2018
Posts: 12
Rep Power: 7 |
Hi, Jan
Do you have any ideas about how to add a flowRate to moving boundary? Best, Yu |
|
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
decomposePar problem: Cell 0contains face labels out of range | vaina74 | OpenFOAM Pre-Processing | 37 | July 20, 2020 06:38 |
[snappyHexMesh] No layers in a small gap | bobburnquist | OpenFOAM Meshing & Mesh Conversion | 6 | August 26, 2015 10:38 |
turbineSiting tutorial: slip condition at top boundary gives unexpected result | letzel | OpenFOAM | 0 | June 6, 2014 06:25 |
Implement constant heat flux boundary condition | new_at_this | Main CFD Forum | 2 | April 7, 2012 00:35 |
fluent add additional zones for the mesh file | SSL | FLUENT | 2 | January 26, 2008 12:55 |