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>;
            }
        }
    }
}