Applies the force within a specified region to maintain the specified mean velocity for incompressible flows. More...
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... | |
meanVelocityForce (const meanVelocityForce &)=delete | |
No copy construct. More... | |
void | operator= (const meanVelocityForce &)=delete |
No copy assignment. More... | |
virtual | ~meanVelocityForce ()=default |
Destructor. 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 ()=default |
Destructor. More... | |
scalar | timeStart () const noexcept |
Return const access to the time start. More... | |
scalar | duration () const noexcept |
Return const access to the duration. More... | |
bool | inTimeLimits (const scalar timeValue) const |
True if within time limits. More... | |
bool | useSubMesh () const noexcept |
True if sub-selection should be used. More... | |
selectionModeType | selectionMode () const noexcept |
Return the cell selection mode. More... | |
const wordRes & | selectionNames () const noexcept |
Return const access to the selection names (set or zone selection) More... | |
const wordRe & | zoneName () const |
Return const access to the first set/zone name. More... | |
scalar | V () const noexcept |
Return const access to the total cell volume. More... | |
const labelList & | cells () const noexcept |
Return const access to the cell selection. More... | |
scalar | timeStart (scalar val) noexcept |
Adjust the time start, return the old value. More... | |
scalar | duration (scalar val) noexcept |
Adjust the duration, return the old value. More... | |
virtual bool | isActive () |
Is the source active? More... | |
const word & | cellSetName () const |
The name of the cell set/zone [as a word] for "cellSet" / "cellZone" selection modes) 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< option > | clone () const |
Return clone. More... | |
virtual | ~option ()=default |
Destructor. More... | |
const word & | name () const noexcept |
Return const access to the source name. More... | |
const fvMesh & | mesh () const noexcept |
Return const access to the mesh database. More... | |
const dictionary & | coeffs () 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 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 | 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... | |
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 averaged over the selected cellSet. 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 cell selection name or points selection from dictionary input. More... | |
void | setCellSelection () |
Set the cell selection based on user input selection mode. More... | |
void | setVol () |
Recalculate the volume. More... | |
Protected Member Functions inherited from option | |
void | resetApplied () |
Resize/reset applied flag list for all fieldNames_ entries. More... | |
Protected Attributes | |
vector | Ubar_ |
Desired mean 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< volScalarField > | rAPtr_ |
Matrix 1/A coefficients field pointer. 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... | |
wordRes | selectionNames_ |
Face selection names (for set or zone selections) More... | |
List< point > | points_ |
List of points for "points" selectionMode. More... | |
dictionary | geometricSelection_ |
Dictionary entries for "geometric" (topoSetCellSource) selection. 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 fvMesh & | mesh_ |
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... | |
Additional Inherited Members | |
Public Types inherited from cellSetOption | |
enum | selectionModeType { smAll, smCellSet, smCellZone, smPoints, 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. More... | |
Public Attributes inherited from option | |
bool | log |
Switch write log to Info. More... | |
Static Public Attributes inherited from cellSetOption | |
static const Enum< selectionModeType > | selectionModeTypeNames_ |
List of selection mode type names. More... | |
Applies the force within a specified region to maintain the specified mean velocity for incompressible flows.
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 Foam::endl(), Foam::exit(), Foam::FatalError, FatalErrorInFunction, IOstream::good(), Foam::Info, Foam::nl, and propsDict().
|
delete |
No copy construct.
|
virtualdefault |
Destructor.
|
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 forAll, Foam::reduce(), and U.
Referenced by meanVelocityForce::correct().
|
protected |
Write the pressure gradient to file (for restarts etc)
Definition at line 43 of file meanVelocityForce.C.
References gradP(), and propsDict().
Referenced by meanVelocityForce::correct().
Correct driving force for a constant mass flow rate.
TypeName | ( | "meanVelocityForce" | ) |
Runtime type information.
|
delete |
No copy assignment.
|
virtual |
Correct the pressure gradient.
Reimplemented from option.
Definition at line 138 of file meanVelocityForce.C.
References cellSetOption::cells_, meanVelocityForce::dGradP_, Foam::endl(), meanVelocityForce::flowDir_, forAll, gradP(), meanVelocityForce::gradP0_, Foam::Info, Foam::mag(), meanVelocityForce::magUbarAve(), option::mesh_, meanVelocityForce::rAPtr_, rAU, Foam::reduce(), meanVelocityForce::relaxation_, U, meanVelocityForce::Ubar_, fvMesh::V(), cellSetOption::V_, and meanVelocityForce::writeProps().
Add explicit contribution to momentum equation.
Reimplemented from option.
Definition at line 183 of file meanVelocityForce.C.
References fvMatrix< Type >::dimensions(), Foam::dimVolume, gradP(), IOobjectOption::NO_READ, IOobjectOption::NO_WRITE, Su, and Foam::Zero.
|
virtual |
Add explicit contribution to compressible momentum equation.
Reimplemented from option.
Definition at line 211 of file meanVelocityForce.C.
Set 1/A coefficient.
Reimplemented from option.
Definition at line 222 of file meanVelocityForce.C.
References fvMatrix< Type >::A(), IOobjectOption::NO_READ, and IOobjectOption::NO_WRITE.
|
virtual |
Read source dictionary.
Reimplemented from cellSetOption.
Definition at line 255 of file meanVelocityForce.C.
References NotImplemented.
|
protected |
Desired mean velocity.
Definition at line 155 of file meanVelocityForce.H.
Referenced by meanVelocityForce::correct().
|
protected |
Pressure gradient before correction.
Definition at line 160 of file meanVelocityForce.H.
Referenced by meanVelocityForce::correct().
|
protected |
Change in pressure gradient.
Definition at line 165 of file meanVelocityForce.H.
Referenced by meanVelocityForce::correct().
|
protected |
Flow direction.
Definition at line 170 of file meanVelocityForce.H.
Referenced by meanVelocityForce::correct().
|
protected |
Relaxation factor.
Definition at line 175 of file meanVelocityForce.H.
Referenced by meanVelocityForce::correct().
|
protected |
Matrix 1/A coefficients field pointer.
Definition at line 180 of file meanVelocityForce.H.
Referenced by meanVelocityForce::correct().
Copyright © 2011-2018 OpenFOAM | OPENFOAM® is a registered trademark of OpenCFD Ltd.