Abstract base class for alphaContactAngle boundary conditions. More...
Abstract base class for alphaContactAngle boundary conditions.
Contact-angle boundary condition for multi-phase interface-capturing simulations. Used in conjuction with multiphaseMixture.
Derived classes must implement the theta() fuction which returns the wall contact angle field.
The essential entry "limit" controls the gradient of alpha1 on the wall:
limit none; // Calculate the gradient from the contact-angle without limiter
limit gradient; // Limit the wall-gradient such that alpha1 remains bounded on the wall
limit alpha;// Bound the calculated alpha1 on the wall
limit zeroGradient; // Set the gradient of alpha1 to 0 on the wall i.e. reproduce previous behaviour
Note that if any of the first three options are used the boundary condition on p_rgh must set to guarantee that the flux is corrected to be zero at the wall e.g.
walls { typefixedFluxPressure; adjoint no; }
If "limit zeroGradient;" is used the pressure BCs can be left as before.
Definition at line 78 of file alphaContactAngleFvPatchScalarField.H.
Classes | |
class | interfaceThetaProps |
Public Types | |
enum | limitControls { lcNone, lcGradient, lcZeroGradient, lcAlpha } |
Alpha limit options. More... | |
typedef HashTable < interfaceThetaProps, multiphaseMixture::interfacePair, multiphaseMixture::interfacePair::hash > | thetaPropsTable |
Public Member Functions | |
TypeName ("alphaContactAngle") | |
Runtime type information.
| |
alphaContactAngleFvPatchScalarField (const fvPatch &, const DimensionedField< scalar, volMesh > &) | |
Construct from patch and internal field.
| |
alphaContactAngleFvPatchScalarField (const fvPatch &, const DimensionedField< scalar, volMesh > &, const dictionary &) | |
Construct from patch, internal field and dictionary.
| |
alphaContactAngleFvPatchScalarField (const alphaContactAngleFvPatchScalarField &, const fvPatch &, const DimensionedField< scalar, volMesh > &, const fvPatchFieldMapper &) | |
Construct by mapping given alphaContactAngleFvPatchScalarField.
| |
alphaContactAngleFvPatchScalarField (const alphaContactAngleFvPatchScalarField &) | |
Construct as copy.
| |
alphaContactAngleFvPatchScalarField (const alphaContactAngleFvPatchScalarField &, const DimensionedField< scalar, volMesh > &) | |
Construct as copy setting internal field reference.
| |
virtual tmp< scalarField > | theta (const fvPatchVectorField &Up, const fvsPatchVectorField &nHat) const =0 |
Return the contact angle.
| |
virtual void | evaluate (const Pstream::commsTypes commsType=Pstream::blocking) |
Evaluate the patch field.
| |
virtual void | write (Ostream &) const |
Write.
| |
TypeName ("alphaContactAngle") | |
Runtime type information.
| |
alphaContactAngleFvPatchScalarField (const fvPatch &, const DimensionedField< scalar, volMesh > &) | |
Construct from patch and internal field.
| |
alphaContactAngleFvPatchScalarField (const fvPatch &, const DimensionedField< scalar, volMesh > &, const dictionary &) | |
Construct from patch, internal field and dictionary.
| |
alphaContactAngleFvPatchScalarField (const alphaContactAngleFvPatchScalarField &, const fvPatch &, const DimensionedField< scalar, volMesh > &, const fvPatchFieldMapper &) | |
Construct by mapping given alphaContactAngleFvPatchScalarField.
| |
virtual tmp< fvPatchScalarField > | clone () const |
Construct and return a clone.
| |
alphaContactAngleFvPatchScalarField (const alphaContactAngleFvPatchScalarField &, const DimensionedField< scalar, volMesh > &) | |
Construct as copy setting internal field reference.
| |
virtual tmp< fvPatchScalarField > | clone (const DimensionedField< scalar, volMesh > &iF) const |
Construct and return a clone setting internal field reference.
| |
const thetaPropsTable & | thetaProps () const |
Return the contact angle properties.
| |
virtual void | write (Ostream &) const |
Write.
| |
Public Attributes | |
limitControls | limit_ |
Static Public Attributes | |
static const NamedEnum < limitControls, 4 > | limitControlNames_ |
typedef HashTable< interfaceThetaProps, multiphaseMixture::interfacePair, multiphaseMixture::interfacePair::hash > thetaPropsTable |
Definition at line 122 of file alphaContactAngleFvPatchScalarField.H.
enum limitControls |
Alpha limit options.
Definition at line 89 of file alphaContactAngleFvPatchScalarField.H.
alphaContactAngleFvPatchScalarField | ( | const fvPatch & | p, |
const DimensionedField< scalar, volMesh > & | iF | ||
) |
Construct from patch and internal field.
Definition at line 61 of file alphaContactAngleFvPatchScalarField.C.
Referenced by alphaContactAngleFvPatchScalarField::clone().
alphaContactAngleFvPatchScalarField | ( | const fvPatch & | p, |
const DimensionedField< scalar, volMesh > & | iF, | ||
const dictionary & | dict | ||
) |
Construct from patch, internal field and dictionary.
Definition at line 85 of file alphaContactAngleFvPatchScalarField.C.
References dictionary::found(), and fvPatch::size().
alphaContactAngleFvPatchScalarField | ( | const alphaContactAngleFvPatchScalarField & | acpsf, |
const fvPatch & | p, | ||
const DimensionedField< scalar, volMesh > & | iF, | ||
const fvPatchFieldMapper & | mapper | ||
) |
Construct by mapping given alphaContactAngleFvPatchScalarField.
onto a new patch
Definition at line 72 of file alphaContactAngleFvPatchScalarField.C.
alphaContactAngleFvPatchScalarField | ( | const alphaContactAngleFvPatchScalarField & | acpsf ) |
Construct as copy.
Definition at line 109 of file alphaContactAngleFvPatchScalarField.C.
alphaContactAngleFvPatchScalarField | ( | const alphaContactAngleFvPatchScalarField & | acpsf, |
const DimensionedField< scalar, volMesh > & | iF | ||
) |
Construct as copy setting internal field reference.
Definition at line 119 of file alphaContactAngleFvPatchScalarField.C.
alphaContactAngleFvPatchScalarField | ( | const fvPatch & | , |
const DimensionedField< scalar, volMesh > & | |||
) |
Construct from patch and internal field.
alphaContactAngleFvPatchScalarField | ( | const fvPatch & | , |
const DimensionedField< scalar, volMesh > & | , | ||
const dictionary & | |||
) |
Construct from patch, internal field and dictionary.
alphaContactAngleFvPatchScalarField | ( | const alphaContactAngleFvPatchScalarField & | , |
const fvPatch & | , | ||
const DimensionedField< scalar, volMesh > & | , | ||
const fvPatchFieldMapper & | |||
) |
Construct by mapping given alphaContactAngleFvPatchScalarField.
onto a new patch
alphaContactAngleFvPatchScalarField | ( | const alphaContactAngleFvPatchScalarField & | , |
const DimensionedField< scalar, volMesh > & | |||
) |
Construct as copy setting internal field reference.
TypeName | ( | "alphaContactAngle" | ) |
Runtime type information.
virtual tmp<scalarField> theta | ( | const fvPatchVectorField & | Up, |
const fvsPatchVectorField & | nHat | ||
) | const [pure virtual]
|
Return the contact angle.
Implemented in constantAlphaContactAngleFvPatchScalarField, dynamicAlphaContactAngleFvPatchScalarField, and timeVaryingAlphaContactAngleFvPatchScalarField.
void evaluate | ( | const Pstream::commsTypes | commsType = Pstream::blocking
) |
[virtual]
|
Evaluate the patch field.
Definition at line 132 of file alphaContactAngleFvPatchScalarField.C.
References Foam::max(), and Foam::min().
void write | ( | Ostream & | os ) | const [virtual]
|
Write.
Reimplemented in constantAlphaContactAngleFvPatchScalarField, dynamicAlphaContactAngleFvPatchScalarField, and timeVaryingAlphaContactAngleFvPatchScalarField.
Definition at line 163 of file alphaContactAngleFvPatchScalarField.C.
References Foam::nl, and Ostream::writeKeyword().
TypeName | ( | "alphaContactAngle" | ) |
Runtime type information.
virtual tmp<fvPatchScalarField> clone | ( | ) | const [inline, virtual]
|
Construct and return a clone.
Reimplemented in constantAlphaContactAngleFvPatchScalarField, dynamicAlphaContactAngleFvPatchScalarField, and timeVaryingAlphaContactAngleFvPatchScalarField.
Definition at line 166 of file alphaContactAngleFvPatchScalarField.H.
References alphaContactAngleFvPatchScalarField::alphaContactAngleFvPatchScalarField().
virtual tmp<fvPatchScalarField> clone | ( | const DimensionedField< scalar, volMesh > & | iF ) | const [inline, virtual]
|
Construct and return a clone setting internal field reference.
Reimplemented in constantAlphaContactAngleFvPatchScalarField, dynamicAlphaContactAngleFvPatchScalarField, and timeVaryingAlphaContactAngleFvPatchScalarField.
Definition at line 183 of file alphaContactAngleFvPatchScalarField.H.
References alphaContactAngleFvPatchScalarField::alphaContactAngleFvPatchScalarField().
const thetaPropsTable& thetaProps | ( | ) | const [inline]
|
Return the contact angle properties.
Definition at line 197 of file alphaContactAngleFvPatchScalarField.H.
virtual void write | ( | Ostream & | ) | const [virtual]
|
Write.
Reimplemented in constantAlphaContactAngleFvPatchScalarField, dynamicAlphaContactAngleFvPatchScalarField, and timeVaryingAlphaContactAngleFvPatchScalarField.
const Foam::NamedEnum< Foam::alphaContactAngleFvPatchScalarField::limitControls, 4 > limitControlNames_ [static]
|
Definition at line 97 of file alphaContactAngleFvPatchScalarField.H.
Definition at line 98 of file alphaContactAngleFvPatchScalarField.H.