MapFieldConstraint< Type > Class Template Reference

The MapFieldConstraint constrains values of given fields of Type with a source field from an external mesh, where <Type>={scalar,vector,sphericalTensor,symmTensor,tensor}. Optionally, the source field can be translated and/or rotated as a function of time. More...

Inheritance diagram for MapFieldConstraint< Type >:
Collaboration diagram for MapFieldConstraint< Type >:

Public Member Functions

 TypeName ("MapFieldConstraint")
 Runtime type information. More...
 
 MapFieldConstraint (const word &name, const word &modelType, const dictionary &dict, const fvMesh &mesh)
 Construct from components. More...
 
 MapFieldConstraint (const MapFieldConstraint &)=delete
 No copy construct. More...
 
void operator= (const MapFieldConstraint &)=delete
 No copy assignment. More...
 
virtual ~MapFieldConstraint ()=default
 Destructor. More...
 
virtual bool read (const dictionary &dict)
 Read source dictionary. More...
 
virtual void constrain (fvMatrix< Type > &eqn, const label)
 Set value on field. 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< 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 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...
 

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. More...
 
- Public Attributes inherited from option
bool log
 Switch write log to Info. More...
 
- Protected Member Functions inherited from option
void resetApplied ()
 Resize/reset applied flag list for all fieldNames_ entries. More...
 
- Protected Attributes inherited from option
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< bool > applied_
 Applied flag list - corresponds to each fieldNames_ entry. More...
 
bool active_
 Source active flag. More...
 

Detailed Description

template<class Type>
class Foam::fv::MapFieldConstraint< Type >

The MapFieldConstraint constrains values of given fields of Type with a source field from an external mesh, where <Type>={scalar,vector,sphericalTensor,symmTensor,tensor}. Optionally, the source field can be translated and/or rotated as a function of time.

Usage
Minimal example by using constant/fvOptions:
\<Type\>MapFieldConstraint1
{
    // Mandatory entries
    type                \<Type\>MapFieldConstraint;
    field               <word>;
    srcMesh             <fileName>;
    mapMethod           <word>;

    // Optional entries
    consistent          <bool>;
    patchMapMethod      <word>;
    transform
    {
        // Optional entries
        position    <Function1<vector>>;
        origin      <vector>;

        direction   <Function1<vector>>;
        normal      <vector>;
    }

    // Conditional entries

        // when consistent=false
        patchMap        <HashTable<word>>;  // (<patchSrc> <patchTgt>);
        cuttingPatches  <wordList>;  // (<patchTgt1> ... <patchTgtN>);

    // Inherited entries
    ...
}

where the entries mean:

Property Description Type Reqd Deflt
type Type name: <Type>MapFieldConstraint word yes -
field Name of operand field word yes -
srcMesh Directory path to mesh to map from fileName yes -
mapMethod Mapping method word yes -
consistent Flag to determine if meshes have consistent boundaries bool no false
patchMapMethod Name of patch-map method word no -
patchMap Coincident source/target patches in two cases wordHashTable no -
cuttingPatches Target patches cutting the source domain wordList no -
transform Transform settings for source mesh points dict no -
position Position of source mesh as a function of time Function1<vector> no -
direction Direction of source mesh as a function of time Function1<vector> no -
origin Origin of source mesh vector no -
normal Normal of reference plane representing source mesh vector no -

The inherited entries are elaborated in:

Source files

Definition at line 224 of file MapFieldConstraint.H.

Constructor & Destructor Documentation

◆ MapFieldConstraint() [1/2]

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

Construct from components.

Definition at line 210 of file MapFieldConstraint.C.

References dict, Foam::endl(), Foam::read(), Foam::returnReduceAnd(), and WarningInFunction.

Here is the call graph for this function:

◆ MapFieldConstraint() [2/2]

MapFieldConstraint ( const MapFieldConstraint< Type > &  )
delete

No copy construct.

◆ ~MapFieldConstraint()

virtual ~MapFieldConstraint ( )
virtualdefault

Destructor.

Member Function Documentation

◆ TypeName()

TypeName ( "MapFieldConstraint< Type >"  )

Runtime type information.

◆ operator=()

void operator= ( const MapFieldConstraint< Type > &  )
delete

No copy assignment.

◆ read()

bool read ( const dictionary dict)
virtual

◆ constrain()

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

Set value on field.

Definition at line 407 of file MapFieldConstraint.C.

References polyMesh::changing(), DebugInfo, Foam::endl(), objectRegistry::lookupObjectRef(), and fvMatrix< Type >::setValues().

Here is the call graph for this function:

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