cellSetOption Class Reference

Intermediate abstract class for handling cell-set options for the derived fvOptions. More...

Inheritance diagram for cellSetOption:
[legend]
Collaboration diagram for cellSetOption:
[legend]

Public Types

enum  selectionModeType {
  smAll , smCellSet , smCellZone , smPoints ,
  smGeometric
}
 Enumeration for selection mode types. More...
 

Public Member Functions

 TypeName ("cellSetOption")
 Runtime type information. More...
 
 cellSetOption (const word &name, const word &modelType, const dictionary &dict, const fvMesh &mesh)
 Construct from components. More...
 
virtual ~cellSetOption ()=default
 Destructor. More...
 
scalar timeStart () const noexcept
 Return const access to the time start. More...
 
scalar duration () const noexcept
 Return const access to the duration. More...
 
bool inTimeLimits (const scalar timeValue) const
 True if within time limits. More...
 
selectionModeType selectionMode () const noexcept
 Return the cell selection mode. More...
 
bool useSubMesh () const noexcept
 True if sub-selection should be used. More...
 
const wordRezoneName () const noexcept
 
scalar V () const noexcept
 Return const access to the total cell volume. More...
 
const labelListcells () const noexcept
 Return const access to the cell selection. More...
 
scalar timeStart (scalar val) noexcept
 Adjust the time start, return the old value. More...
 
scalar duration (scalar val) noexcept
 Adjust the duration, return the old value. More...
 
virtual bool isActive ()
 Is the source active? More...
 
virtual bool read (const dictionary &dict)
 Read source dictionary. More...
 
const wordcellSetName () const noexcept
 
- Public Member Functions inherited from option
 TypeName ("option")
 Runtime type information. More...
 
 declareRunTimeSelectionTable (autoPtr, option, dictionary,(const word &name, const word &modelType, const dictionary &dict, const fvMesh &mesh),(name, modelType, dict, mesh))
 
 option (const word &name, const word &modelType, const dictionary &dict, const fvMesh &mesh)
 Construct from components. More...
 
autoPtr< optionclone () const
 Return clone. More...
 
virtual ~option ()=default
 Destructor. More...
 
const wordname () const noexcept
 Return const access to the source name. More...
 
const fvMeshmesh () const noexcept
 Return const access to the mesh database. More...
 
const dictionarycoeffs () const noexcept
 Return dictionary. More...
 
bool active () const noexcept
 True if source is active. More...
 
void setApplied (const label fieldi)
 Set the applied flag to true for field index fieldi. More...
 
bool active (const bool on) noexcept
 Change source active flag, return previous value. More...
 
virtual bool isActive ()
 Is the source active? More...
 
virtual label applyToField (const word &fieldName) const
 Return index of field name if found in fieldNames list. More...
 
virtual void checkApplied () const
 Check that the source has been applied. More...
 
virtual void addSup (fvMatrix< scalar > &eqn, const label fieldi)
 
virtual void addSup (fvMatrix< vector > &eqn, const label fieldi)
 
virtual void addSup (fvMatrix< symmTensor > &eqn, const label fieldi)
 
virtual void addSup (fvMatrix< sphericalTensor > &eqn, const label fieldi)
 
virtual void addSup (fvMatrix< tensor > &eqn, const label fieldi)
 
virtual void addSup (const volScalarField &rho, fvMatrix< scalar > &eqn, const label fieldi)
 
virtual void addSup (const volScalarField &rho, fvMatrix< vector > &eqn, const label fieldi)
 
virtual void addSup (const volScalarField &rho, fvMatrix< symmTensor > &eqn, const label fieldi)
 
virtual void addSup (const volScalarField &rho, fvMatrix< sphericalTensor > &eqn, const label fieldi)
 
virtual void addSup (const volScalarField &rho, fvMatrix< tensor > &eqn, const label fieldi)
 
virtual void addSup (const volScalarField &alpha, const volScalarField &rho, fvMatrix< scalar > &eqn, const label fieldi)
 
virtual void addSup (const volScalarField &alpha, const volScalarField &rho, fvMatrix< vector > &eqn, const label fieldi)
 
virtual void addSup (const volScalarField &alpha, const volScalarField &rho, fvMatrix< symmTensor > &eqn, const label fieldi)
 
virtual void addSup (const volScalarField &alpha, const volScalarField &rho, fvMatrix< sphericalTensor > &eqn, const label fieldi)
 
virtual void addSup (const volScalarField &alpha, const volScalarField &rho, fvMatrix< tensor > &eqn, const label fieldi)
 
virtual void constrain (fvMatrix< scalar > &eqn, const label fieldi)
 
virtual void constrain (fvMatrix< vector > &eqn, const label fieldi)
 
virtual void constrain (fvMatrix< sphericalTensor > &eqn, const label fieldi)
 
virtual void constrain (fvMatrix< symmTensor > &eqn, const label fieldi)
 
virtual void constrain (fvMatrix< tensor > &eqn, const label fieldi)
 
virtual void correct (volScalarField &field)
 
virtual void correct (volVectorField &field)
 
virtual void correct (volSphericalTensorField &field)
 
virtual void correct (volSymmTensorField &field)
 
virtual void correct (volTensorField &field)
 
virtual void postProcessSens (scalarField &sensField, const word &fieldName=word::null, const word &designVariablesName=word::null)
 
virtual void postProcessSens (vectorField &sensField, const word &fieldName=word::null, const word &designVariablesName=word::null)
 
virtual void postProcessSens (tensorField &sensField, const word &fieldName=word::null, const word &designVariablesName=word::null)
 
virtual void writeHeader (Ostream &) const
 Write the source header information. More...
 
virtual void writeFooter (Ostream &) const
 Write the source footer information. More...
 
virtual void writeData (Ostream &) const
 Write the source properties. More...
 
virtual bool read (const dictionary &dict)
 Read source dictionary. More...
 

Static Public Attributes

static const Enum< selectionModeTypeselectionModeTypeNames_
 List of selection mode type names. More...
 

Protected Member Functions

void setSelection (const dictionary &dict)
 Set cell selection name or points selection from dictionary input. More...
 
void setCellSelection ()
 Set the cell selection based on user input selection mode. More...
 
void setVol ()
 Recalculate the volume. More...
 
- Protected Member Functions inherited from option
void resetApplied ()
 Resize/reset applied flag list for all fieldNames_ entries. More...
 

Protected Attributes

scalar timeStart_
 Start time of fvOption. More...
 
scalar duration_
 Duration of fvOption execution starting from timeStart. More...
 
selectionModeType selectionMode_
 Cell selection mode. More...
 
wordRe zoneName_
 Name of set/zone for "cellSet" and "cellZone" selectionMode. More...
 
List< pointpoints_
 List of points for "points" selectionMode. More...
 
dictionary geometricSelection_
 Dictionary entries for "geometric" (topoSetCellSource) selection. More...
 
labelList cells_
 Set of cells to apply source to. More...
 
scalar V_
 Sum of cell volumes. More...
 
- Protected Attributes inherited from option
const word name_
 Source name. More...
 
const word modelType_
 Model type. More...
 
const fvMeshmesh_
 Reference to the mesh database. More...
 
dictionary dict_
 Top level source dictionary. More...
 
dictionary coeffs_
 Dictionary containing source coefficients. More...
 
wordList fieldNames_
 Field names to apply source to - populated by derived models. More...
 
List< boolapplied_
 Applied flag list - corresponds to each fieldNames_ entry. More...
 
bool active_
 Source active flag. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from option
static autoPtr< optionNew (const word &name, const dictionary &dict, const fvMesh &mesh)
 Return a reference to the selected fvOption model. More...
 
- Public Attributes inherited from option
bool log
 Switch write log to Info. More...
 

Detailed Description

Intermediate abstract class for handling cell-set options for the derived fvOptions.

Usage
Minimal example by using constant/fvOptions:
<userDefinedName1>
{
    // Mandatory/Optional (inherited) entries
    ...

    // Mandatory entries (unmodifiable)
    selectionMode     all;

    // Optional entries (runtime modifiable)
    timeStart         1.0;

    // Conditional mandatory entries (runtime modifiable)

        // when timeStart entry is present
        duration          1.4;

        // when selectionMode=cellSet
        cellSet           <name>;

        // when selectionMode=cellZone
        cellZone          <name>;

        // when selectionMode=points
        points            (<point1> <point2> ... <pointN>);

        // when selectionMode=geometric
        selection
        {
            box1
            {
                action  use;
                source  box;
                min     (-0.1 -0.01 -0.1);
                max     (0.1 0.30 0.1);
            }
            ball
            {
                action  add;
                source  sphere;
                origin  (-0.1 -0.01 -0.1);
                radius  0.25;
            }
            ...
        }

    // Mandatory/Optional (derived) entries
    ...
}

where the entries mean:

Property Description Type Reqd Dflt
selectionMode Mode of cell selection - see below word yes -
timeStart Start time of fvOption scalar no -1
duration

Duration of fvOption execution

starting from timeStart

scalar cndtnl 0
cellSet Name of operand cellSet word cndtnl -
cellZone Name of operand cellZone word cndtnl -
points

Set of points in global coordinate

system

vectorList cndtnl -
selection Dictionary of geometric selections dict cndtnl -

Options for the selectionMode entry:

      all       | Use all cells in the computational domain
      cellZone  | Use specified cellZone
      cellSet   | Use specified cellSet
      points    | Use cells containing a given set of points
      geometric | Select cells based on topoSetCellSource actions

The inherited entries are elaborated in:

The geometric selection uses topoSetCellSource to select cells. Any searchableSurface selections must describe a closed volume. Ie, its hasVolumeType() method must be true.

Note
  • Source/sink options are to be added to the right-hand side of equations.
See also
Foam::cellBitSet::select
Source files

Definition at line 198 of file cellSetOption.H.

Member Enumeration Documentation

◆ selectionModeType

Enumeration for selection mode types.

Enumerator
smAll 

"all" cells

smCellSet 

"cellSet"

smCellZone 

"cellZone"

smPoints 

"points"

smGeometric 

"geometric"

Definition at line 207 of file cellSetOption.H.

Constructor & Destructor Documentation

◆ cellSetOption()

cellSetOption ( const word name,
const word modelType,
const dictionary dict,
const fvMesh mesh 
)

Construct from components.

Definition at line 244 of file cellSetOption.C.

References option::coeffs_, Foam::decrIndent(), dict, fv(), Foam::incrIndent(), Foam::Info, cellSetOption::read(), cellSetOption::setCellSelection(), cellSetOption::setSelection(), and cellSetOption::setVol().

Here is the call graph for this function:

◆ ~cellSetOption()

virtual ~cellSetOption ( )
virtualdefault

Destructor.

Member Function Documentation

◆ setSelection()

void setSelection ( const dictionary dict)
protected

Set cell selection name or points selection from dictionary input.

Definition at line 61 of file cellSetOption.C.

References dict, Foam::exit(), Foam::FatalError, FatalErrorInFunction, cellSetOption::geometricSelection_, cellSetOption::points_, dictionary::readEntry(), cellSetOption::selectionMode_, cellSetOption::selectionModeTypeNames_, cellSetOption::smAll, cellSetOption::smCellSet, cellSetOption::smCellZone, cellSetOption::smGeometric, cellSetOption::smPoints, dictionary::subDict(), and cellSetOption::zoneName_.

Referenced by cellSetOption::cellSetOption().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ setCellSelection()

void setCellSelection ( )
protected

Set the cell selection based on user input selection mode.

Definition at line 129 of file cellSetOption.C.

References Foam::endl(), Foam::exit(), Foam::FatalError, FatalErrorInFunction, Foam::flatOutput(), found, Foam::identity(), Foam::indent(), Foam::Info, HashSet< Key, Hash >::insert(), Foam::nl, p, Foam::returnReduce(), cellBitSet::select(), bitSet::sortedToc(), HashTable< T, Key, Hash >::sortedToc(), WarningInFunction, and zoneIDs.

Referenced by cellSetOption::cellSetOption().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ setVol()

void setVol ( )
protected

Recalculate the volume.

Definition at line 102 of file cellSetOption.C.

References IOstream::defaultPrecision(), Foam::endl(), Foam::indent(), Foam::Info, Foam::reduce(), Foam::returnReduce(), and Time::timeName().

Referenced by cellSetOption::cellSetOption().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ TypeName()

TypeName ( "cellSetOption"  )

Runtime type information.

◆ timeStart() [1/2]

Foam::scalar timeStart ( ) const
inlinenoexcept

Return const access to the time start.

Definition at line 31 of file cellSetOptionI.H.

References cellSetOption::timeStart_.

◆ duration() [1/2]

Foam::scalar duration ( ) const
inlinenoexcept

Return const access to the duration.

Definition at line 37 of file cellSetOptionI.H.

◆ inTimeLimits()

bool inTimeLimits ( const scalar  timeValue) const
inline

True if within time limits.

Definition at line 43 of file cellSetOptionI.H.

◆ selectionMode()

Foam::fv::cellSetOption::selectionModeType selectionMode ( ) const
inlinenoexcept

Return the cell selection mode.

Definition at line 58 of file cellSetOptionI.H.

Referenced by rotorDiskSource::checkData().

Here is the caller graph for this function:

◆ useSubMesh()

bool useSubMesh ( ) const
inlinenoexcept

True if sub-selection should be used.

Definition at line 64 of file cellSetOptionI.H.

Referenced by limitTemperature::correct(), and limitVelocity::correct().

Here is the caller graph for this function:

◆ zoneName()

const wordRe & zoneName ( ) const
inlinenoexcept

Return const access to the name of cell set/zone for "cellSet" / "cellZone" selection modes

Definition at line 304 of file cellSetOption.H.

References cellSetOption::zoneName_.

Referenced by explicitPorositySource::explicitPorositySource().

Here is the caller graph for this function:

◆ V()

Foam::scalar V ( ) const
inlinenoexcept

Return const access to the total cell volume.

Definition at line 70 of file cellSetOptionI.H.

Referenced by rotorDiskSource::calculate().

Here is the caller graph for this function:

◆ cells()

const Foam::labelList & cells ( ) const
inlinenoexcept

Return const access to the cell selection.

Definition at line 76 of file cellSetOptionI.H.

Referenced by targetCoeffTrim::calcCoeffs().

Here is the caller graph for this function:

◆ timeStart() [2/2]

Foam::scalar timeStart ( scalar  val)
inlinenoexcept

Adjust the time start, return the old value.

Definition at line 82 of file cellSetOptionI.H.

◆ duration() [2/2]

Foam::scalar duration ( scalar  val)
inlinenoexcept

Adjust the duration, return the old value.

Definition at line 90 of file cellSetOptionI.H.

◆ isActive()

bool isActive ( )
virtual

Is the source active?

Reimplemented from option.

Definition at line 272 of file cellSetOption.C.

References option::isActive().

Here is the call graph for this function:

◆ read()

bool read ( const dictionary dict)
virtual

Read source dictionary.

Reimplemented from option.

Reimplemented in VoFSolidificationMeltingSource, atmAmbientTurbSource, atmBuoyancyTurbSource, atmCoriolisUSource, atmLengthScaleTurbSource, atmNutSource, atmPlantCanopyTSource, atmPlantCanopyTurbSource, atmPlantCanopyUSource, fixedTemperatureConstraint, velocityDampingConstraint, FixedValueConstraint< Type >, limitTemperature, limitVelocity, acousticDampingSource, actuationDiskSource, buoyancyTurbSource, directionalPressureGradientExplicitSource, effectivenessHeatExchangerSource, explicitPorositySource, meanVelocityForce, radialActuationDiskSource, rotorDiskSource, solidificationMeltingSource, CodedSource< Type >, and SemiImplicitSource< Type >.

Definition at line 306 of file cellSetOption.C.

References dict, and kEpsilonLopesdaCosta< BasicTurbulenceModel >::read().

Referenced by cellSetOption::cellSetOption().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ cellSetName()

const word & cellSetName ( ) const
inlinenoexcept

The name of the cell set/zone [as a word] for "cellSet" / "cellZone" selection modes)

Definition at line 338 of file cellSetOption.H.

References cellSetOption::zoneName_.

Member Data Documentation

◆ selectionModeTypeNames_

const Foam::Enum< Foam::fv::cellSetOption::selectionModeType > selectionModeTypeNames_
static

List of selection mode type names.

Definition at line 217 of file cellSetOption.H.

Referenced by rotorDiskSource::checkData(), and cellSetOption::setSelection().

◆ timeStart_

scalar timeStart_
protected

Start time of fvOption.

Definition at line 225 of file cellSetOption.H.

Referenced by cellSetOption::timeStart().

◆ duration_

scalar duration_
protected

Duration of fvOption execution starting from timeStart.

Definition at line 228 of file cellSetOption.H.

◆ selectionMode_

selectionModeType selectionMode_
protected

Cell selection mode.

Definition at line 231 of file cellSetOption.H.

Referenced by cellSetOption::setSelection().

◆ zoneName_

wordRe zoneName_
protected

Name of set/zone for "cellSet" and "cellZone" selectionMode.

Definition at line 234 of file cellSetOption.H.

Referenced by cellSetOption::cellSetName(), cellSetOption::setSelection(), and cellSetOption::zoneName().

◆ points_

List<point> points_
protected

List of points for "points" selectionMode.

Definition at line 237 of file cellSetOption.H.

Referenced by cellSetOption::setSelection().

◆ geometricSelection_

dictionary geometricSelection_
protected

Dictionary entries for "geometric" (topoSetCellSource) selection.

Definition at line 240 of file cellSetOption.H.

Referenced by cellSetOption::setSelection().

◆ cells_

labelList cells_
protected

Set of cells to apply source to.

Definition at line 243 of file cellSetOption.H.

Referenced by velocityDampingConstraint::addDamping(), rotorDiskSource::calculate(), and acousticDampingSource::setBlendingFactor().

◆ V_

scalar V_
protected

Sum of cell volumes.

Definition at line 246 of file cellSetOption.H.


The documentation for this class was generated from the following files: