cellSetOption Class Reference

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

Inheritance diagram for cellSetOption:
Collaboration diagram for cellSetOption:

Public Types

enum  selectionModeType : char {
  smAll, smCellSet, smCellZone, smPoints,
  smMovingPoints, smGeometric, smCellType
}
 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...
 
bool useSubMesh () const noexcept
 True if sub-selection should be used. More...
 
selectionModeType selectionMode () const noexcept
 Return the cell selection mode. More...
 
const wordResselectionNames () const noexcept
 Return const access to the selection names (set or zone selection) More...
 
const wordRezoneName () const
 Return const access to the first set/zone name. More...
 
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...
 
bool isSelectionUpdated () const noexcept
 Return flag for selection updates. 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
 The name of the cell set/zone [as a word] for "cellSet" / "cellZone" selection modes) More...
 
- 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 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 correct (surfaceScalarField &field)
 
virtual void correct (surfaceVectorField &field)
 
virtual void correct (surfaceTensorField &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 postProcessAuxSens (const volScalarField &primalField, const volScalarField &adjointField, scalarField &sensField, const word &fieldName=word::null)
 
virtual void postProcessAuxSens (const volVectorField &primalField, const volVectorField &adjointField, scalarField &sensField, const word &fieldName=word::null)
 
virtual void postProcessAuxSens (const volTensorField &primalField, const volTensorField &adjointField, scalarField &sensField, const word &fieldName=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...
 

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

selectionModeType selectionMode_
 Cell selection mode. More...
 
bool updateSelection_
 Flag to enable dictionary-based updates of selections. More...
 
scalar timeStart_
 Start time of fvOption. More...
 
scalar duration_
 Duration of fvOption execution starting from timeStart. More...
 
wordRes selectionNames_
 Face selection names (for set or zone selections) More...
 
List< pointpoints_
 List of points for "points" selectionMode. More...
 
PtrList< Function1< point > > movingPoints_
 List of points for "movingPoints" 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< bool > applied_
 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:
fvOption1
{
    // Mandatory entries
    selectionMode     <word>;

    // Optional entries
    timeStart         <scalar>;
    updateSelection   <bool>;

    // Conditional entries

        // when timeStart entry is present
        duration          <scalar>;

        // when selectionMode=cellSet
        cellSet           <word>;

        // when selectionMode=cellZone
        cellZone          <word>;

        //OR: cellZones   (<word> ...);

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

        // when selectionMode=movingPoints
        movingPoints
        (
            <word>        <Function1<vector>>;
            // e.g.
            point1        <Function1<vector>>;
            pointN        <Function1<vector>>;
            ...
        );

        // when selectionMode=geometric
        selection
        {
            topoSet1      <dictionary>;

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

    // Inherited entries
    ...
}

where the entries mean:

Property Description Type Reqd Deflt
selectionMode Mode of cell selection - see below word yes -
timeStart Start time of fvOption scalar no -1
updateSelection Flag to enable selection updates bool no false
duration Duration of fvOption execution starting from timeStart scalar choice 0
cellSet Name of operand cellSet word choice -
cellZone Name of operand cellZone wordRe choice -
cellZones Name of operand cellZones wordRes choice -
points Set of points in global coordinate system vectorList choice -
movingPoints Set of moving points in global coordinate system Function1<vector> choice -
selection Dictionary of geometric selections dict choice -

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
      movingPoints | Use cells containing a given set of moving points
      geometric | Select cells based on topoSetCellSource actions

The inherited entries are elaborated in:

Note
  • Source/sink options are to be added to the right-hand side of equations.
  • The geometric selection uses topoSetCellSource to select cells. Any searchableSurface selections must describe a closed volume. Ie, its hasVolumeType() method must be true.
See also
Foam::cellBitSet::select
Source files

Definition at line 232 of file cellSetOption.H.

Member Enumeration Documentation

◆ selectionModeType

enum selectionModeType : char

Enumeration for selection mode types.

Enumerator
smAll 

"all" cells

smCellSet 

"cellSet"

smCellZone 

"cellZone"

smPoints 

"points"

smMovingPoints 

"movingPoints"

smGeometric 

"geometric"

smCellType 

"overset type cells"

Definition at line 243 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 347 of file cellSetOption.C.

References Foam::decrIndent(), dict, Foam::incrIndent(), Foam::Info, and Foam::read().

Here is the call graph for this function:

◆ ~cellSetOption()

virtual ~cellSetOption ( )
virtualdefault

Destructor.

Member Function Documentation

◆ setSelection()

◆ setCellSelection()

◆ setVol()

void setVol ( )
protected

Recalculate the volume.

Definition at line 138 of file cellSetOption.C.

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

Here is the call 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 24 of file cellSetOptionI.H.

References cellSetOption::timeStart_.

◆ duration() [1/2]

Foam::scalar duration ( ) const
inlinenoexcept

Return const access to the duration.

Definition at line 30 of file cellSetOptionI.H.

◆ inTimeLimits()

bool inTimeLimits ( const scalar  timeValue) const
inline

True if within time limits.

Definition at line 36 of file cellSetOptionI.H.

◆ useSubMesh()

bool useSubMesh ( ) const
inlinenoexcept

True if sub-selection should be used.

Definition at line 50 of file cellSetOptionI.H.

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

Here is the caller graph for this function:

◆ selectionMode()

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

Return the cell selection mode.

Definition at line 57 of file cellSetOptionI.H.

◆ selectionNames()

const Foam::wordRes & selectionNames ( ) const
inlinenoexcept

Return const access to the selection names (set or zone selection)

Definition at line 64 of file cellSetOptionI.H.

◆ zoneName()

const Foam::wordRe & zoneName ( ) const
inline

Return const access to the first set/zone name.

Definition at line 70 of file cellSetOptionI.H.

References wordRe::null.

Referenced by cellSetOption::cellSetName().

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 76 of file cellSetOptionI.H.

◆ cells()

const Foam::labelList & cells ( ) const
inlinenoexcept

Return const access to the cell selection.

Definition at line 82 of file cellSetOptionI.H.

◆ isSelectionUpdated()

bool isSelectionUpdated ( ) const
inlinenoexcept

Return flag for selection updates.

Definition at line 414 of file cellSetOption.H.

References cellSetOption::updateSelection_.

◆ timeStart() [2/2]

Foam::scalar timeStart ( scalar  val)
inlinenoexcept

Adjust the time start, return the old value.

Definition at line 88 of file cellSetOptionI.H.

◆ duration() [2/2]

Foam::scalar duration ( scalar  val)
inlinenoexcept

Adjust the duration, return the old value.

Definition at line 96 of file cellSetOptionI.H.

◆ isActive()

bool isActive ( )
virtual

Is the source active?

Reimplemented from option.

Definition at line 376 of file cellSetOption.C.

References option::isActive().

Here is the call graph for this function:

◆ read()

◆ cellSetName()

const word& cellSetName ( ) const
inline

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

Definition at line 455 of file cellSetOption.H.

References cellSetOption::zoneName().

Here is the call graph for this function:

Member Data Documentation

◆ selectionModeTypeNames_

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

List of selection mode type names.

Definition at line 257 of file cellSetOption.H.

Referenced by cellSetOption::setSelection().

◆ selectionMode_

selectionModeType selectionMode_
protected

Cell selection mode.

Definition at line 267 of file cellSetOption.H.

Referenced by cellSetOption::setSelection().

◆ updateSelection_

bool updateSelection_
protected

Flag to enable dictionary-based updates of selections.

Definition at line 272 of file cellSetOption.H.

Referenced by cellSetOption::isSelectionUpdated().

◆ timeStart_

scalar timeStart_
protected

Start time of fvOption.

Definition at line 277 of file cellSetOption.H.

Referenced by cellSetOption::timeStart().

◆ duration_

scalar duration_
protected

Duration of fvOption execution starting from timeStart.

Definition at line 282 of file cellSetOption.H.

◆ selectionNames_

wordRes selectionNames_
protected

Face selection names (for set or zone selections)

Definition at line 287 of file cellSetOption.H.

Referenced by cellSetOption::setSelection().

◆ points_

List<point> points_
protected

List of points for "points" selectionMode.

Definition at line 292 of file cellSetOption.H.

Referenced by cellSetOption::setSelection().

◆ movingPoints_

PtrList<Function1<point> > movingPoints_
protected

List of points for "movingPoints" selectionMode.

Definition at line 297 of file cellSetOption.H.

Referenced by cellSetOption::setSelection().

◆ geometricSelection_

dictionary geometricSelection_
protected

Dictionary entries for "geometric" (topoSetCellSource) selection.

Definition at line 302 of file cellSetOption.H.

Referenced by cellSetOption::setSelection().

◆ cells_

labelList cells_
protected

Set of cells to apply source to.

Definition at line 307 of file cellSetOption.H.

Referenced by velocityDampingConstraint::addDamping(), meanVelocityForce::correct(), and acousticDampingSource::setBlendingFactor().

◆ V_

scalar V_
protected

Sum of cell volumes.

Definition at line 312 of file cellSetOption.H.

Referenced by meanVelocityForce::correct().


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