Loading...
Searching...
No Matches
optionList Class Reference

List of finite volume options. More...

#include <fvOptionList.H>

Inheritance diagram for optionList:
Collaboration diagram for optionList:

Public Member Functions

 TypeName ("optionList")
 Runtime type information.
 optionList (const fvMesh &mesh)
 Default construct from mesh.
 optionList (const fvMesh &mesh, const dictionary &dict)
 Construct from mesh and dictionary.
virtual ~optionList ()=default
 Destructor.
void reset (const dictionary &dict)
 Reset the source list.
bool appliesToField (const word &fieldName) const
 Return whether there is something to apply to the field.
template<class Type>
tmp< fvMatrix< Type > > operator() (GeometricField< Type, fvPatchField, volMesh > &field)
 Return source for equation.
template<class Type>
tmp< fvMatrix< Type > > operator() (GeometricField< Type, fvPatchField, volMesh > &field, const word &fieldName)
 Return source for equation with specified name.
template<class Type>
tmp< fvMatrix< Type > > operator() (const volScalarField &rho, GeometricField< Type, fvPatchField, volMesh > &field)
 Return source for equation.
template<class Type>
tmp< fvMatrix< Type > > operator() (const volScalarField &rho, GeometricField< Type, fvPatchField, volMesh > &field, const word &fieldName)
 Return source for equation with specified name.
template<class Type>
tmp< fvMatrix< Type > > operator() (const volScalarField &alpha, const volScalarField &rho, GeometricField< Type, fvPatchField, volMesh > &field)
 Return source for equation.
template<class Type>
tmp< fvMatrix< Type > > operator() (const volScalarField &alpha, const volScalarField &rho, GeometricField< Type, fvPatchField, volMesh > &field, const word &fieldName)
 Return source for equation with specified name.
template<class Type>
tmp< fvMatrix< Type > > operator() (const volScalarField &alpha, const geometricOneField &rho, GeometricField< Type, fvPatchField, volMesh > &field)
 Return source for equation.
template<class Type>
tmp< fvMatrix< Type > > operator() (const geometricOneField &alpha, const volScalarField &rho, GeometricField< Type, fvPatchField, volMesh > &field)
 Return source for equation.
template<class Type>
tmp< fvMatrix< Type > > operator() (const geometricOneField &alpha, const geometricOneField &rho, GeometricField< Type, fvPatchField, volMesh > &field)
 Return source for equation.
template<class Type>
tmp< fvMatrix< Type > > d2dt2 (GeometricField< Type, fvPatchField, volMesh > &field)
 Return source for equation with second time derivative.
template<class Type>
tmp< fvMatrix< Type > > d2dt2 (GeometricField< Type, fvPatchField, volMesh > &field, const word &fieldName)
 Return source for equation with second time derivative.
template<class Type>
void constrain (fvMatrix< Type > &eqn)
 Apply constraints to equation.
template<class Type, template< class > class PatchField, class GeoMesh>
void correct (GeometricField< Type, PatchField, GeoMesh > &field)
 Apply correction to field.
template<class Type>
void postProcessSens (Field< Type > &sensField, const word &fieldName=word::null, const word &designVariablesName=word::null)
 Post process sensitivity field related to the fvOption.
template<class Type, template< class > class PatchField, class GeoMesh>
void postProcessAuxSens (const GeometricField< Type, PatchField, GeoMesh > &primal, const GeometricField< Type, PatchField, GeoMesh > &adjoint, scalarField &sensField, const word &fieldName=word::null)
 Post process auxiliary sensitivity field related to the fvOption.
virtual bool read (const dictionary &dict)
 Read dictionary.
virtual bool writeData (Ostream &os) const
 Write data to Ostream.
Public Member Functions inherited from PtrList< fv::option >
Foam::PtrList< fv::optionclone (Args &&... args) const
constexpr PtrList () noexcept
 Default construct.
 ~PtrList ()
 Destructor. Frees all pointers.
const fv::optionset (const label i) const
 Return const pointer to element (can be nullptr), or nullptr for out-of-range access (ie, with bounds checking).
void clear ()
 Clear the PtrList. Delete allocated entries and set size to zero.
void free ()
 Free memory and nullify all entries. Does not change the list size.
void resize (const label newLen)
 Adjust size of PtrList.
void resize_null (const label newLen)
 Set the addressed list to the given size, deleting all existing entries. Afterwards the list contains all nullptr entries.
fv::optionemplace_back (Args &&... args)
 Construct and append an element to the end of the list, return reference to the new list element.
void push_back (fv::option *ptr)
 Append an element to the end of the list.
fv::optionemplace_set (const label i, Args &&... args)
 Construct and set a new element at given position, (discard old element at that location).
fv::optionemplace (const label i, Args &&... args)
 Same as emplace_set().
fv::optiontry_emplace (const label i, Args &&... args)
 Like emplace_set() but will not overwrite an occupied (non-null) location.
autoPtr< fv::optionrelease (const label i)
 Release ownership of the pointer at the given position.
void transfer (PtrList< fv::option > &list)
 Transfer into this list and annul the argument list.
void operator= (const UPtrList< fv::option > &list)
 Copy assignment.
void setSize (const label n)
 Same as resize().
void append (autoPtr< fv::option > &ptr)
 Move append an element to the end of the list.
Public Member Functions inherited from UPtrList< fv::option >
bool empty () const noexcept
 True if the list is empty (ie, size() is zero).
label size () const noexcept
 The number of entries in the list.
label capacity () const noexcept
 Size of the underlying storage.
label count_nonnull () const noexcept
 The number of non-nullptr entries in the list.
fv::optionfront ()
 Reference to the first element of the list.
fv::optionback ()
 Reference to the last element of the list.
const fv::optiontest (const label i) const
 Return const pointer to element (can be nullptr), or nullptr for out-of-range access (ie, with bounds checking).
const fv::optionget (const label i) const
 Return const pointer to element (can be nullptr), or nullptr for out-of-range access (ie, with bounds checking).
const fv::optionset (const label i) const
 Return const pointer to element (can be nullptr), or nullptr for out-of-range access (ie, with bounds checking).
void clear ()
 Set list size to zero.
void free ()
 Nullify all entries. Does not change the list size.
void resize (const label newLen)
 Change the size of the list. Any new entries are nullptr.
void resize_null (const label newLen)
 Set the list to the given size and set all entries to nullptr.
label squeezeNull ()
 Squeeze out nullptr entries in the list of pointers after which any null pointers will be at the end of the list.
void push_back (fv::option *ptr)
 Append an element to the end of the list.
void swap (UPtrList< fv::option > &list) noexcept
 Swap content.
void transfer (UPtrList< fv::option > &list)
 Transfer contents into this list and annul the argument.
void reorder (const labelUList &oldToNew, const bool check=false)
 Reorder elements. Reordering must be unique (ie, shuffle).
void sortOrder (const labelUList &order, const bool check=false)
 Reorder elements according to new order mapping (newToOld). Reordering must be unique (ie, shuffle).
void checkNonNull () const
 Check and raise FatalError if any nullptr exists in the list.
const fv::optionat (const label i) const
 Return const reference to the element at given position. FatalError for bounds problem or nullptr.
const fv::optionoperator[] (const label i) const
 Return const reference to the element at given position. FatalError for bounds problem or nullptr. Same as at().
 FOAM_DEPRECATED_FOR (2022-09, "get(), set() or test() methods") const fv::option *operator()(const label i) const
 Deprecated(2022-09) - same as get().
void operator= (const UPtrList< fv::option > &list)
 Copy assignment (shallow copies addresses).
OstreamprintAddresses (Ostream &os) const
 Print pointer addresses to Ostream (debugging only).
OstreamwriteList (Ostream &os, const bool trimNull=false) const
 Write UPtrList to Ostream, optionally ignoring null entries.
fv::option ** begin_ptr () noexcept
 Iterator to begin of raw pointers traversal (use with caution).
fv::option ** end_ptr () noexcept
 Iterator beyond end of raw pointers traversal (use with caution).
iterator begin ()
 Return iterator to begin traversal of non-nullptr entries.
iterator end () noexcept
 Return iterator beyond end of UPtrList traversal.
const_iterator cbegin () const
 Return const_iterator to begin traversal of non-nullptr entries.
const_iterator cend () const noexcept
 Return const_iterator beyond end of UPtrList traversal.
void setSize (const label n)
 Alias for resize().
fv::optionfirst ()
 Reference to the first element of the list.
fv::optionlast ()
 Return reference to the last element of the list.
void append (fv::option *ptr)
 Append an element to the end of the list.
label count () const noexcept
 The number of non-nullptr entries in the list.

Protected Member Functions

bool readOptions (const dictionary &dict)
 Read options dictionary.
void checkApplied () const
 Check that all sources have been applied.
template<class Type>
tmp< fvMatrix< Type > > source (GeometricField< Type, fvPatchField, volMesh > &field, const word &fieldName, const dimensionSet &ds)
 Return source for equation with specified name and dimensions.
 optionList (const optionList &)=delete
 No copy construct.
void operator= (const optionList &)=delete
 No copy assignment.
Protected Member Functions inherited from PtrList< fv::option >
void readIstream (Istream &is, const INew &inew)
 Read from Istream using Istream constructor class.
Protected Member Functions inherited from UPtrList< fv::option >
void setAddressableSize (const label n) noexcept
 Adjust addressable size.
label find_next (label pos) const
 The next non-null entry after the specified position.
 UPtrList (Detail::PtrListDetail< fv::option > &&ptrs) noexcept
 Low-level move construct.

Static Protected Member Functions

static const dictionaryoptionsDict (const dictionary &dict)
 Return "options" sub-dictionary (if present) or return dict.

Protected Attributes

const fvMeshmesh_
 Reference to the mesh database.
label checkTimeIndex_
 Time index to check that all defined sources have been applied.
Protected Attributes inherited from UPtrList< fv::option >
Detail::PtrListDetail< fv::optionptrs_
 The list of pointers.

Friends

Ostreamoperator<< (Ostream &os, const optionList &options)
 Ostream operator.

Additional Inherited Members

Public Types inherited from UPtrList< fv::option >
typedef fv::option value_type
 Type of values the list contains.
typedef fv::optionreference
 A non-const reference to the value_type.
typedef const fv::optionconst_reference
 A const reference to the value_type.

Detailed Description

List of finite volume options.

SourceFile optionList.C

Definition at line 63 of file fvOptionList.H.

Constructor & Destructor Documentation

◆ optionList() [1/3]

optionList ( const optionList & )
protecteddelete

No copy construct.

References optionList().

Referenced by operator<<, operator=(), optionList(), optionList(), options::options(), and kEpsilonLopesdaCosta< BasicTurbulenceModel >::setPorosityCoefficients().

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

◆ optionList() [2/3]

optionList ( const fvMesh & mesh)
explicit

Default construct from mesh.

Definition at line 77 of file fvOptionList.C.

References checkTimeIndex_, mesh, mesh_, and PtrList< fv::option >::PtrList().

Here is the call graph for this function:

◆ optionList() [3/3]

optionList ( const fvMesh & mesh,
const dictionary & dict )

Construct from mesh and dictionary.

Definition at line 85 of file fvOptionList.C.

References dict, mesh, optionList(), optionsDict(), and reset().

Here is the call graph for this function:

◆ ~optionList()

virtual ~optionList ( )
virtualdefault

Destructor.

References dict.

Member Function Documentation

◆ optionsDict()

const Foam::dictionary & optionsDict ( const dictionary & dict)
staticprotected

Return "options" sub-dictionary (if present) or return dict.

Definition at line 38 of file fvOptionList.C.

References dict, and keyType::LITERAL.

Referenced by optionList(), and read().

Here is the caller graph for this function:

◆ readOptions()

bool readOptions ( const dictionary & dict)
protected

Read options dictionary.

Definition at line 49 of file fvOptionList.C.

References checkTimeIndex_, dict, mesh_, option::name(), and option::read().

Referenced by read().

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

◆ checkApplied()

void checkApplied ( ) const
protected

Check that all sources have been applied.

Definition at line 63 of file fvOptionList.C.

References option::checkApplied(), checkTimeIndex_, and mesh_.

Referenced by constrain(), and source().

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

◆ source()

template<class Type>
tmp< fvMatrix< Type > > source ( GeometricField< Type, fvPatchField, volMesh > & field,
const word & fieldName,
const dimensionSet & ds )
protected

Return source for equation with specified name and dimensions.

References field().

Referenced by appliesToField(), constrain(), correct(), postProcessAuxSens(), and postProcessSens().

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

◆ operator=()

void operator= ( const optionList & )
protecteddelete

No copy assignment.

References optionList().

Here is the call graph for this function:

◆ TypeName()

TypeName ( "optionList" )

Runtime type information.

References dict, and mesh.

◆ reset()

void reset ( const dictionary & dict)

Reset the source list.

Definition at line 95 of file fvOptionList.C.

References UPtrList< fv::option >::count(), dict, mesh_, Foam::name(), option::New(), resize(), and PtrList< fv::option >::set().

Referenced by optionList().

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

◆ appliesToField()

bool appliesToField ( const word & fieldName) const

Return whether there is something to apply to the field.

Definition at line 127 of file fvOptionList.C.

References source().

Here is the call graph for this function:

◆ operator()() [1/9]

template<class Type>
tmp< fvMatrix< Type > > operator() ( GeometricField< Type, fvPatchField, volMesh > & field)

Return source for equation.

References field().

Here is the call graph for this function:

◆ operator()() [2/9]

template<class Type>
tmp< fvMatrix< Type > > operator() ( GeometricField< Type, fvPatchField, volMesh > & field,
const word & fieldName )

Return source for equation with specified name.

References field().

Here is the call graph for this function:

◆ operator()() [3/9]

template<class Type>
tmp< fvMatrix< Type > > operator() ( const volScalarField & rho,
GeometricField< Type, fvPatchField, volMesh > & field )

Return source for equation.

References field(), and rho.

Here is the call graph for this function:

◆ operator()() [4/9]

template<class Type>
tmp< fvMatrix< Type > > operator() ( const volScalarField & rho,
GeometricField< Type, fvPatchField, volMesh > & field,
const word & fieldName )

Return source for equation with specified name.

References field(), and rho.

Here is the call graph for this function:

◆ operator()() [5/9]

template<class Type>
tmp< fvMatrix< Type > > operator() ( const volScalarField & alpha,
const volScalarField & rho,
GeometricField< Type, fvPatchField, volMesh > & field )

Return source for equation.

References alpha, field(), and rho.

Here is the call graph for this function:

◆ operator()() [6/9]

template<class Type>
tmp< fvMatrix< Type > > operator() ( const volScalarField & alpha,
const volScalarField & rho,
GeometricField< Type, fvPatchField, volMesh > & field,
const word & fieldName )

Return source for equation with specified name.

References alpha, field(), and rho.

Here is the call graph for this function:

◆ operator()() [7/9]

template<class Type>
tmp< fvMatrix< Type > > operator() ( const volScalarField & alpha,
const geometricOneField & rho,
GeometricField< Type, fvPatchField, volMesh > & field )

Return source for equation.

References alpha, field(), and rho.

Here is the call graph for this function:

◆ operator()() [8/9]

template<class Type>
tmp< fvMatrix< Type > > operator() ( const geometricOneField & alpha,
const volScalarField & rho,
GeometricField< Type, fvPatchField, volMesh > & field )

Return source for equation.

References alpha, field(), and rho.

Here is the call graph for this function:

◆ operator()() [9/9]

template<class Type>
tmp< fvMatrix< Type > > operator() ( const geometricOneField & alpha,
const geometricOneField & rho,
GeometricField< Type, fvPatchField, volMesh > & field )

Return source for equation.

References alpha, field(), and rho.

Here is the call graph for this function:

◆ d2dt2() [1/2]

template<class Type>
tmp< fvMatrix< Type > > d2dt2 ( GeometricField< Type, fvPatchField, volMesh > & field)

Return source for equation with second time derivative.

References field().

Here is the call graph for this function:

◆ d2dt2() [2/2]

template<class Type>
tmp< fvMatrix< Type > > d2dt2 ( GeometricField< Type, fvPatchField, volMesh > & field,
const word & fieldName )

Return source for equation with second time derivative.

References dict, field(), word::null, and os().

Here is the call graph for this function:

◆ constrain()

template<class Type>
void constrain ( fvMatrix< Type > & eqn)

Apply constraints to equation.

Definition at line 307 of file fvOptionListTemplates.C.

References addProfiling, checkApplied(), Foam::endl(), Foam::Info, IOobject::name(), fvMatrix< Type >::psi(), and source().

Here is the call graph for this function:

◆ correct()

template<class Type, template< class > class PatchField, class GeoMesh>
void correct ( GeometricField< Type, PatchField, GeoMesh > & field)

◆ postProcessSens()

template<class Type>
void postProcessSens ( Field< Type > & sensField,
const word & fieldName = word::null,
const word & designVariablesName = word::null )

Post process sensitivity field related to the fvOption.

Definition at line 390 of file fvOptionListTemplates.C.

References addProfiling, Foam::endl(), Foam::Info, and source().

Referenced by incompressibleAdjointSolver::accumulateOptionsDxDbMultiplier().

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

◆ postProcessAuxSens()

template<class Type, template< class > class PatchField, class GeoMesh>
void postProcessAuxSens ( const GeometricField< Type, PatchField, GeoMesh > & primal,
const GeometricField< Type, PatchField, GeoMesh > & adjoint,
scalarField & sensField,
const word & fieldName = word::null )

Post process auxiliary sensitivity field related to the fvOption.

Definition at line 428 of file fvOptionListTemplates.C.

References addProfiling, Foam::endl(), Foam::Info, and source().

Here is the call graph for this function:

◆ read()

bool read ( const dictionary & dict)
virtual

Read dictionary.

Reimplemented in options.

Definition at line 143 of file fvOptionList.C.

References dict, optionsDict(), and readOptions().

Referenced by options::read(), and options::~options().

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

◆ writeData()

bool writeData ( Ostream & os) const
virtual

Write data to Ostream.

Definition at line 149 of file fvOptionList.C.

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

Referenced by Foam::operator<<().

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

◆ operator<<

Ostream & operator<< ( Ostream & os,
const optionList & options )
friend

Ostream operator.

References optionList(), and os().

Member Data Documentation

◆ mesh_

const fvMesh& mesh_
protected

Reference to the mesh database.

Definition at line 74 of file fvOptionList.H.

Referenced by checkApplied(), optionList(), readOptions(), and reset().

◆ checkTimeIndex_

label checkTimeIndex_
protected

Time index to check that all defined sources have been applied.

Definition at line 79 of file fvOptionList.H.

Referenced by checkApplied(), optionList(), and readOptions().


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