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...
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, | ||
const dictionary & | dict | ||
) |
Construct from patch, internal field and dictionary.
Definition at line 34 of file activePressureForceBaffleVelocityFvPatchVectorField.C.
References dict, fvPatchField< Type >::operator=(), p, and Foam::Zero.
activePressureForceBaffleVelocityFvPatchVectorField | ( | const activePressureForceBaffleVelocityFvPatchVectorField & | ptf, |
const fvPatch & | p, | ||
const DimensionedField< vector, volMesh > & | iF, | ||
const fvPatchFieldMapper & | mapper | ||
) |
Construct by mapping given.
activePressureForceBaffleVelocityFvPatchVectorField onto a new patch
Definition at line 77 of file activePressureForceBaffleVelocityFvPatchVectorField.C.
|
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 104 of file activePressureForceBaffleVelocityFvPatchVectorField.C.
TypeName | ( | "activePressureForceBaffleVelocity" | ) |
Runtime type information.
|
inlinevirtual |
Construct and return a clone setting internal field reference.
Definition at line 265 of file activePressureForceBaffleVelocityFvPatchVectorField.H.
|
virtual |
Map the given fvPatchField onto this fvPatchField.
Note: cannot map field from cyclic patch anyway so just recalculate
Areas should be consistent when doing map 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 131 of file activePressureForceBaffleVelocityFvPatchVectorField.C.
|
virtual |
Reset the fvPatchField to the given fvPatchField.
Used for mesh to mesh mapping
Definition at line 162 of file activePressureForceBaffleVelocityFvPatchVectorField.C.
|
virtual |
Update the coefficients associated with the patch field.
Definition at line 186 of file activePressureForceBaffleVelocityFvPatchVectorField.C.
References fvPatch::boundaryMesh(), Foam::e, Foam::endl(), polyPatch::faceCells(), forAll, Foam::Info, Foam::mag(), fvPatch::magSf(), Foam::max(), Foam::min(), p, fvPatch::patch(), fvPatch::Sf(), and timeIndex.
|
virtual |
Write.
Definition at line 296 of file activePressureForceBaffleVelocityFvPatchVectorField.C.
References fvPatchField< Type >::write(), and Foam::writeEntry().