Previous: Initial and boundary conditions Up: Rotation using OpenFOAM Next: Solid Body Motion
This is an automatically generated documentation by LaTeX2HTML utility. In case of any issue, please, contact us at info@cfdsupport.com.
Multiple Reference Frame - MRF
- We start by copying of the mesh we have just created to MRF directory.
# cp -r wholeMesh/constant/polyMesh MRFCase/constant - We need to setup initial conditions for water. So we copy file alpha.water.org to working copy.
# cd $FOAM_RUN /mixerCase/MRFCase
# cp 0/alpha.water.org 0/alpha.water - To fill mixer tank by water we will use utility setFields what is configured by file setFieldsDict.
defaultFieldValues ( volScalarFieldValue alpha.water 0 ); regions ( boxToCell { box ( -0.20 -0.15 -1 ) ( 0.2 0 1 ); fieldValues ( volScalarFieldValue alpha.water 1 ); } );
- We run it
# setFields - The last thing to be set up is the mixer rotation.
- In this section we will use the Multiple Reference Frame method, which is used for the stationary flow solution computation.
- To simulate the rotation, the real movement of the mesh is substituted by momentum sources in the stationary cells – we add the so called Coriolis term.
- We need to choose the rotating zone, where we simulate the rotation. To do this, we need the topoSet utility and create a cellZone.
- We choose the cells with the center of gravity inside of the cylinder with base radius m, which is the maximum distance, where the mixer blades would rotate if they were actually rotating
- Let us look at topoSetDict.
# cat system/topoSetDictactions ( { name rotor; type cellSet; action new; source cylinderToCell; sourceInfo { p1 (0 0 0); p2 (0 0 0.1); radius 0.04123; } } );
- We create a cellSet called rotor and convert the cellSet to a cellZone
# topoSet
# setsToZones - Let us look at MRFProperties
# cat constant/MRFPropertiesMRF1 { active true; cellZone rotor; origin (0 0 0); axis (0 0 1); omega 6.28318; }
- and transport properties in file transportProperties.
# cat constant/transportPropertiesphases ( water air ); water { transportModel Newtonian; nu nu [ 0 2 -1 0 0 0 0 ] 1e-06; rho rho [ 1 -3 0 0 0 0 0 ] 1000; } air { transportModel Newtonian; nu nu [ 0 2 -1 0 0 0 0 ] 1.48e-05; rho rho [ 1 -3 0 0 0 0 0 ] 1; } sigma sigma [ 1 0 -2 0 0 0 0 ] 0;
- At last we run the solver:
# interFoam > log.interFoam &
Figure: MRF method results visualization