Loading...
Searching...
No Matches
cellSetOption Class Reference

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

#include <cellSetOption.H>

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.
 cellSetOption (const word &name, const word &modelType, const dictionary &dict, const fvMesh &mesh)
 Construct from components.
virtual ~cellSetOption ()=default
 Destructor.
scalar timeStart () const noexcept
 Return const access to the time start.
scalar duration () const noexcept
 Return const access to the duration.
bool inTimeLimits (const scalar timeValue) const
 True if within time limits.
bool useSubMesh () const noexcept
 True if sub-selection should be used.
selectionModeType selectionMode () const noexcept
 Return the cell selection mode.
const wordResselectionNames () const noexcept
 Return const access to the selection names (set or zone selection).
const wordRezoneName () const
 Return const access to the first set/zone name.
scalar V () const noexcept
 Return const access to the total cell volume.
const labelListcells () const noexcept
 Return const access to the cell selection.
bool isSelectionUpdated () const noexcept
 Return flag for selection updates.
scalar timeStart (scalar val) noexcept
 Adjust the time start, return the old value.
scalar duration (scalar val) noexcept
 Adjust the duration, return the old value.
virtual bool isActive ()
 Is the source active?
virtual bool read (const dictionary &dict)
 Read source dictionary.
const wordcellSetName () const
 The name of the cell set/zone [as a word] for "cellSet" / "cellZone" selection modes).
Public Member Functions inherited from option
 TypeName ("option")
 Runtime type information.
 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.
autoPtr< optionclone () const
 Return clone.
virtual ~option ()=default
 Destructor.
const wordname () const noexcept
 Return const access to the source name.
const fvMeshmesh () const noexcept
 Return const access to the mesh database.
const dictionarycoeffs () const noexcept
 Return dictionary.
bool active () const noexcept
 True if source is active.
void setApplied (const label fieldi)
 Set the applied flag to true for field index fieldi.
bool active (const bool on) noexcept
 Change source active flag, return previous value.
virtual label applyToField (const word &fieldName) const
 Return index of field name if found in fieldNames list.
virtual void checkApplied () const
 Check that the source has been applied.
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.
virtual void writeFooter (Ostream &) const
 Write the source footer information.
virtual void writeData (Ostream &) const
 Write the source properties.

Static Public Attributes

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

Protected Member Functions

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

Protected Attributes

selectionModeType selectionMode_
 Cell selection mode.
bool updateSelection_
 Flag to enable dictionary-based updates of selections.
scalar timeStart_
 Start time of fvOption.
scalar duration_
 Duration of fvOption execution starting from timeStart.
wordRes selectionNames_
 Face selection names (for set or zone selections).
List< pointpoints_
 List of points for "points" selectionMode.
PtrList< Function1< point > > movingPoints_
 List of points for "movingPoints" selectionMode.
dictionary geometricSelection_
 Dictionary entries for "geometric" (topoSetCellSource) selection.
labelList cells_
 Set of cells to apply source to.
scalar V_
 Sum of cell volumes.
Protected Attributes inherited from option
const word name_
 Source name.
const word modelType_
 Model type.
const fvMeshmesh_
 Reference to the mesh database.
dictionary dict_
 Top level source dictionary.
dictionary coeffs_
 Dictionary containing source coefficients.
wordList fieldNames_
 Field names to apply source to - populated by derived models.
List< bool > applied_
 Applied flag list - corresponds to each fieldNames_ entry.
bool active_
 Source active flag.

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.
Public Attributes inherited from option
bool log
 Switch write log to Info.

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
      cellType  | For overset only : use cells of type 'porous

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 233 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 244 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 346 of file cellSetOption.C.

References option::coeffs_, Foam::decrIndent(), dict, duration_, geometricSelection_, Foam::incrIndent(), Foam::Info, option::mesh(), movingPoints_, option::name(), option::option(), points_, read(), selectionMode_, selectionModeTypeNames_, selectionNames_, setCellSelection(), setSelection(), setVol(), timeStart_, updateSelection_, and V_.

Referenced by acousticDampingSource::acousticDampingSource(), actuationDiskSource::actuationDiskSource(), atmAmbientTurbSource::atmAmbientTurbSource(), atmBuoyancyTurbSource::atmBuoyancyTurbSource(), atmCoriolisUSource::atmCoriolisUSource(), atmLengthScaleTurbSource::atmLengthScaleTurbSource(), atmNutSource::atmNutSource(), atmPlantCanopyTSource::atmPlantCanopyTSource(), atmPlantCanopyTurbSource::atmPlantCanopyTurbSource(), atmPlantCanopyUSource::atmPlantCanopyUSource(), buoyancyTurbSource::buoyancyTurbSource(), CodedSource< Type >::CodedSource(), directionalPressureGradientExplicitSource::directionalPressureGradientExplicitSource(), explicitPorositySource::explicitPorositySource(), fanMomentumSource::fanMomentumSource(), fixedTemperatureConstraint::fixedTemperatureConstraint(), FixedValueConstraint< Type >::FixedValueConstraint(), heatExchangerSource::heatExchangerSource(), limitTemperature::limitTemperature(), limitTurbulenceViscosity::limitTurbulenceViscosity(), limitVelocity::limitVelocity(), meanVelocityForce::meanVelocityForce(), rotorDiskSource::rotorDiskSource(), SemiImplicitSource< Type >::SemiImplicitSource(), solidificationMeltingSource::solidificationMeltingSource(), and velocityDampingConstraint::velocityDampingConstraint().

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

◆ ~cellSetOption()

virtual ~cellSetOption ( )
virtualdefault

Destructor.

References cells(), duration(), inTimeLimits(), Foam::noexcept, selectionMode(), selectionNames(), useSubMesh(), V(), and zoneName().

Here is the call graph for this function:

Member Function Documentation

◆ setSelection()

void setSelection ( const dictionary & dict)
protected

Set cell selection name or points selection from dictionary input.

Definition at line 57 of file cellSetOption.C.

References dict, Foam::exit(), Foam::FatalError, FatalErrorInFunction, geometricSelection_, option::mesh_, movingPoints_, points_, selectionMode_, selectionModeTypeNames_, selectionNames_, DLListBase::size(), smAll, smCellSet, smCellType, smCellZone, smGeometric, smMovingPoints, and smPoints.

Referenced by cellSetOption(), and read().

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

◆ setCellSelection()

◆ setVol()

void setVol ( )
protected

Recalculate the volume.

Definition at line 138 of file cellSetOption.C.

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

Referenced by cellSetOption(), isActive(), and read().

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

◆ TypeName()

TypeName ( "cellSetOption" )

Runtime type information.

References dict, option::mesh(), and option::name().

Here is the call graph for this function:

◆ timeStart() [1/2]

Foam::scalar timeStart ( ) const
inlinenoexcept

Return const access to the time start.

Definition at line 24 of file cellSetOptionI.H.

References Foam::noexcept, and timeStart_.

◆ duration() [1/2]

Foam::scalar duration ( ) const
inlinenoexcept

Return const access to the duration.

Definition at line 30 of file cellSetOptionI.H.

References duration_, and Foam::noexcept.

Referenced by ~cellSetOption().

Here is the caller graph for this function:

◆ inTimeLimits()

bool inTimeLimits ( const scalar timeValue) const
inline

True if within time limits.

Definition at line 36 of file cellSetOptionI.H.

References duration_, option::mesh_, and timeStart_.

Referenced by isActive(), and ~cellSetOption().

Here is the caller graph for this function:

◆ useSubMesh()

bool useSubMesh ( ) const
inlinenoexcept

True if sub-selection should be used.

Definition at line 50 of file cellSetOptionI.H.

References Foam::noexcept, selectionMode_, and smAll.

Referenced by SemiImplicitSource< Type >::addSup(), limitTemperature::correct(), limitTurbulenceViscosity::correct(), limitVelocity::correct(), and ~cellSetOption().

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.

References Foam::noexcept, and selectionMode_.

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

Here is the caller graph for this function:

◆ 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.

References Foam::noexcept, and selectionNames_.

Referenced by ~cellSetOption().

Here is the caller graph for this function:

◆ 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, and selectionNames_.

Referenced by cellSetName(), directionalPressureGradientExplicitSource::correct(), explicitPorositySource::explicitPorositySource(), setCellSelection(), and ~cellSetOption().

Here is the caller graph for this function:

◆ V()

Foam::scalar V ( ) const
inlinenoexcept

◆ cells()

const Foam::labelList & cells ( ) const
inlinenoexcept

Return const access to the cell selection.

Definition at line 82 of file cellSetOptionI.H.

References cells_, and Foam::noexcept.

Referenced by ~cellSetOption().

Here is the caller graph for this function:

◆ isSelectionUpdated()

bool isSelectionUpdated ( ) const
inlinenoexcept

Return flag for selection updates.

Definition at line 415 of file cellSetOption.H.

References isSelectionUpdated(), Foam::noexcept, and updateSelection_.

Referenced by isSelectionUpdated().

Here is the call graph for this function:
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 88 of file cellSetOptionI.H.

References timeStart_.

◆ duration() [2/2]

Foam::scalar duration ( scalar val)
inlinenoexcept

Adjust the duration, return the old value.

Definition at line 96 of file cellSetOptionI.H.

References duration_.

◆ isActive()

bool isActive ( )
virtual

Is the source active?

Reimplemented from option.

Definition at line 376 of file cellSetOption.C.

References inTimeLimits(), option::isActive(), option::mesh_, selectionMode_, setCellSelection(), setVol(), smCellType, smGeometric, smMovingPoints, smPoints, and V_.

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

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

◆ read()

bool read ( const dictionary & dict)
virtual

Read source dictionary.

Reimplemented from option.

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

Definition at line 422 of file cellSetOption.C.

References option::coeffs_, dict, duration_, option::read(), setCellSelection(), setSelection(), setVol(), timeStart_, and updateSelection_.

Referenced by cellSetOption(), acousticDampingSource::read(), actuationDiskSource::read(), atmPlantCanopyTurbSource::read(), atmPlantCanopyUSource::read(), CodedSource< Type >::read(), explicitPorositySource::read(), fixedTemperatureConstraint::read(), FixedValueConstraint< Type >::read(), heatExchangerSource::read(), limitTemperature::read(), limitTurbulenceViscosity::read(), limitVelocity::read(), rotorDiskSource::read(), SemiImplicitSource< Type >::read(), solidificationMeltingSource::read(), and velocityDampingConstraint::read().

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

◆ cellSetName()

const word & cellSetName ( ) const
inline

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

Definition at line 456 of file cellSetOption.H.

References 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 258 of file cellSetOption.H.

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

◆ selectionMode_

selectionModeType selectionMode_
protected

Cell selection mode.

Definition at line 268 of file cellSetOption.H.

Referenced by cellSetOption(), isActive(), selectionMode(), setCellSelection(), setSelection(), and useSubMesh().

◆ updateSelection_

bool updateSelection_
protected

Flag to enable dictionary-based updates of selections.

Definition at line 273 of file cellSetOption.H.

Referenced by cellSetOption(), isSelectionUpdated(), and read().

◆ timeStart_

scalar timeStart_
protected

Start time of fvOption.

Definition at line 278 of file cellSetOption.H.

Referenced by cellSetOption(), inTimeLimits(), read(), timeStart(), and timeStart().

◆ duration_

scalar duration_
protected

Duration of fvOption execution starting from timeStart.

Definition at line 283 of file cellSetOption.H.

Referenced by cellSetOption(), duration(), duration(), inTimeLimits(), and read().

◆ selectionNames_

wordRes selectionNames_
protected

Face selection names (for set or zone selections).

Definition at line 288 of file cellSetOption.H.

Referenced by cellSetOption(), selectionNames(), setCellSelection(), setSelection(), and zoneName().

◆ points_

List<point> points_
protected

List of points for "points" selectionMode.

Definition at line 293 of file cellSetOption.H.

Referenced by cellSetOption(), setCellSelection(), and setSelection().

◆ movingPoints_

PtrList<Function1<point> > movingPoints_
protected

List of points for "movingPoints" selectionMode.

Definition at line 298 of file cellSetOption.H.

Referenced by cellSetOption(), setCellSelection(), and setSelection().

◆ geometricSelection_

dictionary geometricSelection_
protected

Dictionary entries for "geometric" (topoSetCellSource) selection.

Definition at line 303 of file cellSetOption.H.

Referenced by cellSetOption(), setCellSelection(), and setSelection().

◆ cells_

◆ V_


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