This boundary condition is applied to the flow velocity, to simulate the opening or closure of a baffle due to area averaged pressure or force delta, between both sides of the baffle. This is achieved by merging the behaviours of wall and cyclic baffles. 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 &) | |
Construct as copy. More... | |
virtual tmp< fvPatchVectorField > | clone () const |
Construct and return a clone. More... | |
activePressureForceBaffleVelocityFvPatchVectorField (const activePressureForceBaffleVelocityFvPatchVectorField &, const DimensionedField< vector, volMesh > &) | |
Construct as copy 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 area averaged pressure or force delta, between both sides of the baffle. This is achieved by merging the behaviours of wall and cyclic baffles.
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.
The baffle is activated when the area weighted pressure difference between master and slave patches is larger then minThresholdValue.
Once the threshold is crossed, the baffle is 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 |
---|---|---|---|
p | Pressure field name | no | p |
cyclicPatch | Cyclic patch name | 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 | Min absolute pressure or force difference for activation | yes | |
forceBased | Force (true) or pressure-based (false) activation | yes | |
opening | Baffle is opening (true) or closing (false) | yes |
Example of the boundary condition specification:
<patchName> { type activePressureForceBaffleVelocity; p p; cyclicPatch cyclic1; openFraction 0.2; openingTime 5.0; maxOpenFractionDelta 0.1; minThresholdValue 0.01; forceBased false; opening true; }
Definition at line 175 of file activePressureForceBaffleVelocityFvPatchVectorField.H.
activePressureForceBaffleVelocityFvPatchVectorField | ( | const fvPatch & | p, |
const DimensionedField< vector, volMesh > & | iF | ||
) |
Construct from patch and internal field.
Definition at line 32 of file activePressureForceBaffleVelocityFvPatchVectorField.C.
Referenced by activePressureForceBaffleVelocityFvPatchVectorField::clone().
activePressureForceBaffleVelocityFvPatchVectorField | ( | const fvPatch & | p, |
const DimensionedField< vector, volMesh > & | iF, | ||
const dictionary & | dict | ||
) |
Construct from patch, internal field and dictionary.
Definition at line 84 of file activePressureForceBaffleVelocityFvPatchVectorField.C.
References dict, p, and Foam::Zero.
activePressureForceBaffleVelocityFvPatchVectorField | ( | const activePressureForceBaffleVelocityFvPatchVectorField & | ptf, |
const fvPatch & | p, | ||
const DimensionedField< vector, volMesh > & | iF, | ||
const fvPatchFieldMapper & | mapper | ||
) |
Construct by mapping.
Definition at line 57 of file activePressureForceBaffleVelocityFvPatchVectorField.C.
activePressureForceBaffleVelocityFvPatchVectorField | ( | const activePressureForceBaffleVelocityFvPatchVectorField & | ptf | ) |
Construct as copy.
Definition at line 125 of file activePressureForceBaffleVelocityFvPatchVectorField.C.
activePressureForceBaffleVelocityFvPatchVectorField | ( | const activePressureForceBaffleVelocityFvPatchVectorField & | ptf, |
const DimensionedField< vector, volMesh > & | iF | ||
) |
Construct as copy setting internal field reference.
Definition at line 149 of file activePressureForceBaffleVelocityFvPatchVectorField.C.
TypeName | ( | "activePressureForceBaffleVelocity" | ) |
Runtime type information.
|
inlinevirtual |
Construct and return a clone.
Definition at line 302 of file activePressureForceBaffleVelocityFvPatchVectorField.H.
References activePressureForceBaffleVelocityFvPatchVectorField::activePressureForceBaffleVelocityFvPatchVectorField().
|
inlinevirtual |
Construct and return a clone setting internal field reference.
Definition at line 323 of file activePressureForceBaffleVelocityFvPatchVectorField.H.
References activePressureForceBaffleVelocityFvPatchVectorField::activePressureForceBaffleVelocityFvPatchVectorField().
|
virtual |
Map (and resize as needed) from self given a mapping object.
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 175 of file activePressureForceBaffleVelocityFvPatchVectorField.C.
References Foam::endl(), forAll, Foam::Info, Foam::mag(), mesh, and Foam::foamVersion::patch.
|
virtual |
Reverse map the given fvPatchField onto this fvPatchField.
Definition at line 216 of file activePressureForceBaffleVelocityFvPatchVectorField.C.
References Foam::foamVersion::patch.
|
virtual |
Update the coefficients associated with the patch field.
Definition at line 238 of file activePressureForceBaffleVelocityFvPatchVectorField.C.
References Foam::fieldTypes::area, Foam::constant::electromagnetic::e, Foam::endl(), polyPatch::faceCells(), forAll, Foam::Info, Foam::mag(), fvPatch::magSf(), UPstream::master(), Foam::max(), mesh, Foam::min(), p, Foam::foamVersion::patch, fvPatch::patch(), Foam::reduce(), fvPatch::Sf(), and timeIndex.
|
virtual |
Write.
Definition at line 377 of file activePressureForceBaffleVelocityFvPatchVectorField.C.
References os(), fvPatchField< Type >::write(), Ostream::writeEntry(), and Ostream::writeEntryIfDifferent().
Copyright © 2011-2018 OpenFOAM | OPENFOAM® is a registered trademark of OpenCFD Ltd.