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


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 wordRes & | selectionNames () const noexcept |
| Return const access to the selection names (set or zone selection) More... | |
| const wordRe & | zoneName () 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 labelList & | cells () 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 word & | cellSetName () 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< option > | clone () const |
| Return clone. More... | |
| virtual | ~option ()=default |
| Destructor. More... | |
| const word & | name () const noexcept |
| Return const access to the source name. More... | |
| const fvMesh & | mesh () const noexcept |
| Return const access to the mesh database. More... | |
| const dictionary & | coeffs () 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< selectionModeType > | selectionModeTypeNames_ |
| 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< point > | points_ |
| 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 fvMesh & | mesh_ |
| 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< option > | New (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... | |
Intermediate abstract class for handling cell-set options for the derived fvOptions.
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 actionsThe inherited entries are elaborated in:
topoSetCellSource to select cells. Any searchableSurface selections must describe a closed volume. Ie, its hasVolumeType() method must be true.Definition at line 232 of file cellSetOption.H.
| 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.
| 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().

|
virtualdefault |
Destructor.
|
protected |
Set cell selection name or points selection from dictionary input.
Definition at line 57 of file cellSetOption.C.
References List< T >::clear(), dict, UList< T >::empty(), Foam::exit(), Foam::FatalError, FatalErrorInFunction, UList< T >::first(), cellSetOption::geometricSelection_, Foam::glTF::key(), option::mesh_, cellSetOption::movingPoints_, cellSetOption::points_, List< T >::resize(), cellSetOption::selectionMode_, cellSetOption::selectionModeTypeNames_, cellSetOption::selectionNames_, cellSetOption::smAll, cellSetOption::smCellSet, cellSetOption::smCellType, cellSetOption::smCellZone, cellSetOption::smGeometric, cellSetOption::smMovingPoints, and cellSetOption::smPoints.

|
protected |
Set the cell selection based on user input selection mode.
Definition at line 166 of file cellSetOption.C.
References cellTypes, Foam::endl(), Foam::exit(), Foam::FatalError, FatalErrorInFunction, Foam::flatOutput(), forAll, found, Foam::identity(), Foam::indent(), Foam::Info, HashSet< Key, Hash >::insert(), UPstream::myProcNo(), MeshObject< Mesh, MeshObjectType, Type >::New(), Foam::nl, overlap, p, cellCellStencil::POROUS, Foam::reduce(), Foam::returnReduceAnd(), Foam::returnReduceOr(), cellBitSet::select(), bitSet::sortedToc(), HashTable< T, Key, Hash >::sortedToc(), WarningInFunction, and zoneIDs.

|
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().

| TypeName | ( | "cellSetOption" | ) |
Runtime type information.
|
inlinenoexcept |
Return const access to the time start.
Definition at line 24 of file cellSetOptionI.H.
References cellSetOption::timeStart_.
|
inlinenoexcept |
Return const access to the duration.
Definition at line 30 of file cellSetOptionI.H.
|
inline |
True if within time limits.
Definition at line 36 of file cellSetOptionI.H.
|
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().

|
inlinenoexcept |
Return the cell selection mode.
Definition at line 57 of file cellSetOptionI.H.
|
inlinenoexcept |
Return const access to the selection names (set or zone selection)
Definition at line 64 of file cellSetOptionI.H.
|
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().

|
inlinenoexcept |
Return const access to the total cell volume.
Definition at line 76 of file cellSetOptionI.H.
|
inlinenoexcept |
Return const access to the cell selection.
Definition at line 82 of file cellSetOptionI.H.
|
inlinenoexcept |
Return flag for selection updates.
Definition at line 414 of file cellSetOption.H.
References cellSetOption::updateSelection_.
|
inlinenoexcept |
Adjust the time start, return the old value.
Definition at line 88 of file cellSetOptionI.H.
|
inlinenoexcept |
Adjust the duration, return the old value.
Definition at line 96 of file cellSetOptionI.H.
|
virtual |
Is the source active?
Reimplemented from option.
Definition at line 376 of file cellSetOption.C.
References option::isActive().

|
virtual |
Read source dictionary.
Reimplemented from option.
Reimplemented in rotorDiskSource, actuationDiskSource, solidificationMeltingSource, directionalPressureGradientExplicitSource, buoyancyTurbSource, SemiImplicitSource< Type >, atmBuoyancyTurbSource, fanMomentumSource, atmLengthScaleTurbSource, atmAmbientTurbSource, acousticDampingSource, CodedSource< Type >, atmCoriolisUSource, meanVelocityForce, atmPlantCanopyTurbSource, VoFSolidificationMeltingSource, explicitPorositySource, velocityDampingConstraint, heatExchangerSource, radialActuationDiskSource, fixedTemperatureConstraint, atmPlantCanopyUSource, atmPlantCanopyTSource, limitTemperature, limitTurbulenceViscosity, limitVelocity, FixedValueConstraint< Type >, and atmNutSource.
Definition at line 418 of file cellSetOption.C.
References dict, and option::read().
Referenced by limitVelocity::read(), limitTurbulenceViscosity::read(), limitTemperature::read(), atmPlantCanopyUSource::read(), fixedTemperatureConstraint::read(), velocityDampingConstraint::read(), heatExchangerSource::read(), explicitPorositySource::read(), atmPlantCanopyTurbSource::read(), acousticDampingSource::read(), solidificationMeltingSource::read(), actuationDiskSource::read(), and rotorDiskSource::read().


|
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().

|
static |
List of selection mode type names.
Definition at line 257 of file cellSetOption.H.
Referenced by cellSetOption::setSelection().
|
protected |
Cell selection mode.
Definition at line 267 of file cellSetOption.H.
Referenced by cellSetOption::setSelection().
|
protected |
Flag to enable dictionary-based updates of selections.
Definition at line 272 of file cellSetOption.H.
Referenced by cellSetOption::isSelectionUpdated().
|
protected |
Start time of fvOption.
Definition at line 277 of file cellSetOption.H.
Referenced by cellSetOption::timeStart().
|
protected |
Duration of fvOption execution starting from timeStart.
Definition at line 282 of file cellSetOption.H.
|
protected |
Face selection names (for set or zone selections)
Definition at line 287 of file cellSetOption.H.
Referenced by cellSetOption::setSelection().
List of points for "points" selectionMode.
Definition at line 292 of file cellSetOption.H.
Referenced by cellSetOption::setSelection().
List of points for "movingPoints" selectionMode.
Definition at line 297 of file cellSetOption.H.
Referenced by cellSetOption::setSelection().
|
protected |
Dictionary entries for "geometric" (topoSetCellSource) selection.
Definition at line 302 of file cellSetOption.H.
Referenced by cellSetOption::setSelection().
|
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().
|
protected |
Sum of cell volumes.
Definition at line 312 of file cellSetOption.H.
Referenced by meanVelocityForce::correct().