Go to the documentation of this file.
38 #ifndef immersedBoundaryFvPatchField_H
39 #define immersedBoundaryFvPatchField_H
154 TypeName(immersedBoundaryFvPatch::typeName_());
Abstract base class with a fat-interface to all derived classes covering all possible ways in which t...
virtual void manipulateMatrix(fvMatrix< Type > &matrix)
Manipulate matrix.
A simple wrapper around bool so that it can be read as a word: true/false, on/off,...
A class for managing temporary objects.
Switch fixesValue_
Does the boundary condition fix the value.
tmp< Field< Type > > gradientInternalCoeffs() const
Return the matrix diagonal coefficients corresponding to the.
virtual void evaluate(const Pstream::commsTypes commsType=Pstream::blocking)
Evaluate the patch field.
Field< Type > refValue_
Defining value field.
virtual void initEvaluate(const Pstream::commsTypes commsType=Pstream::blocking)
Initialise the evaluation of the patch field.
virtual Field< Type > & refGrad()
Return access to reference gradient.
const fvMesh & mesh_
Local reference to fvMesh.
virtual ~immersedBoundaryFvPatchField()
Destructor.
Switch & fixesValue()
Return access to fixes value switch.
const Field< Type > & ibValue() const
Return fields on intersection points interacting with the IB.
virtual tmp< Field< Type > > valueInternalCoeffs(const tmp< scalarField > &) const
Return the matrix diagonal coefficients corresponding to the.
bool motionUpdateRequired() const
Does immersed boundary patch field need motion update?
immersedBoundaryFvPatchField(const fvPatch &, const DimensionedField< Type, volMesh > &)
Construct from patch and internal field.
virtual Field< Type > & refValue()
Return access to reference value.
void imposeDeadCondition()
Impose condition in dead cells.
void updateCoeffs()
Update the coefficients associated with the patch field.
void updateIbValues() const
Update IB value and gradient.
int optimisationSwitch(const char *name, const int defaultValue=0)
Lookup optimisation switch or add default value.
virtual const Field< Type > & refValue() const
Return reference value.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
Immersed boundary FV patch.
const immersedBoundaryFvPatch & ibPatch() const
Return reference to immersed boundary patch.
const Field< Type > & ibGrad() const
Return IB surface-normal gradient.
virtual bool fixesValue() const
Return true if this patch field fixes a value.
void correctOffDiag(fvMatrix< Type > &eqn) const
Impose fixed gradient condition by manipulating matrix.
tmp< Field< Type > > imposeDirichletCondition() const
Impose Dirichlet BC at IB cells and return corrected cells values.
tmp< Field< Type > > ibCellValue() const
Return IB cell field.
Type deadCellValue_
Dead cell value.
tmp< Field< Type > > ibSamplingPointValue() const
Return IB sample point field.
Field< Type > ibGrad_
Normal gradient field.
virtual void write(Ostream &) const
Write.
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
tmp< Field< Type > > triGrad() const
Return IB surface-normal gradient.
virtual void rmap(const fvPatchField< Type > &, const labelList &)
Reverse map the given fvPatchField onto this fvPatchField.
Field< Type > refGrad_
Defining normal gradient field.
virtual tmp< fvPatchField< Type > > clone() const
Construct and return a clone.
A list of keyword definitions, which are a keyword followed by any number of values (e....
virtual void autoMap(const fvPatchFieldMapper &)
Map (and resize as needed) from self given a mapping object.
TypeName(immersedBoundaryFvPatch::typeName_())
Runtime type information.
Mesh data needed to do the Finite Volume discretisation.
static const debug::tolerancesSwitch bcTolerance_
Boundary condition update tolerance.
Switch setDeadCellValue_
Set dead cell value.
static const debug::optimisationSwitch nBcIter_
Number of boundary condition update iterations.
void correctDiag(fvMatrix< Type > &eqn) const
Check and correct zero diagonal in dead cells.
commsTypes
Types of communications.
tmp< Field< Type > > gradientBoundaryCoeffs() const
Return the matrix source coefficients corresponding to the.
virtual void setIbCellValues(const Field< Type > &) const
Set IB cell values.
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
Field< Type > ibValue_
Value field.
virtual tmp< Field< Type > > valueBoundaryCoeffs(const tmp< scalarField > &) const
Return the matrix source coefficients corresponding to the.
Foam::immersedBoundaryFvPatchField.
tmp< Field< Type > > imposeNeumannCondition() const
Impose Neumann BC at IB cells and return corrected cells values.
const immersedBoundaryFvPatch & ibPatch_
Local reference cast into the processor patch.
label ibUpdateTimeIndex_
Time index for last update of mesh or moving boundary.
Foam::fvPatchFieldMapper.
tmp< Field< Type > > triValue() const
Return fields on triangular faces.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
virtual const Field< Type > & refGrad() const
Return reference gradient.
virtual void motionUpdate() const
Execute immersed boundary patch field motion update.
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...