Cell Zone Conditions
Multiple Reference Frame, MRF
MRF is set in the constant/MRFProperties file as follows
<name>
{
cellZone <cell zone name>;
active yes;
nonRotatingPatches
(
<patch name 1>
<patch name 2>
...
);
origin (<x> <y> <z>);
axis (<x-axis> <y-axis> <z-axis>);
omega <radian per sec>;
}
omega is calculate from the input of RPM to rps(radian per sec)
Sliding Mesh
Sliding Mesh is set in the constant/dynamicMeshDict file as follows
dynamicFvMesh dynamicMotionSolverListFvMesh;
motionSolverLibs ("libfvMotionSolvers.so");
motionSolver fvMotionSolvers;
solvers
{
<name>
{
solver solidBody;
solidBodyMotionFunction rotatingMotion;
cellZone rotating;
rotatingMotionCoeffs
{
origin (<x> <y> <z>);
axis (<x-axis> <y-axis> <z-axis>);
omega <radian per sec>;
}
}
}
omega is calculate from the input of RPM to rps(radian per sec)
Porous Zone
Porous Zone is set in the system/fvOptions file.
Power Law model
Inputs of C0 and C1 is used at powerLawCoeffs.
<name>
{
type explicitPorositySource;
explicitPorositySourceCoeffs
{
type powerLaw;
powerLawCoeffs
{
C0 <value>;
C1 <value>;
coordinateSystem
{
type cartesian;
origin (<x> <y> <z>);
rotation
{
type axesRotation;
e1 (1 0 0);
e2 (0 1 0);
}
}
}
selectionMode cellZone;
cellZone <cell zone name>;
}
}
Darcy Forchheimer model
Input values of direction vector 1 and 2 are used at e1 and _e2 of coordinateSystem. Inertial Resistance Coefficient(f, Forchheimer coefficient) and Viscous Resistance Coefficient(d, Darcy coefficient) is used at f and d of DarcyForchheimerCoeffs.
<name>
{
type explicitPorositySource;
explicitPorositySourceCoeffs
{
type DarcyForchheimer;
DarcyForchheimerCoeffs
{
d d [ 0 -2 0 0 0 0 0 ] (<x-d> <y-d> <z-d>);
f f [ 0 -1 0 0 0 0 0 ] (<x-f> <y-f> <z-f>);
coordinateSystem
{
type cartesian;
origin (<x> <y> <z>);
rotation
{
type axes;
e1 (<x-dir1> <y-dir1> <z-dir1>);
e2 (<x-dir2> <y-dir2> <z-dir2>);
}
}
}
selectionMode cellZone;
cellZone <cell zone name>;
}
}
Actuator Disk
Actuator Disk is set in the system/fvOptions file.
Input of Disk Direction is used at diskDir, Power Coefficient at Cp, Thrust Coefficient at Ct, Disk Area at diskArea, Upstream Point at monitorCoeffs and Force Computation method at variant.
actuationDiskSource_porousZone
{
type actuationDiskSource;
fields (U);
diskDir (<x-dir> <y-dir> <z-dir>);
Cp <value>;
Ct <value>;
diskArea <value>;
monitorMethod points;
monitorCoeffs
{
points ((<x> <y> <z>));
}
variant <Froude or variableScaling>;
selectionMode cellZone;
cellZone <cell zone name>;
}
Source Terms
Mass, energy, turbulence and species source can be set in the system/fvOptions file.
What the source term is for is set at sources. rho for mass, h for energy, k, epsilon, omega, nuTilda for turbulence.
The value is given in sources as ( ), where the value entered is written to the explicit value and 0.0 is written to the implicit value.
There are 2 options of ‘Value for Entire Cell Zone’ and ‘Value per Unit Volume’ for Specification Method. It is set at volumeMode as absolute for ‘Value for Entire Cell Zone’ and specific for ‘Value per Unit Volume’.
When giving source term to an entire region rather than a cell zone, the selectionMode will be all.
<name>
{
type scalarSemiImplicitSource;
volumeMode <absolute or specific>;
sources
{
rho (<value> 0.0); // h, k, epsilon, omega, nuTilda, <species>
}
selectionMode cellZone; //all;
cellZone <cell zone name>;
}
For piecewise linear
<name>
{
type scalarSemiImplicitSource;
volumeMode <absolute or specific>;
sources
{
h
{
explicit table ( (<t0> <t1> ...) (<flowrate0> <flowrate1>) ... );
implicit none;
}
}
selectionMode cellZone;
cellZone <cell zone name>;
}
For polynomial
<name>
{
type scalarSemiImplicitSource;
volumeMode <absolute or specific>;
sources
{
h
{
explicit polynomial ( (<a0> 0) (<a1> 1) ... );
implicit none;
}
}
selectionMode cellZone;
cellZone <cell zone name>;
}
Source term of user defined scalar
Source term of user defined scalar is not set in system/fvOptions file, but in the functions dictionary of system/controlDict file.
In the user define scalar dictionary of functions, fvOptions dictionary is set as follows
functions
{
...
<name>
{
type scalarTransport;
...
fvOptions
{
<name>
{
type scalarSemiImplicitSource;
volumeMode absolute;
sources
{
<uds name> (<value> 0.0);
}
selectionMode cellZone;
cellZone <cell zone name>;
}
}
}
}
Fixed Values
You can fix velocity, temprature, turbulence, specie and user defined scalars in the file system/fvOptions.
Velocity
type is meanVelocityForce.
Input velocity is set at Ubar, relaxation factors are at relaxation.
<name>
{
type meanVelocityForce;
active yes;
fields (U);
Ubar (<Ux> <Uy> <Uz>);
relaxation <value>;
selectionMode cellZone;
cellZone <cell zone name>;
}
Temperature
type is fixedTemperatureConstraint.
Input temperature is set at temperature.
fixedTemperature_porousZone
{
type fixedTemperatureConstraint;
active yes;
mode uniform;
temperature constant <value>;
selectionMode cellZone;
cellZone <cell zone name>;
}
Turbulence and Species
type is scalarFixedValueConstraint.
Field and input value is set at fixedValues.
fixedTemperature_porousZone
{
type scalarFixedValueConstraint;
active yes;
fieldValues
{
k <value>; // epsilon, omega, nuTilda
}
selectionMode cellZone;
cellZone <cell zone name>;
}
Fixed value of user defined scalar
Fixed value of user defined scalar is not set in system/fvOptions, but in the functions dictionary of system/controlDict file.
In the user define scalar dictionary of functions, fvOptions dictionary is set as follows
functions
{
...
<name>
{
type scalarTransport;
...
fvOptions
{
<name>
{
type scalarFixedValueConstraint;
active yes;
fieldValues
{
<uds name> <value>;
}
selectionMode cellZone;
cellZone <cell zone name>;
}
}
}
}