Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
meanVelocityForce Class Reference

Calculates and applies the force necessary to maintain the specified mean velocity. More...

Inheritance diagram for meanVelocityForce:
Inheritance graph
[legend]
Collaboration diagram for meanVelocityForce:
Collaboration graph
[legend]

Public Member Functions

 TypeName ("meanVelocityForce")
 Runtime type information. More...
 
 meanVelocityForce (const word &sourceName, const word &modelType, const dictionary &dict, const fvMesh &mesh)
 Construct from explicit source name and mesh. More...
 
virtual void correct (volVectorField &U)
 Correct the pressure gradient. More...
 
virtual void addSup (fvMatrix< vector > &eqn, const label fieldi)
 Add explicit contribution to momentum equation. More...
 
virtual void addSup (const volScalarField &rho, fvMatrix< vector > &eqn, const label fieldi)
 Add explicit contribution to compressible momentum equation. More...
 
virtual void constrain (fvMatrix< vector > &eqn, const label fieldi)
 Set 1/A coefficient. More...
 
virtual bool read (const dictionary &dict)
 Read source 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 ()
 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 ()
 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< 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< 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 (volSphericalTensorField &field)
 
virtual void correct (volSymmTensorField &field)
 
virtual void correct (volTensorField &field)
 
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...
 

Protected Member Functions

virtual scalar magUbarAve (const volVectorField &U) const
 Calculate and return the magnitude of the mean velocity. More...
 
void writeProps (const scalar gradP) const
 Write the pressure gradient to file (for restarts etc) More...
 
void update (fvMatrix< vector > &eqn)
 Correct driving force for a constant mass flow rate. 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...
 

Protected Attributes

vector Ubar_
 Average velocity. More...
 
scalar gradP0_
 Pressure gradient before correction. More...
 
scalar dGradP_
 Change in pressure gradient. More...
 
vector flowDir_
 Flow direction. More...
 
scalar relaxation_
 Relaxation factor. More...
 
autoPtr< volScalarFieldrAPtr_
 Matrix 1/A coefficients field pointer. More...
 
- Protected Attributes inherited from cellSetOption
scalar timeStart_
 Time start. More...
 
scalar duration_
 Duration. More...
 
selectionModeType selectionMode_
 Cell selection mode. More...
 
word cellSetName_
 Name of cell set 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< bool > applied_
 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...
 
- Static Public Attributes inherited from cellSetOption
static const NamedEnum< selectionModeType, 4 > selectionModeTypeNames_
 Word list of selection mode type names. More...
 

Detailed Description

Calculates and applies the force necessary to maintain the specified mean velocity.

Note: Currently only handles kinematic pressure (incompressible solvers).

Usage
Example usage:
meanVelocityForceCoeffs
{
    selectionMode   all;                    // Apply force to all cells
    fields          (U);                    // Name of velocity field
    Ubar            (10.0 0 0);             // Desired mean velocity
    relaxation      0.2;                    // Optional relaxation factor
}
Source files

Definition at line 70 of file meanVelocityForce.H.

Constructor & Destructor Documentation

meanVelocityForce ( const word sourceName,
const word modelType,
const dictionary dict,
const fvMesh mesh 
)

Construct from explicit source name and mesh.

Definition at line 81 of file meanVelocityForce.C.

References Foam::endl(), Foam::exit(), Foam::FatalError, FatalErrorInFunction, IOstream::good(), Foam::Info, dictionary::lookup(), meanVelocityForce::magUbarAve(), Foam::nl, dictionary::null, and propsDict().

Here is the call graph for this function:

Member Function Documentation

Foam::scalar magUbarAve ( const volVectorField U) const
protectedvirtual

Calculate and return the magnitude of the mean velocity.

averaged over the selected cellSet

Reimplemented in patchMeanVelocityForce.

Definition at line 126 of file meanVelocityForce.C.

References forAll, and Foam::reduce().

Referenced by meanVelocityForce::meanVelocityForce().

Here is the call graph for this function:

Here is the caller graph for this function:

void writeProps ( const scalar  gradP) const
protected

Write the pressure gradient to file (for restarts etc)

Definition at line 53 of file meanVelocityForce.C.

References dictionary::add(), IOobject::NO_READ, IOobject::NO_WRITE, and propsDict().

Here is the call graph for this function:

void update ( fvMatrix< vector > &  eqn)
protected

Correct driving force for a constant mass flow rate.

TypeName ( "meanVelocityForce"  )

Runtime type information.

void correct ( volVectorField U)
virtual

Correct the pressure gradient.

Reimplemented from option.

Definition at line 148 of file meanVelocityForce.C.

References meanVelocityForce::addSup(), Foam::endl(), forAll, Foam::Info, Foam::mag(), rAU(), and Foam::reduce().

Here is the call graph for this function:

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

Add explicit contribution to momentum equation.

Reimplemented from option.

Definition at line 191 of file meanVelocityForce.C.

References fvMatrix< Type >::dimensions(), Foam::dimVolume, IOobject::NO_READ, IOobject::NO_WRITE, Foam::fvc::Su(), and Foam::Zero.

Referenced by meanVelocityForce::correct().

Here is the call graph for this function:

Here is the caller graph for this function:

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

Add explicit contribution to compressible momentum equation.

Reimplemented from option.

Definition at line 219 of file meanVelocityForce.C.

References meanVelocityForce::constrain().

Here is the call graph for this function:

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

Set 1/A coefficient.

Reimplemented from option.

Definition at line 230 of file meanVelocityForce.C.

References fvMatrix< Type >::A(), IOobject::NO_READ, and IOobject::NO_WRITE.

Referenced by meanVelocityForce::addSup().

Here is the call graph for this function:

Here is the caller graph for this function:

bool read ( const dictionary dict)
virtual

Read source dictionary.

Reimplemented from cellSetOption.

Definition at line 30 of file meanVelocityForceIO.C.

References NotImplemented.

Member Data Documentation

vector Ubar_
protected

Average velocity.

Definition at line 79 of file meanVelocityForce.H.

scalar gradP0_
protected

Pressure gradient before correction.

Definition at line 82 of file meanVelocityForce.H.

scalar dGradP_
protected

Change in pressure gradient.

Definition at line 85 of file meanVelocityForce.H.

vector flowDir_
protected

Flow direction.

Definition at line 88 of file meanVelocityForce.H.

scalar relaxation_
protected

Relaxation factor.

Definition at line 91 of file meanVelocityForce.H.

autoPtr<volScalarField> rAPtr_
protected

Matrix 1/A coefficients field pointer.

Definition at line 94 of file meanVelocityForce.H.


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