velocityDampingConstraint Class Reference

Constrain given velocity fields to dampen velocity fluctuations exceeding a given value within a specified region. More...

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

Public Member Functions

 TypeName ("velocityDampingConstraint")
 Runtime type information. More...
 
 velocityDampingConstraint (const word &name, const word &modelType, const dictionary &dict, const fvMesh &mesh)
 Construct from components. More...
 
 velocityDampingConstraint (const velocityDampingConstraint &)=delete
 No copy construct. More...
 
void operator= (const velocityDampingConstraint &)=delete
 No copy assignment. More...
 
virtual ~velocityDampingConstraint ()=default
 Destructor. More...
 
virtual void constrain (fvMatrix< vector > &eqn, const label fieldi)
 Constrain vector matrix. More...
 
virtual void writeData (Ostream &os) const
 Write data. More...
 
virtual bool read (const dictionary &dict)
 Read dictionary. More...
 
- Public Member Functions inherited from cellSetOption
 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
 Return const access to the time start. More...
 
scalar duration () const
 Return const access to the duration. More...
 
bool inTimeLimits (const scalar time) const
 Return true if within time limits. More...
 
const selectionModeTypeselectionMode () const
 Return const access to the cell selection mode. More...
 
const wordcellSetName () const
 Return const access to the name of cell set for "cellSet". More...
 
scalar V () const
 Return const access to the total cell volume. More...
 
const labelListcells () const
 Return const access to the cell set. More...
 
scalar & timeStart ()
 Return access to the time start. More...
 
scalar & duration ()
 Return access to the duration. More...
 
virtual bool isActive ()
 Is the source active? 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
 Return const access to the source name. More...
 
const fvMeshmesh () const
 Return const access to the mesh database. More...
 
const dictionarycoeffs () const
 Return dictionary. More...
 
bool active () const
 Return const access to the source active flag. More...
 
void setApplied (const label fieldi)
 Set the applied flag to true for field index fieldi. More...
 
Switchactive ()
 Return access to the source active flag. 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< 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...
 

Protected Member Functions

void addDamping (fvMatrix< vector > &eqn)
 Constrain the given velocity fields by a given maximum value. More...
 
- Protected Member Functions inherited from cellSetOption
void setSelection (const dictionary &dict)
 Set the cellSet or points selection. More...
 
void setCellSet ()
 Set the cell set based on the user input selection mode. More...
 
void setVol ()
 Recalculate the volume. More...
 

Protected Attributes

scalar UMax_
 Maximum velocity magnitude. More...
 
- Protected Attributes inherited from cellSetOption
scalar timeStart_
 Start time of fvOption. More...
 
scalar duration_
 Duration of fvOption execution starting from timeStart. More...
 
selectionModeType selectionMode_
 Cell selection mode. More...
 
word cellSetName_
 Name of set/zone for "cellSet" and "cellZone" selectionMode. More...
 
List< pointpoints_
 List of points for "points" selectionMode. 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 fvMeshmesh_
 Reference to the mesh database. More...
 
dictionary dict_
 Top level source dictionary. More...
 
dictionary coeffs_
 Dictionary containing source coefficients. More...
 
Switch active_
 Source active flag. 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...
 

Additional Inherited Members

- Public Types inherited from cellSetOption
enum  selectionModeType { smPoints, smCellSet, smCellZone, smAll }
 Enumeration for selection mode types. More...
 
- 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...
 
- Static Public Attributes inherited from cellSetOption
static const Enum< selectionModeTypeselectionModeTypeNames_
 List of selection mode type names. More...
 

Detailed Description

Constrain given velocity fields to dampen velocity fluctuations exceeding a given value within a specified region.

This constraint is primarily used to dampen velocity fluctuations in the start-up phase of simulations. When the local velocity magnitude exceeds the user-supplied maximum value a sink term is activated in the affected region to lower the velocity to the limiting value.

Constraints applied to:

  U    | Velocity                   [m/s]

Required fields:

  U    | Velocity                   [m/s]
Usage
Minimal example by using constant/fvOptions:
velocityDampingConstraint1
{
    // Mandatory entries (unmodifiable)
    type            velocityDampingConstraint;

    // Mandatory entries (runtime modifiable)
    UMax            200;

    // Optional entries (runtime modifiable)
    UNames          (<Uname1> <Uname2> ... <UnameN>);

    // Conditional optional entries (runtime modifiable)

        // when UNames entry is not present
        U               U;

    // Mandatory/Optional (inherited) entries
    ...
}

where the entries mean:

Property Description Type Reqd Dflt
type Type name: velocityDampingConstraint word yes -
UMax Maximum velocity magnitude scalar yes -
UNames Names of operand velocity fields wordList no -
U Name of operand velocity field word cndtnl U

The inherited entries are elaborated in:

Note
  • When active, this constraint manipulates the system of equations. Users should ensure that it is not active when the case is converged (steady-state) or during the period of interest (transient) to ensure that its presence does not pollute the results.
See also
Source files

Definition at line 148 of file velocityDampingConstraint.H.

Constructor & Destructor Documentation

◆ velocityDampingConstraint() [1/2]

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

Construct from components.

Definition at line 92 of file velocityDampingConstraint.C.

References dict, and Foam::read().

Here is the call graph for this function:

◆ velocityDampingConstraint() [2/2]

No copy construct.

◆ ~velocityDampingConstraint()

virtual ~velocityDampingConstraint ( )
virtualdefault

Destructor.

Member Function Documentation

◆ addDamping()

void addDamping ( fvMatrix< vector > &  eqn)
protected

Constrain the given velocity fields by a given maximum value.

Definition at line 53 of file velocityDampingConstraint.C.

References Foam::cbrt(), Foam::diag(), Foam::endl(), forAll, polyMesh::globalData(), Foam::Info, Foam::mag(), option::mesh_, option::name_, globalMeshData::nTotalCells(), fvMatrix< Type >::psi(), Foam::reduce(), Foam::sqr(), Foam::type(), U, velocityDampingConstraint::UMax_, and fvMesh::V().

Here is the call graph for this function:

◆ TypeName()

TypeName ( "velocityDampingConstraint"  )

Runtime type information.

◆ operator=()

void operator= ( const velocityDampingConstraint )
delete

No copy assignment.

◆ constrain()

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

Constrain vector matrix.

Reimplemented from option.

Definition at line 108 of file velocityDampingConstraint.C.

◆ writeData()

void writeData ( Ostream os) const
virtual

Write data.

Reimplemented from option.

Definition at line 117 of file velocityDampingConstraint.C.

◆ read()

bool read ( const dictionary dict)
virtual

Read dictionary.

Reimplemented from cellSetOption.

Definition at line 123 of file velocityDampingConstraint.C.

References dict, and cellSetOption::read().

Here is the call graph for this function:

Member Data Documentation

◆ UMax_

scalar UMax_
protected

Maximum velocity magnitude.

Definition at line 157 of file velocityDampingConstraint.H.

Referenced by velocityDampingConstraint::addDamping().


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