option Class Reference

Base abstract class for handling finite volume options (i.e. fvOption). More...

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

Classes

class  iNew
 Return pointer to new fvOption object created. More...
 

Public Member Functions

 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 Member Functions

static autoPtr< optionNew (const word &name, const dictionary &dict, const fvMesh &mesh)
 Return a reference to the selected fvOption model. More...
 

Public Attributes

bool log
 Switch write log to Info. More...
 

Protected Member Functions

void resetApplied ()
 Resize/reset applied flag list for all fieldNames_ entries. More...
 

Protected Attributes

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

Detailed Description

Base abstract class for handling finite volume options (i.e. fvOption).

Usage
Minimal example by using constant/fvOptions:
<userDefinedName1>
{
    // Mandatory entries (unmodifiable)
    type              <fvOptionName>;

    // Optional entries (unmodifiable/runtime modifiable)
    <fvOption>Coeffs
    {
        // subdictionary entries
    }

    // Optional entries (runtime modifiable)
    active            true;
    log               true;
}

where the entries mean:

Property Description Type Reqd Dflt
type Name of operand fvOption word yes -
<fvOption>Coeffs

Dictionary containing settings of

the selected fvOption settings

dictionary no -
active Flag to (de)activate fvOption bool no true
log Flag to log fvOption-related info bool no true
Source files

Definition at line 126 of file fvOption.H.

Constructor & Destructor Documentation

◆ option()

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

Construct from components.

Definition at line 57 of file fvOption.C.

References Foam::decrIndent(), Foam::endl(), Foam::incrIndent(), Foam::indent(), Log, and option::name_.

Here is the call graph for this function:

◆ ~option()

virtual ~option ( )
virtualdefault

Destructor.

Member Function Documentation

◆ resetApplied()

void resetApplied ( )
protected

Resize/reset applied flag list for all fieldNames_ entries.

Definition at line 48 of file fvOption.C.

References option::applied_, option::fieldNames_, List< T >::resize_nocopy(), and UList< T >::size().

Referenced by atmNutSource::atmNutSource(), atmPlantCanopyTSource::atmPlantCanopyTSource(), atmPlantCanopyTurbSource::atmPlantCanopyTurbSource(), atmPlantCanopyUSource::atmPlantCanopyUSource(), buoyancyEnergy::buoyancyEnergy(), buoyancyForce::buoyancyForce(), directionalPressureGradientExplicitSource::directionalPressureGradientExplicitSource(), effectivenessHeatExchangerSource::effectivenessHeatExchangerSource(), fixedTemperatureConstraint::fixedTemperatureConstraint(), interRegionExplicitPorositySource::interRegionExplicitPorositySource(), interRegionHeatTransferModel::interRegionHeatTransferModel(), jouleHeatingSource::jouleHeatingSource(), limitTemperature::limitTemperature(), limitVelocity::limitVelocity(), meanVelocityForce::meanVelocityForce(), multiphaseStabilizedTurbulence::multiphaseStabilizedTurbulence(), patchCellsSource::patchCellsSource(), PhaseLimitStabilization< Type >::PhaseLimitStabilization(), radiation::radiation(), velocityDampingConstraint::read(), FixedValueConstraint< Type >::read(), acousticDampingSource::read(), explicitPorositySource::read(), rotorDiskSource::read(), CodedSource< Type >::read(), multiphaseMangrovesSource::read(), multiphaseMangrovesTurbulenceModel::read(), solidificationMeltingSource::solidificationMeltingSource(), tabulatedAccelerationSource::tabulatedAccelerationSource(), and viscousDissipation::viscousDissipation().

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

◆ TypeName()

TypeName ( "option"  )

Runtime type information.

◆ declareRunTimeSelectionTable()

declareRunTimeSelectionTable ( autoPtr  ,
option  ,
dictionary  ,
(const word &name, const word &modelType, const dictionary &dict, const fvMesh &mesh ,
(name, modelType, dict, mesh  
)

◆ clone()

autoPtr< option > clone ( ) const
inline

Return clone.

Definition at line 202 of file fvOption.H.

References NotImplemented.

◆ New()

Foam::autoPtr< Foam::fv::option > New ( const word name,
const dictionary dict,
const fvMesh mesh 
)
static

Return a reference to the selected fvOption model.

Definition at line 81 of file fvOption.C.

References Foam::endl(), Foam::exit(), Foam::FatalIOError, FatalIOErrorInLookup, dictionary::get(), Foam::indent(), Foam::Info, mesh, and Foam::name().

Here is the call graph for this function:

◆ name()

const Foam::word & name ( ) const
inlinenoexcept

Return const access to the source name.

Definition at line 31 of file fvOptionI.H.

References option::name_.

Referenced by optionList::constrain(), optionList::correct(), directionalPressureGradientExplicitSource::directionalPressureGradientExplicitSource(), optionList::operator()(), optionList::postProcessSens(), optionList::readOptions(), and interRegionHeatTransferModel::setNbrModel().

Here is the caller graph for this function:

◆ mesh()

const Foam::fvMesh & mesh ( ) const
inlinenoexcept

Return const access to the mesh database.

Definition at line 37 of file fvOptionI.H.

Referenced by targetCoeffTrim::calcCoeffs(), and tabulatedAccelerationSource::tabulatedAccelerationSource().

Here is the caller graph for this function:

◆ coeffs()

const Foam::dictionary & coeffs ( ) const
inlinenoexcept

Return dictionary.

Definition at line 43 of file fvOptionI.H.

◆ active() [1/2]

bool active ( ) const
inlinenoexcept

True if source is active.

Definition at line 49 of file fvOptionI.H.

Referenced by constantHeatTransfer::constantHeatTransfer(), interRegionHeatTransferModel::interRegionHeatTransferModel(), and interRegionOption::interRegionOption().

Here is the caller graph for this function:

◆ setApplied()

void setApplied ( const label  fieldi)
inline

Set the applied flag to true for field index fieldi.

Definition at line 63 of file fvOptionI.H.

Referenced by optionList::constrain(), optionList::correct(), and optionList::operator()().

Here is the caller graph for this function:

◆ active() [2/2]

bool active ( const bool  on)
inlinenoexcept

Change source active flag, return previous value.

Definition at line 55 of file fvOptionI.H.

◆ isActive()

bool isActive ( )
virtual

Is the source active?

Reimplemented in cellSetOption.

Definition at line 119 of file fvOption.C.

Referenced by optionList::constrain(), optionList::correct(), cellSetOption::isActive(), optionList::operator()(), and optionList::postProcessSens().

Here is the caller graph for this function:

◆ applyToField()

Foam::label applyToField ( const word fieldName) const
virtual

Return index of field name if found in fieldNames list.

Definition at line 125 of file fvOption.C.

Referenced by optionList::appliesToField(), optionList::constrain(), optionList::correct(), optionList::operator()(), and optionList::postProcessSens().

Here is the caller graph for this function:

◆ checkApplied()

void checkApplied ( ) const
virtual

Check that the source has been applied.

Definition at line 131 of file fvOption.C.

References Foam::endl(), forAll, and WarningInFunction.

Referenced by optionList::checkApplied().

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

◆ addSup() [1/15]

void addSup ( fvMatrix< scalar > &  eqn,
const label  fieldi 
)
virtual

Reimplemented in VoFSolidificationMeltingSource, atmAmbientTurbSource, atmBuoyancyTurbSource, atmLengthScaleTurbSource, atmPlantCanopyTSource, atmPlantCanopyTurbSource, buoyancyTurbSource, effectivenessHeatExchangerSource, multiphaseStabilizedTurbulence, solidificationMeltingSource, interRegionHeatTransferModel, and multiphaseMangrovesTurbulenceModel.

Definition at line 145 of file fvOption.C.

Referenced by optionList::operator()().

Here is the caller graph for this function:

◆ addSup() [2/15]

◆ addSup() [3/15]

void addSup ( fvMatrix< symmTensor > &  eqn,
const label  fieldi 
)
virtual

Definition at line 169 of file fvOption.C.

◆ addSup() [4/15]

void addSup ( fvMatrix< sphericalTensor > &  eqn,
const label  fieldi 
)
virtual

Definition at line 161 of file fvOption.C.

◆ addSup() [5/15]

void addSup ( fvMatrix< tensor > &  eqn,
const label  fieldi 
)
virtual

Definition at line 177 of file fvOption.C.

◆ addSup() [6/15]

◆ addSup() [7/15]

◆ addSup() [8/15]

void addSup ( const volScalarField rho,
fvMatrix< symmTensor > &  eqn,
const label  fieldi 
)
virtual

Definition at line 212 of file fvOption.C.

◆ addSup() [9/15]

void addSup ( const volScalarField rho,
fvMatrix< sphericalTensor > &  eqn,
const label  fieldi 
)
virtual

Definition at line 203 of file fvOption.C.

◆ addSup() [10/15]

void addSup ( const volScalarField rho,
fvMatrix< tensor > &  eqn,
const label  fieldi 
)
virtual

Definition at line 221 of file fvOption.C.

◆ addSup() [11/15]

void addSup ( const volScalarField alpha,
const volScalarField rho,
fvMatrix< scalar > &  eqn,
const label  fieldi 
)
virtual

◆ addSup() [12/15]

void addSup ( const volScalarField alpha,
const volScalarField rho,
fvMatrix< vector > &  eqn,
const label  fieldi 
)
virtual

◆ addSup() [13/15]

void addSup ( const volScalarField alpha,
const volScalarField rho,
fvMatrix< symmTensor > &  eqn,
const label  fieldi 
)
virtual

Definition at line 266 of file fvOption.C.

References alpha, and rho.

◆ addSup() [14/15]

void addSup ( const volScalarField alpha,
const volScalarField rho,
fvMatrix< sphericalTensor > &  eqn,
const label  fieldi 
)
virtual

Definition at line 254 of file fvOption.C.

References alpha, and rho.

◆ addSup() [15/15]

void addSup ( const volScalarField alpha,
const volScalarField rho,
fvMatrix< tensor > &  eqn,
const label  fieldi 
)
virtual

Definition at line 278 of file fvOption.C.

References alpha, and rho.

◆ constrain() [1/5]

void constrain ( fvMatrix< scalar > &  eqn,
const label  fieldi 
)
virtual

Reimplemented in fixedTemperatureConstraint.

Definition at line 290 of file fvOption.C.

Referenced by optionList::constrain().

Here is the caller graph for this function:

◆ constrain() [2/5]

void constrain ( fvMatrix< vector > &  eqn,
const label  fieldi 
)
virtual

◆ constrain() [3/5]

void constrain ( fvMatrix< sphericalTensor > &  eqn,
const label  fieldi 
)
virtual

Definition at line 298 of file fvOption.C.

◆ constrain() [4/5]

void constrain ( fvMatrix< symmTensor > &  eqn,
const label  fieldi 
)
virtual

Definition at line 306 of file fvOption.C.

◆ constrain() [5/5]

void constrain ( fvMatrix< tensor > &  eqn,
const label  fieldi 
)
virtual

Definition at line 314 of file fvOption.C.

◆ correct() [1/5]

void correct ( volScalarField field)
virtual

Reimplemented in atmNutSource, multiphaseStabilizedTurbulence, and limitTemperature.

Definition at line 318 of file fvOption.C.

Referenced by optionList::correct().

Here is the caller graph for this function:

◆ correct() [2/5]

void correct ( volVectorField field)
virtual

Reimplemented in limitVelocity, directionalPressureGradientExplicitSource, and meanVelocityForce.

Definition at line 322 of file fvOption.C.

◆ correct() [3/5]

void correct ( volSphericalTensorField field)
virtual

Definition at line 326 of file fvOption.C.

◆ correct() [4/5]

void correct ( volSymmTensorField field)
virtual

Definition at line 330 of file fvOption.C.

◆ correct() [5/5]

void correct ( volTensorField field)
virtual

Definition at line 334 of file fvOption.C.

◆ postProcessSens() [1/3]

void postProcessSens ( scalarField sensField,
const word fieldName = word::null,
const word designVariablesName = word::null 
)
virtual

Definition at line 338 of file fvOption.C.

Referenced by optionList::postProcessSens().

Here is the caller graph for this function:

◆ postProcessSens() [2/3]

void postProcessSens ( vectorField sensField,
const word fieldName = word::null,
const word designVariablesName = word::null 
)
virtual

Definition at line 347 of file fvOption.C.

◆ postProcessSens() [3/3]

void postProcessSens ( tensorField sensField,
const word fieldName = word::null,
const word designVariablesName = word::null 
)
virtual

Definition at line 356 of file fvOption.C.

◆ writeHeader()

void writeHeader ( Ostream os) const
virtual

Write the source header information.

Definition at line 33 of file fvOptionIO.C.

References Ostream::beginBlock(), option::name_, os(), and option::writeHeader().

Referenced by optionList::writeData(), and option::writeHeader().

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

◆ writeFooter()

void writeFooter ( Ostream os) const
virtual

Write the source footer information.

Definition at line 39 of file fvOptionIO.C.

References os().

Referenced by optionList::writeData().

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

◆ writeData()

void writeData ( Ostream os) const
virtual

Write the source properties.

Reimplemented in velocityDampingConstraint, and directionalPressureGradientExplicitSource.

Definition at line 45 of file fvOptionIO.C.

References Foam::nl, os(), Foam::type(), and option::writeData().

Referenced by option::writeData(), and optionList::writeData().

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 in VoFSolidificationMeltingSource, atmAmbientTurbSource, atmBuoyancyTurbSource, atmCoriolisUSource, atmLengthScaleTurbSource, atmNutSource, atmPlantCanopyTSource, atmPlantCanopyTurbSource, atmPlantCanopyUSource, cellSetOption, fixedTemperatureConstraint, velocityDampingConstraint, FixedValueConstraint< Type >, limitTemperature, limitVelocity, interRegionOption, acousticDampingSource, actuationDiskSource, buoyancyEnergy, buoyancyForce, buoyancyTurbSource, directionalPressureGradientExplicitSource, effectivenessHeatExchangerSource, explicitPorositySource, jouleHeatingSource, meanVelocityForce, multiphaseStabilizedTurbulence, patchCellsSource, PhaseLimitStabilization< Type >, radialActuationDiskSource, rotorDiskSource, solidificationMeltingSource, tabulatedAccelerationSource, viscousDissipation, CodedSource< Type >, SemiImplicitSource< Type >, interRegionExplicitPorositySource, constantHeatTransfer, interRegionHeatTransferModel, tabulatedHeatTransfer, tabulatedNTUHeatTransfer, variableHeatTransfer, radiation, multiphaseMangrovesSource, and multiphaseMangrovesTurbulenceModel.

Definition at line 55 of file fvOptionIO.C.

References dict, and Foam::log().

Referenced by optionList::readOptions().

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

Member Data Documentation

◆ name_

◆ modelType_

const word modelType_
protected

Model type.

Definition at line 136 of file fvOption.H.

◆ mesh_

◆ dict_

dictionary dict_
protected

Top level source dictionary.

Definition at line 142 of file fvOption.H.

◆ coeffs_

◆ fieldNames_

◆ applied_

List<bool> applied_
protected

Applied flag list - corresponds to each fieldNames_ entry.

Definition at line 151 of file fvOption.H.

Referenced by option::resetApplied().

◆ active_

bool active_
protected

Source active flag.

Definition at line 154 of file fvOption.H.

Referenced by interRegionExplicitPorositySource::interRegionExplicitPorositySource().

◆ log

bool log

Switch write log to Info.

Definition at line 166 of file fvOption.H.


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