Applies the force within a specified region to maintain the specified mean velocity for incompressible flows. More...
#include <meanVelocityForce.H>


Public Member Functions | |
| TypeName ("meanVelocityForce") | |
| Runtime type information. | |
| meanVelocityForce (const word &sourceName, const word &modelType, const dictionary &dict, const fvMesh &mesh) | |
| Construct from explicit source name and mesh. | |
| meanVelocityForce (const meanVelocityForce &)=delete | |
| No copy construct. | |
| void | operator= (const meanVelocityForce &)=delete |
| No copy assignment. | |
| virtual | ~meanVelocityForce ()=default |
| Destructor. | |
| virtual void | correct (volVectorField &U) |
| Correct the pressure gradient. | |
| virtual void | addSup (fvMatrix< vector > &eqn, const label fieldi) |
| Add explicit contribution to momentum equation. | |
| virtual void | addSup (const volScalarField &rho, fvMatrix< vector > &eqn, const label fieldi) |
| Add explicit contribution to compressible momentum equation. | |
| virtual void | constrain (fvMatrix< vector > &eqn, const label fieldi) |
| Set 1/A coefficient. | |
| virtual bool | read (const dictionary &dict) |
| Read source dictionary. | |
| Public Member Functions inherited from cellSetOption | |
| TypeName ("cellSetOption") | |
| Runtime type information. | |
| cellSetOption (const word &name, const word &modelType, const dictionary &dict, const fvMesh &mesh) | |
| Construct from components. | |
| virtual | ~cellSetOption ()=default |
| Destructor. | |
| scalar | timeStart () const noexcept |
| Return const access to the time start. | |
| scalar | duration () const noexcept |
| Return const access to the duration. | |
| bool | inTimeLimits (const scalar timeValue) const |
| True if within time limits. | |
| bool | useSubMesh () const noexcept |
| True if sub-selection should be used. | |
| selectionModeType | selectionMode () const noexcept |
| Return the cell selection mode. | |
| const wordRes & | selectionNames () const noexcept |
| Return const access to the selection names (set or zone selection). | |
| const wordRe & | zoneName () const |
| Return const access to the first set/zone name. | |
| scalar | V () const noexcept |
| Return const access to the total cell volume. | |
| const labelList & | cells () const noexcept |
| Return const access to the cell selection. | |
| bool | isSelectionUpdated () const noexcept |
| Return flag for selection updates. | |
| scalar | timeStart (scalar val) noexcept |
| Adjust the time start, return the old value. | |
| scalar | duration (scalar val) noexcept |
| Adjust the duration, return the old value. | |
| virtual bool | isActive () |
| Is the source active? | |
| const word & | cellSetName () const |
| The name of the cell set/zone [as a word] for "cellSet" / "cellZone" selection modes). | |
| Public Member Functions inherited from option | |
| TypeName ("option") | |
| Runtime type information. | |
| 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. | |
| autoPtr< option > | clone () const |
| Return clone. | |
| virtual | ~option ()=default |
| Destructor. | |
| const word & | name () const noexcept |
| Return const access to the source name. | |
| const fvMesh & | mesh () const noexcept |
| Return const access to the mesh database. | |
| const dictionary & | coeffs () const noexcept |
| Return dictionary. | |
| bool | active () const noexcept |
| True if source is active. | |
| void | setApplied (const label fieldi) |
| Set the applied flag to true for field index fieldi. | |
| bool | active (const bool on) noexcept |
| Change source active flag, return previous value. | |
| virtual label | applyToField (const word &fieldName) const |
| Return index of field name if found in fieldNames list. | |
| virtual void | checkApplied () const |
| Check that the source has been applied. | |
| 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 (volTensorField &field) |
| virtual void | correct (surfaceScalarField &field) |
| virtual void | correct (surfaceVectorField &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. | |
| virtual void | writeFooter (Ostream &) const |
| Write the source footer information. | |
| virtual void | writeData (Ostream &) const |
| Write the source properties. | |
Protected Member Functions | |
| virtual scalar | magUbarAve (const volVectorField &U) const |
| Calculate and return the magnitude of the mean velocity averaged over the selected cellSet. | |
| void | writeProps (const scalar gradP) const |
| Write the pressure gradient to file (for restarts etc). | |
| void | update (fvMatrix< vector > &eqn) |
| Correct driving force for a constant mass flow rate. | |
| Protected Member Functions inherited from cellSetOption | |
| void | setSelection (const dictionary &dict) |
| Set cell selection name or points selection from dictionary input. | |
| void | setCellSelection () |
| Set the cell selection based on user input selection mode. | |
| void | setVol () |
| Recalculate the volume. | |
| Protected Member Functions inherited from option | |
| void | resetApplied () |
| Resize/reset applied flag list for all fieldNames_ entries. | |
Protected Attributes | |
| vector | Ubar_ |
| Desired mean velocity. | |
| scalar | gradP0_ |
| Pressure gradient before correction. | |
| scalar | dGradP_ |
| Change in pressure gradient. | |
| vector | flowDir_ |
| Flow direction. | |
| scalar | relaxation_ |
| Relaxation factor. | |
| autoPtr< volScalarField > | rAPtr_ |
| Matrix 1/A coefficients field pointer. | |
| Protected Attributes inherited from cellSetOption | |
| selectionModeType | selectionMode_ |
| Cell selection mode. | |
| bool | updateSelection_ |
| Flag to enable dictionary-based updates of selections. | |
| scalar | timeStart_ |
| Start time of fvOption. | |
| scalar | duration_ |
| Duration of fvOption execution starting from timeStart. | |
| wordRes | selectionNames_ |
| Face selection names (for set or zone selections). | |
| List< point > | points_ |
| List of points for "points" selectionMode. | |
| PtrList< Function1< point > > | movingPoints_ |
| List of points for "movingPoints" selectionMode. | |
| dictionary | geometricSelection_ |
| Dictionary entries for "geometric" (topoSetCellSource) selection. | |
| labelList | cells_ |
| Set of cells to apply source to. | |
| scalar | V_ |
| Sum of cell volumes. | |
| Protected Attributes inherited from option | |
| const word | name_ |
| Source name. | |
| const word | modelType_ |
| Model type. | |
| const fvMesh & | mesh_ |
| Reference to the mesh database. | |
| dictionary | dict_ |
| Top level source dictionary. | |
| dictionary | coeffs_ |
| Dictionary containing source coefficients. | |
| wordList | fieldNames_ |
| Field names to apply source to - populated by derived models. | |
| List< bool > | applied_ |
| Applied flag list - corresponds to each fieldNames_ entry. | |
| bool | active_ |
| Source active flag. | |
Additional Inherited Members | |
| Public Types inherited from cellSetOption | |
| enum | selectionModeType : char { smAll , smCellSet , smCellZone , smPoints , smMovingPoints , smGeometric , smCellType } |
| Enumeration for selection mode types. More... | |
| Static Public Member Functions inherited from option | |
| static autoPtr< option > | New (const word &name, const dictionary &dict, const fvMesh &mesh) |
| Return a reference to the selected fvOption model. | |
| Public Attributes inherited from option | |
| bool | log |
| Switch write log to Info. | |
| Static Public Attributes inherited from cellSetOption | |
| static const Enum< selectionModeType > | selectionModeTypeNames_ |
| List of selection mode type names. | |
Applies the force within a specified region to maintain the specified mean velocity for incompressible flows.
Sources applied to:
U | Velocity [m/s]
Required fields:
U | Velocity [m/s]
constant/fvOptions: meanVelocityForce1
{
// Mandatory entries (unmodifiable)
type meanVelocityForce;
// Mandatory entries (unmodifiable)
Ubar (1 0 0);
fields (<fieldName>);
// Optional entries (unmodifiable)
relaxation 1.0;
// Conditional mandatory entries (unmodifiable)
// when <timePath>/uniform/<name>Properties file exists
gradient <vectorField>; // reading from the aforementioned file
// Mandatory/Optional (inherited) entries
...
}
where the entries mean:
| Property | Description | Type | Reqd | Dflt |
|---|---|---|---|---|
type | Type name: meanVelocityForce | word | yes | - |
Ubar | Desired mean velocity | vector | yes | - |
fields | Name of operand velocity field | word | yes | - |
relaxation | Relaxation factor | scalar | no | 1 |
gradient | Initial pressure gradient field | vectorField | cndtnl | - |
The inherited entries are elaborated in:
Definition at line 144 of file meanVelocityForce.H.
| meanVelocityForce | ( | const word & | sourceName, |
| const word & | modelType, | ||
| const dictionary & | dict, | ||
| const fvMesh & | mesh ) |
Construct from explicit source name and mesh.
Definition at line 71 of file meanVelocityForce.C.
References cellSetOption::cellSetOption(), option::coeffs_, dGradP_, dict, Foam::endl(), option::fieldNames_, flowDir_, gradP0_, if(), Foam::Info, Foam::mag(), option::mesh(), option::mesh_, option::name_, Foam::nl, rAPtr_, relaxation_, option::resetApplied(), and Ubar_.
Referenced by meanVelocityForce(), operator=(), and patchMeanVelocityForce::patchMeanVelocityForce().


|
delete |
|
virtualdefault |
|
protectedvirtual |
Calculate and return the magnitude of the mean velocity averaged over the selected cellSet.
Reimplemented in patchMeanVelocityForce.
Definition at line 116 of file meanVelocityForce.C.
References cellSetOption::cells_, flowDir_, forAll, magUbarAve(), option::mesh_, Foam::reduce(), U, and cellSetOption::V_.
Referenced by correct(), and magUbarAve().


|
protected |
Write the pressure gradient to file (for restarts etc).
Definition at line 42 of file meanVelocityForce.C.
References gradP(), option::mesh_, option::name_, IOobjectOption::NO_READ, IOobjectOption::NO_REGISTER, IOobjectOption::NO_WRITE, and propsDict().
Referenced by correct().


Correct driving force for a constant mass flow rate.
| TypeName | ( | "meanVelocityForce" | ) |
Runtime type information.
References dict, and option::mesh().

|
delete |
|
virtual |
Correct the pressure gradient.
Reimplemented from option.
Definition at line 139 of file meanVelocityForce.C.
References cellSetOption::cells_, dGradP_, Foam::endl(), flowDir_, forAll, gradP(), gradP0_, Foam::Info, Foam::mag(), magUbarAve(), option::mesh_, rAPtr_, rAU, Foam::reduce(), relaxation_, U, Ubar_, cellSetOption::V_, and writeProps().

Add explicit contribution to momentum equation.
Reimplemented from option.
Definition at line 183 of file meanVelocityForce.C.
References cellSetOption::cells_, dGradP_, fvMatrix< Type >::dimensions(), Foam::dimVolume, option::fieldNames_, flowDir_, gradP(), gradP0_, option::mesh_, option::name_, GeometricField< vector, fvPatchField, volMesh >::New(), IOobjectOption::NO_REGISTER, Foam::Su(), and Foam::Zero.
Referenced by addSup().


|
virtual |
Add explicit contribution to compressible momentum equation.
Reimplemented from option.
Definition at line 206 of file meanVelocityForce.C.

Set 1/A coefficient.
Reimplemented from option.
Definition at line 217 of file meanVelocityForce.C.
References fvMatrix< Type >::A(), dGradP_, gradP0_, option::mesh_, option::name_, rAPtr_, and IOobject::scopedName().

|
virtual |
Read source dictionary.
Reimplemented from cellSetOption.
Definition at line 244 of file meanVelocityForce.C.
References dict, and NotImplemented.
|
protected |
Desired mean velocity.
Definition at line 155 of file meanVelocityForce.H.
Referenced by correct(), and meanVelocityForce().
|
protected |
Pressure gradient before correction.
Definition at line 160 of file meanVelocityForce.H.
Referenced by addSup(), constrain(), correct(), and meanVelocityForce().
|
protected |
Change in pressure gradient.
Definition at line 165 of file meanVelocityForce.H.
Referenced by addSup(), constrain(), correct(), and meanVelocityForce().
|
protected |
Flow direction.
Definition at line 170 of file meanVelocityForce.H.
Referenced by addSup(), correct(), magUbarAve(), patchMeanVelocityForce::magUbarAve(), and meanVelocityForce().
|
protected |
Relaxation factor.
Definition at line 175 of file meanVelocityForce.H.
Referenced by correct(), and meanVelocityForce().
|
protected |
Matrix 1/A coefficients field pointer.
Definition at line 180 of file meanVelocityForce.H.
Referenced by constrain(), correct(), and meanVelocityForce().