This boundary condition is applied to the flow velocity, to simulate the opening or closure of a baffle due to local pressure or force changes, by merging the behaviours of wall and cyclic conditions. More...
Public Member Functions | |
TypeName ("activePressureForceBaffleVelocity") | |
Runtime type information. More... | |
activePressureForceBaffleVelocityFvPatchVectorField (const fvPatch &, const DimensionedField< vector, volMesh > &) | |
Construct from patch and internal field. More... | |
activePressureForceBaffleVelocityFvPatchVectorField (const fvPatch &, const DimensionedField< vector, volMesh > &, const dictionary &) | |
Construct from patch, internal field and dictionary. More... | |
activePressureForceBaffleVelocityFvPatchVectorField (const activePressureForceBaffleVelocityFvPatchVectorField &, const fvPatch &, const DimensionedField< vector, volMesh > &, const fvPatchFieldMapper &) | |
Construct by mapping. More... | |
activePressureForceBaffleVelocityFvPatchVectorField (const activePressureForceBaffleVelocityFvPatchVectorField &)=delete | |
Disallow copy without setting internal field reference. More... | |
activePressureForceBaffleVelocityFvPatchVectorField (const activePressureForceBaffleVelocityFvPatchVectorField &, const DimensionedField< vector, volMesh > &) | |
Copy constructor setting internal field reference. More... | |
virtual tmp< fvPatchVectorField > | clone (const DimensionedField< vector, volMesh > &iF) const |
Construct and return a clone setting internal field reference. More... | |
virtual void | autoMap (const fvPatchFieldMapper &) |
Map (and resize as needed) from self given a mapping object. More... | |
virtual void | rmap (const fvPatchVectorField &, const labelList &) |
Reverse map the given fvPatchField onto this fvPatchField. More... | |
virtual void | updateCoeffs () |
Update the coefficients associated with the patch field. More... | |
virtual void | write (Ostream &) const |
Write. More... | |
This boundary condition is applied to the flow velocity, to simulate the opening or closure of a baffle due to local pressure or force changes, by merging the behaviours of wall and cyclic conditions.
The baffle joins two mesh regions, where the open fraction determines the interpolation weights applied to each cyclic- and neighbour-patch contribution. This means that this is boundary condition is meant to be used in an extra wall beyond an existing cyclic patch pair. See PDRMesh for more details.
Once the threshold is crossed, this condition activated and continues to open or close at a fixed rate using
where
= | baffle open fraction [0-1] | |
= | baffle open fraction on previous evaluation | |
= | sign for orientation: 1 to open or -1 to close | |
= | simulation time step | |
= | time taken to open the baffle |
The open fraction is then applied to scale the patch areas.
Property | Description | Required | Default value |
---|---|---|---|
p | pressure field name | no | p |
cyclicPatch | cyclic patch name | yes | |
orientation | 1 to open or -1 to close | yes | |
openFraction | current open fraction [0-1] | yes | |
openingTime | time taken to open or close the baffle | yes | |
maxOpenFractionDelta | max fraction change per timestep | yes | |
minThresholdValue | minimum absolute pressure or | ||
force difference for activation | yes | ||
forceBased | force (true) or pressure-based (false) activation | yes |
Example of the boundary condition specification:
<patchName> { type activePressureForceBaffleVelocity; p p; cyclicPatch cyclic1; orientation 1; openFraction 0.2; openingTime 5.0; maxOpenFractionDelta 0.1; minThresholdValue 0.01; forceBased false; }
Definition at line 173 of file activePressureForceBaffleVelocityFvPatchVectorField.H.
activePressureForceBaffleVelocityFvPatchVectorField | ( | const fvPatch & | p, |
const DimensionedField< vector, volMesh > & | iF | ||
) |
Construct from patch and internal field.
Definition at line 36 of file activePressureForceBaffleVelocityFvPatchVectorField.C.
Referenced by activePressureForceBaffleVelocityFvPatchVectorField::activePressureForceBaffleVelocityFvPatchVectorField(), and activePressureForceBaffleVelocityFvPatchVectorField::clone().
activePressureForceBaffleVelocityFvPatchVectorField | ( | const fvPatch & | p, |
const DimensionedField< vector, volMesh > & | iF, | ||
const dictionary & | dict | ||
) |
Construct from patch, internal field and dictionary.
Definition at line 61 of file activePressureForceBaffleVelocityFvPatchVectorField.C.
References activePressureForceBaffleVelocityFvPatchVectorField::activePressureForceBaffleVelocityFvPatchVectorField(), fvPatch::boundaryMesh(), dictionary::found(), dictionary::lookup(), fvPatch::Sf(), fvPatch::size(), and Foam::Zero.
activePressureForceBaffleVelocityFvPatchVectorField | ( | const activePressureForceBaffleVelocityFvPatchVectorField & | ptf, |
const fvPatch & | p, | ||
const DimensionedField< vector, volMesh > & | iF, | ||
const fvPatchFieldMapper & | mapper | ||
) |
Construct by mapping.
Definition at line 104 of file activePressureForceBaffleVelocityFvPatchVectorField.C.
References activePressureForceBaffleVelocityFvPatchVectorField::activePressureForceBaffleVelocityFvPatchVectorField().
|
delete |
Disallow copy without setting internal field reference.
activePressureForceBaffleVelocityFvPatchVectorField | ( | const activePressureForceBaffleVelocityFvPatchVectorField & | ptf, |
const DimensionedField< vector, volMesh > & | iF | ||
) |
Copy constructor setting internal field reference.
Definition at line 131 of file activePressureForceBaffleVelocityFvPatchVectorField.C.
References activePressureForceBaffleVelocityFvPatchVectorField::autoMap().
TypeName | ( | "activePressureForceBaffleVelocity" | ) |
Runtime type information.
|
inlinevirtual |
Construct and return a clone setting internal field reference.
Definition at line 271 of file activePressureForceBaffleVelocityFvPatchVectorField.H.
References activePressureForceBaffleVelocityFvPatchVectorField::activePressureForceBaffleVelocityFvPatchVectorField(), activePressureForceBaffleVelocityFvPatchVectorField::autoMap(), activePressureForceBaffleVelocityFvPatchVectorField::rmap(), activePressureForceBaffleVelocityFvPatchVectorField::updateCoeffs(), and activePressureForceBaffleVelocityFvPatchVectorField::write().
|
virtual |
Map (and resize as needed) from self given a mapping object.
Used to update fields following mesh topology change
Note: cannot map field from cyclic patch anyway so just recalculate
Areas should be consistent when doing autoMap except in case of topo changes. ! Note: we don't want to use Sf here since triggers rebuilding of /*! fvMesh::S() which will give problems when mapped (since already on new mesh)
Definition at line 157 of file activePressureForceBaffleVelocityFvPatchVectorField.C.
Referenced by activePressureForceBaffleVelocityFvPatchVectorField::activePressureForceBaffleVelocityFvPatchVectorField(), and activePressureForceBaffleVelocityFvPatchVectorField::clone().
|
virtual |
Reverse map the given fvPatchField onto this fvPatchField.
Used to reconstruct fields
Definition at line 195 of file activePressureForceBaffleVelocityFvPatchVectorField.C.
Referenced by activePressureForceBaffleVelocityFvPatchVectorField::clone().
|
virtual |
Update the coefficients associated with the patch field.
Definition at line 219 of file activePressureForceBaffleVelocityFvPatchVectorField.C.
Referenced by activePressureForceBaffleVelocityFvPatchVectorField::clone().
|
virtual |
Write.
Definition at line 330 of file activePressureForceBaffleVelocityFvPatchVectorField.C.
Referenced by activePressureForceBaffleVelocityFvPatchVectorField::clone().