This fvOption applies an explicit damping force to components of the vector field in the direction of gravity. Its intended purpose is to damp the vertical motions of an interface in the region approaching an outlet so that no reflections are generated. More...
Public Member Functions | |
TypeName ("verticalDamping") | |
Runtime type information. More... | |
verticalDamping (const word &name, const word &modelType, const dictionary &dict, const fvMesh &mesh) | |
Construct from components. More... | |
virtual | ~verticalDamping () |
Destructor. More... | |
virtual void | addSup (fvMatrix< vector > &eqn, const label fieldi) |
Source term to momentum equation. More... | |
virtual void | addSup (const volScalarField &rho, fvMatrix< vector > &eqn, const label fieldi) |
Source term to compressible momentum equation. More... | |
virtual void | addSup (const volScalarField &alpha, const volScalarField &rho, fvMatrix< vector > &eqn, const label fieldi) |
Source term to phase momentum equation. More... | |
Public Member Functions inherited from damping | |
TypeName ("damping") | |
Runtime type information. More... | |
damping (const word &name, const word &modelType, const dictionary &dict, const fvMesh &mesh) | |
Construct from components. More... | |
virtual | ~damping () |
Destructor. 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 () |
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 selectionModeType & | selectionMode () const |
Return const access to the cell selection mode. More... | |
const word & | cellSetName () 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 labelList & | cells () 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< option > | clone () const |
Return clone. More... | |
virtual | ~option () |
Destructor. More... | |
const word & | name () const |
Return const access to the source name. More... | |
const fvMesh & | mesh () const |
Return const access to the mesh database. More... | |
const dictionary & | coeffs () 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... | |
Switch & | active () |
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< 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< vector > &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 | 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... | |
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< option > | New (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... | |
Protected Member Functions inherited from damping | |
tmp< volScalarField::Internal > | forceCoeff () const |
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 inherited from damping | |
dimensionedScalar | lambda_ |
Damping coefficient [1/s]. More... | |
autoPtr< Function1< scalar > > | scale_ |
The scaling function. More... | |
vectorField | origins_ |
Origins of the scaling coordinate. More... | |
vectorField | directions_ |
Directions of increasing scaling coordinate. 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< point > | points_ |
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 fvMesh & | mesh_ |
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... | |
This fvOption applies an explicit damping force to components of the vector field in the direction of gravity. Its intended purpose is to damp the vertical motions of an interface in the region approaching an outlet so that no reflections are generated.
Damping is achieved by applying a force to the momentum equation proportional to the momentum of the flow in the direction of gravity. The constant of proportionality is given by a coefficient which has units of inverse-time. In the absence of any other forces this would generate an exponential decay of the vertical velocity.
The coefficient should be set based on the desired level of damping and the residence time of a perturbation through the damping zone. For example, if waves moving at 2 [m/s] are travelling through a damping zone 8 [m] in length, then the residence time is 4 [s]. If it is deemed necessary to damp for 5 time-scales, then should be set to equal 5/(4 [s]) = 1.2 [1/s].
verticalDamping1 { type verticalDamping; selectionMode cellZone; cellZone nearOutlet; lambda [0 0 -1 0 0 0 0] 1; // Damping coefficient timeStart 0; duration 1e6; }
Example usage with graduated onset:
verticalDamping1 { type verticalDamping; selectionMode all; // Define the line along which to apply the graduation origin (1200 0 0); direction (1 0 0); // Or, define multiple lines // origins ((1200 0 0) (1200 -300 0) (1200 300 0)); // directions ((1 0 0) (0 -1 0) (0 1 0)); scale { type halfCosineRamp; start 0; duration 600; } lambda [0 0 -1 0 0 0 0] 1; // Damping coefficient timeStart 0; duration 1e6; }
Definition at line 124 of file verticalDamping.H.
verticalDamping | ( | const word & | name, |
const word & | modelType, | ||
const dictionary & | dict, | ||
const fvMesh & | mesh | ||
) |
Construct from components.
Definition at line 63 of file verticalDamping.C.
References verticalDamping::addSup(), and Foam::read().
|
inlinevirtual |
Destructor.
Definition at line 157 of file verticalDamping.H.
References verticalDamping::addSup(), alpha(), and rho.
TypeName | ( | "verticalDamping" | ) |
Runtime type information.
Source term to momentum equation.
Reimplemented from option.
Definition at line 79 of file verticalDamping.C.
References Foam::add(), and fvMatrix< Type >::psi().
Referenced by verticalDamping::addSup(), verticalDamping::verticalDamping(), and verticalDamping::~verticalDamping().
|
virtual |
Source term to compressible momentum equation.
Reimplemented from option.
Definition at line 89 of file verticalDamping.C.
References Foam::add(), verticalDamping::addSup(), and fvMatrix< Type >::psi().
|
virtual |
Source term to phase momentum equation.
Reimplemented from option.
Definition at line 100 of file verticalDamping.C.
References Foam::add(), and fvMatrix< Type >::psi().