Applies an explicit pressure gradient source in such a way to deflect the flow towards an specific direction (flowDir). Alternatively add an extra pressure drop in the flowDir direction using a model.
More...


Public Types | |
| enum | pressureDropModel { pVolumetricFlowRateTable, pConstant, pDarcyForchheimer } |
| Modes of pressure drop. More... | |
Public Types inherited from cellSetOption | |
| enum | selectionModeType { smAll, smCellSet, smCellZone, smPoints, smGeometric, smCellType } |
| Enumeration for selection mode types. More... | |
Public Member Functions | |
| TypeName ("directionalPressureGradientExplicitSource") | |
| Runtime type information. More... | |
| directionalPressureGradientExplicitSource (const word &sourceName, const word &modelType, const dictionary &dict, const fvMesh &mesh) | |
| Construct from explicit source name and mesh. More... | |
| directionalPressureGradientExplicitSource (const directionalPressureGradientExplicitSource &)=delete | |
| No copy construct. More... | |
| void | operator= (const directionalPressureGradientExplicitSource &)=delete |
| No copy assignment. More... | |
| virtual | ~directionalPressureGradientExplicitSource ()=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 void | writeData (Ostream &os) const |
| Write the source properties. 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... | |
Additional Inherited Members | |
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... | |
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 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... | |
Applies an explicit pressure gradient source in such a way to deflect the flow towards an specific direction (flowDir). Alternatively add an extra pressure drop in the flowDir direction using a model.
constant/fvOptions: directionalPressureGradientExplicitSource1
{
// Mandatory entries (unmodifiable)
type directionalPressureGradientExplicitSource;
// Mandatory entries (unmodifiable)
model <modelName>;
fields (<fieldName>);
// Mandatory entries (runtime modifiable)
flowDir (1 1 0);
faceZone <faceZoneName>;
// Conditional mandatory entries (unmodifiable)
// when <timePath>/uniform/<name>Properties file exists
gradient <vectorField>; // reading from the aforementioned file
// when model=DarcyForchheimer
// deltaP = (D*mu + 0.5*rho*magUn)*magUn*length
D 5e7;
I 0;
length 1e-3;
// when model=constant
pressureDrop 40;
// when model=volumetricFlowRateTable
outOfBounds clamp;
fileName "volFlowRateTable";
// Optional entries (runtime modifiable)
relaxationFactor 0.3;
// Mandatory/Optional (inherited) entries
...
}
where the entries mean:
| Property | Description | Type | Reqd | Dflt |
|---|---|---|---|---|
type | Type name: directionalPressureGradientExplicitSource | word | yes | - |
model | Pressure drop model [Pa] | word | yes | - |
fields | Name of operand field | word | yes | - |
gradient | Initial pressure gradient field | vectorField | cndtnl | - |
flowDir | Deflection flow direction | vector | yes | - |
faceZone | Name of upstream faceZone | word | yes | - |
relaxationFactor | Relaxation factor for flow deflection | scalar | no | 0.3 |
D | Darcy pressure loss coefficient | scalar | cndtnl | - |
I | Inertia pressure lost coefficient | scalar | cndtnl | - |
length | Porous media length | scalar | cndtnl | - |
presssureDrop | Constant pressure drop | scalar | cndtnl | - |
fileName | Interpolation table for volumetric flow rate | interpolationTable | cndtnl | - |
Options for the model entry:
volumetricFlowRateTable | Pressure-gradient file
constant | Constant pressure drop
DarcyForchheimer | Darcy-Forchheimer modelThe inherited entries are elaborated in:
Definition at line 218 of file directionalPressureGradientExplicitSource.H.
| enum pressureDropModel |
Modes of pressure drop.
| Enumerator | |
|---|---|
| pVolumetricFlowRateTable | |
| pConstant | |
| pDarcyForchheimer | |
Definition at line 229 of file directionalPressureGradientExplicitSource.H.
| directionalPressureGradientExplicitSource | ( | const word & | sourceName, |
| const word & | modelType, | ||
| const dictionary & | dict, | ||
| const fvMesh & | mesh | ||
| ) |
Construct from explicit source name and mesh.
Definition at line 157 of file directionalPressureGradientExplicitSource.C.
References Foam::endl(), Foam::exit(), Foam::FatalError, FatalErrorInFunction, IOstream::good(), Foam::Info, Foam::name(), Foam::nl, propsDict(), option::resetApplied(), and Foam::type().

|
delete |
No copy construct.
|
virtualdefault |
Destructor.
| TypeName | ( | "directionalPressureGradientExplicitSource" | ) |
Runtime type information.
|
delete |
No copy assignment.
|
virtual |
Correct the pressure gradient.
Reimplemented from option.
Definition at line 250 of file directionalPressureGradientExplicitSource.C.
References cellId, fvPatchField< Type >::coupled(), D, Foam::ensightOutput::debug, Foam::dimArea, Foam::dimVelocity, Foam::endl(), Foam::exit(), Foam::FatalError, FatalErrorInFunction, faceZone::flipMap(), forAll, Foam::gSum(), Foam::gSumProd(), Foam::Info, Foam::mag(), faceZone::masterCells(), mesh, Foam::constant::physicoChemical::mu, nu, fvPatchField< Type >::patchNeighbourField(), phi, turbulenceModel::propertiesName, rAU, Foam::reduce(), rho, Foam::rotationTensor(), UList< T >::size(), faceZone::slaveCells(), U, and Foam::Zero.

Add explicit contribution to momentum equation.
Reimplemented from option.
Definition at line 454 of file directionalPressureGradientExplicitSource.C.
References fvMatrix< Type >::dimensions(), Foam::dimVolume, IOobjectOption::NO_READ, IOobjectOption::NO_WRITE, Su, and Foam::Zero.

|
virtual |
Add explicit contribution to compressible momentum equation.
Reimplemented from option.
Definition at line 480 of file directionalPressureGradientExplicitSource.C.
Set 1/A coefficient.
Reimplemented from option.
Definition at line 491 of file directionalPressureGradientExplicitSource.C.
References fvMatrix< Type >::A(), IOobjectOption::NO_READ, IOobjectOption::NO_WRITE, and Foam::Zero.

|
virtual |
Write the source properties.
Reimplemented from option.
Definition at line 525 of file directionalPressureGradientExplicitSource.C.
References NotImplemented.
|
virtual |
Read source dictionary.
Reimplemented from cellSetOption.
Definition at line 534 of file directionalPressureGradientExplicitSource.C.
References dict, and dictionary::getOrDefault().

Copyright © 2011-2018 OpenFOAM | OPENFOAM® is a registered trademark of OpenCFD Ltd.