Public Member Functions | List of all members
activePressureForceBaffleVelocityFvPatchVectorField Class Reference

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...

Inheritance diagram for activePressureForceBaffleVelocityFvPatchVectorField:
Inheritance graph
[legend]
Collaboration diagram for activePressureForceBaffleVelocityFvPatchVectorField:
Collaboration graph
[legend]

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< fvPatchVectorFieldclone () const
 Construct and return a clone. More...
 
 activePressureForceBaffleVelocityFvPatchVectorField (const activePressureForceBaffleVelocityFvPatchVectorField &, const DimensionedField< vector, volMesh > &)
 Construct as copy setting internal field reference. More...
 
virtual tmp< fvPatchVectorFieldclone (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...
 

Detailed Description

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

\[ x = x_{old} + s \times \frac{dt}{DT} \]

where

$ x $ = baffle open fraction [0-1]
$ x_{old} $ = baffle open fraction on previous evaluation
$ s $ = sign for orientation: 1 to open or -1 to close
$ dt $ = simulation time step
$ DT $ = time taken to open the baffle

The open fraction is then applied to scale the patch areas.


Patch usage

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:

    myPatch
    {
        type            activePressureForceBaffleVelocity;
        p               p;
        cyclicPatch     cyclic1;
        orientation     1;
        openFraction    0.2;
        openingTime     5.0;
        maxOpenFractionDelta 0.1;
        minThresholdValue 0.01;
        forceBased      false;
    }
Source files

Definition at line 177 of file activePressureForceBaffleVelocityFvPatchVectorField.H.

Constructor & Destructor Documentation

Construct by mapping.

Definition at line 61 of file activePressureForceBaffleVelocityFvPatchVectorField.C.

References activePressureForceBaffleVelocityFvPatchVectorField::activePressureForceBaffleVelocityFvPatchVectorField().

Here is the call graph for this function:

Construct as copy setting internal field reference.

Definition at line 155 of file activePressureForceBaffleVelocityFvPatchVectorField.C.

References activePressureForceBaffleVelocityFvPatchVectorField::autoMap().

Here is the call graph for this function:

Member Function Documentation

TypeName ( "activePressureForceBaffleVelocity"  )

Runtime type information.

virtual tmp<fvPatchVectorField> clone ( ) const
inlinevirtual

Construct and return a clone.

Definition at line 267 of file activePressureForceBaffleVelocityFvPatchVectorField.H.

References activePressureForceBaffleVelocityFvPatchVectorField::activePressureForceBaffleVelocityFvPatchVectorField().

Here is the call graph for this function:

virtual tmp<fvPatchVectorField> clone ( const DimensionedField< vector, volMesh > &  iF) const
inlinevirtual
void autoMap ( const fvPatchFieldMapper m)
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 181 of file activePressureForceBaffleVelocityFvPatchVectorField.C.

Referenced by activePressureForceBaffleVelocityFvPatchVectorField::activePressureForceBaffleVelocityFvPatchVectorField(), and activePressureForceBaffleVelocityFvPatchVectorField::clone().

Here is the caller graph for this function:

void rmap ( const fvPatchVectorField ptf,
const labelList addr 
)
virtual

Reverse map the given fvPatchField onto this fvPatchField.

Definition at line 219 of file activePressureForceBaffleVelocityFvPatchVectorField.C.

Referenced by activePressureForceBaffleVelocityFvPatchVectorField::clone().

Here is the caller graph for this function:

void updateCoeffs ( )
virtual

Update the coefficients associated with the patch field.

Definition at line 243 of file activePressureForceBaffleVelocityFvPatchVectorField.C.

Referenced by activePressureForceBaffleVelocityFvPatchVectorField::clone().

Here is the caller graph for this function:

void write ( Ostream os) const
virtual

Write.

Definition at line 354 of file activePressureForceBaffleVelocityFvPatchVectorField.C.

Referenced by activePressureForceBaffleVelocityFvPatchVectorField::clone().

Here is the caller graph for this function:


The documentation for this class was generated from the following files: