Intermediate abstract class for handling cell-set options for the derived fvOptions. More...
#include <cellSetOption.H>


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 wordRes & | selectionNames () const noexcept |
| Return const access to the selection names (set or zone selection). | |
| const wordRe & | zoneName () const |
| Return const access to the first set/zone name. | |
| scalar | V () const noexcept |
| Return const access to the total cell volume. | |
| const labelList & | cells () 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 word & | cellSetName () 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< option > | clone () const |
| Return clone. | |
| virtual | ~option ()=default |
| Destructor. | |
| const word & | name () const noexcept |
| Return const access to the source name. | |
| const fvMesh & | mesh () const noexcept |
| Return const access to the mesh database. | |
| const dictionary & | coeffs () 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< selectionModeType > | selectionModeTypeNames_ |
| 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< point > | points_ |
| 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 fvMesh & | mesh_ |
| 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< option > | New (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. | |
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 actions
cellType | For overset only : use cells of type 'porous
The 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 233 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 244 of file cellSetOption.H.
| 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().


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

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


|
protected |
Set the cell selection based on user input selection mode.
Definition at line 166 of file cellSetOption.C.
References cells_, cellTypes, Foam::endl(), Foam::exit(), Foam::FatalError, FatalErrorInFunction, Foam::flatOutput(), forAll, found, geometricSelection_, Foam::identity(), Foam::indent(), Foam::Info, HashSet< Key, Hash >::insert(), option::mesh_, movingPoints_, UPstream::myProcNo(), MeshObject< fvMesh, MoveableMeshObject, cellCellStencilObject >::New(), Foam::nl, overlap, p, points_, cellCellStencil::POROUS, Foam::reduce(), Foam::returnReduceAnd(), Foam::returnReduceOr(), cellBitSet::select(), selectionMode_, selectionModeTypeNames_, selectionNames_, smAll, smCellSet, smCellType, smCellZone, smGeometric, smMovingPoints, smPoints, bitSet::sortedToc(), HashTable< T, Key, Hash >::sortedToc(), WarningInFunction, zoneIDs, and zoneName().
Referenced by cellSetOption(), isActive(), and read().


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


| TypeName | ( | "cellSetOption" | ) |
Runtime type information.
References dict, option::mesh(), and option::name().

|
inlinenoexcept |
Return const access to the time start.
Definition at line 24 of file cellSetOptionI.H.
References Foam::noexcept, and timeStart_.
|
inlinenoexcept |
Return const access to the duration.
Definition at line 30 of file cellSetOptionI.H.
References duration_, and Foam::noexcept.
Referenced by ~cellSetOption().

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

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

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

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

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

|
inlinenoexcept |
Return const access to the total cell volume.
Definition at line 76 of file cellSetOptionI.H.
References Foam::noexcept, and V_.
Referenced by actuationDiskSource::addSup(), actuationDiskSource::addSup(), actuationDiskSource::addSup(), heatExchangerSource::addSup(), solidificationMeltingSource::addSup(), rotorDiskSource::calculate(), rotorDiskSource::createCoordinateSystem(), and ~cellSetOption().

|
inlinenoexcept |
Return const access to the cell selection.
Definition at line 82 of file cellSetOptionI.H.
References cells_, and Foam::noexcept.
Referenced by ~cellSetOption().

|
inlinenoexcept |
Return flag for selection updates.
Definition at line 415 of file cellSetOption.H.
References isSelectionUpdated(), Foam::noexcept, and updateSelection_.
Referenced by isSelectionUpdated().


|
inlinenoexcept |
Adjust the time start, return the old value.
Definition at line 88 of file cellSetOptionI.H.
References timeStart_.
|
inlinenoexcept |
Adjust the duration, return the old value.
Definition at line 96 of file cellSetOptionI.H.
References duration_.
|
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().


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


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

|
static |
List of selection mode type names.
Definition at line 258 of file cellSetOption.H.
Referenced by cellSetOption(), rotorDiskSource::checkData(), setCellSelection(), and setSelection().
|
protected |
Cell selection mode.
Definition at line 268 of file cellSetOption.H.
Referenced by cellSetOption(), isActive(), selectionMode(), setCellSelection(), setSelection(), and useSubMesh().
|
protected |
Flag to enable dictionary-based updates of selections.
Definition at line 273 of file cellSetOption.H.
Referenced by cellSetOption(), isSelectionUpdated(), and read().
|
protected |
Start time of fvOption.
Definition at line 278 of file cellSetOption.H.
Referenced by cellSetOption(), inTimeLimits(), read(), timeStart(), and timeStart().
|
protected |
Duration of fvOption execution starting from timeStart.
Definition at line 283 of file cellSetOption.H.
Referenced by cellSetOption(), duration(), duration(), inTimeLimits(), and read().
|
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().
List of points for "points" selectionMode.
Definition at line 293 of file cellSetOption.H.
Referenced by cellSetOption(), setCellSelection(), and setSelection().
List of points for "movingPoints" selectionMode.
Definition at line 298 of file cellSetOption.H.
Referenced by cellSetOption(), setCellSelection(), and setSelection().
|
protected |
Dictionary entries for "geometric" (topoSetCellSource) selection.
Definition at line 303 of file cellSetOption.H.
Referenced by cellSetOption(), setCellSelection(), and setSelection().
|
protected |
Set of cells to apply source to.
Definition at line 308 of file cellSetOption.H.
Referenced by velocityDampingConstraint::addDamping(), directionalPressureGradientExplicitSource::addSup(), fanMomentumSource::addSup(), fanMomentumSource::addSup(), heatExchangerSource::addSup(), meanVelocityForce::addSup(), radialActuationDiskSource::addSup(), radialActuationDiskSource::addSup(), SemiImplicitSource< Type >::addSup(), solidificationMeltingSource::addSup(), rotorDiskSource::calculate(), cells(), fixedTemperatureConstraint::constrain(), FixedValueConstraint< Type >::constrain(), rotorDiskSource::constructGeometry(), directionalPressureGradientExplicitSource::correct(), limitTemperature::correct(), limitTurbulenceViscosity::correct(), limitVelocity::correct(), meanVelocityForce::correct(), rotorDiskSource::createCoordinateSystem(), directionalPressureGradientExplicitSource::directionalPressureGradientExplicitSource(), meanVelocityForce::magUbarAve(), rotorDiskSource::rotorDiskSource(), acousticDampingSource::setBlendingFactor(), setCellSelection(), rotorDiskSource::setFaceArea(), setVol(), solidificationMeltingSource::solidificationMeltingSource(), and rotorDiskSource::writeField().
|
protected |
Sum of cell volumes.
Definition at line 313 of file cellSetOption.H.
Referenced by atmCoriolisUSource::addSup(), atmCoriolisUSource::addSup(), atmCoriolisUSource::addSup(), atmPlantCanopyTSource::addSup(), atmPlantCanopyTSource::addSup(), atmPlantCanopyTSource::addSup(), atmPlantCanopyUSource::addSup(), atmPlantCanopyUSource::addSup(), atmPlantCanopyUSource::addSup(), radialActuationDiskSource::addSup(), radialActuationDiskSource::addSup(), cellSetOption(), meanVelocityForce::correct(), isActive(), meanVelocityForce::magUbarAve(), SemiImplicitSource< Type >::read(), setVol(), and V().