Contact-angle boundary condition for multi-phase interface-capturing simulations. More...
Classes | |
class | contactAngleProperties |
Public Types | |
enum | limitControls { lcNone, lcGradient, lcZeroGradient, lcAlpha } |
Alpha limit options. More... | |
Public Member Functions | |
TypeName ("alphaContactAngle") | |
Runtime type information. More... | |
alphaContactAngleFvPatchScalarField (const fvPatch &, const DimensionedField< scalar, volMesh > &) | |
Construct from patch and internal field. More... | |
alphaContactAngleFvPatchScalarField (const fvPatch &, const DimensionedField< scalar, volMesh > &, const dictionary &) | |
Construct from patch, internal field and dictionary. More... | |
alphaContactAngleFvPatchScalarField (const alphaContactAngleFvPatchScalarField &, const fvPatch &, const DimensionedField< scalar, volMesh > &, const fvPatchFieldMapper &) | |
Construct by mapping given alphaContactAngleFvPatchScalarField. More... | |
alphaContactAngleFvPatchScalarField (const alphaContactAngleFvPatchScalarField &, const DimensionedField< scalar, volMesh > &) | |
Construct as copy setting internal field reference. More... | |
virtual tmp< fvPatchScalarField > | clone (const DimensionedField< scalar, volMesh > &iF) const |
Construct and return a clone setting internal field reference. More... | |
const HashTable< contactAngleProperties > & | thetaProps () const |
Return the contact angle properties. More... | |
virtual void | write (Ostream &) const |
Write. More... | |
TypeName ("alphaContactAngle") | |
Runtime type information. More... | |
alphaContactAngleFvPatchScalarField (const fvPatch &, const DimensionedField< scalar, volMesh > &) | |
Construct from patch and internal field. More... | |
alphaContactAngleFvPatchScalarField (const fvPatch &, const DimensionedField< scalar, volMesh > &, const dictionary &) | |
Construct from patch, internal field and dictionary. More... | |
alphaContactAngleFvPatchScalarField (const alphaContactAngleFvPatchScalarField &, const fvPatch &, const DimensionedField< scalar, volMesh > &, const fvPatchFieldMapper &) | |
Construct by mapping given alphaContactAngleFvPatchScalarField. More... | |
alphaContactAngleFvPatchScalarField (const alphaContactAngleFvPatchScalarField &)=delete | |
Disallow copy without setting internal field reference. More... | |
alphaContactAngleFvPatchScalarField (const alphaContactAngleFvPatchScalarField &, const DimensionedField< scalar, volMesh > &) | |
Copy constructor setting internal field reference. More... | |
virtual tmp< scalarField > | theta (const fvPatchVectorField &Up, const fvsPatchVectorField &nHat) const =0 |
Return the contact angle. More... | |
virtual void | evaluate (const Pstream::commsTypes commsType=Pstream::commsTypes::blocking) |
Evaluate the patch field. More... | |
virtual void | write (Ostream &) const |
Write. More... | |
Public Attributes | |
limitControls | limit_ |
Static Public Attributes | |
static const NamedEnum< limitControls, 4 > | limitControlNames_ |
Contact-angle boundary condition for multi-phase interface-capturing simulations.
Abstract base class for alphaContactAngle boundary conditions.
Derived classes must implement the theta() function which returns the wall contact angle field.
The essential entry "limit" controls the gradient of alpha1 on the wall:
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.:
<patchName> { type alphaContactAngle; limit none; }
Definition at line 49 of file alphaContactAngleFvPatchScalarField.H.
enum limitControls |
Alpha limit options.
Enumerator | |
---|---|
lcNone | |
lcGradient | |
lcZeroGradient | |
lcAlpha |
Definition at line 83 of file alphaContactAngleFvPatchScalarField.H.
alphaContactAngleFvPatchScalarField | ( | const fvPatch & | p, |
const DimensionedField< scalar, volMesh > & | iF | ||
) |
Construct from patch and internal field.
Definition at line 33 of file alphaContactAngleFvPatchScalarField.C.
Referenced by alphaContactAngleFvPatchScalarField::alphaContactAngleFvPatchScalarField(), alphaContactAngleFvPatchScalarField::clone(), NamedEnum< compressibleField, 8 >::names(), and alphaContactAngleFvPatchScalarField::contactAngleProperties::thetaR().
alphaContactAngleFvPatchScalarField | ( | const fvPatch & | p, |
const DimensionedField< scalar, volMesh > & | iF, | ||
const dictionary & | dict | ||
) |
Construct from patch, internal field and dictionary.
Definition at line 56 of file alphaContactAngleFvPatchScalarField.C.
References alphaContactAngleFvPatchScalarField::alphaContactAngleFvPatchScalarField(), dict, forAllConstIter, and dictionary::subDict().
alphaContactAngleFvPatchScalarField | ( | const alphaContactAngleFvPatchScalarField & | gcpsf, |
const fvPatch & | p, | ||
const DimensionedField< scalar, volMesh > & | iF, | ||
const fvPatchFieldMapper & | mapper | ||
) |
Construct by mapping given alphaContactAngleFvPatchScalarField.
onto a new patch
Definition at line 43 of file alphaContactAngleFvPatchScalarField.C.
References alphaContactAngleFvPatchScalarField::alphaContactAngleFvPatchScalarField().
alphaContactAngleFvPatchScalarField | ( | const alphaContactAngleFvPatchScalarField & | gcpsf, |
const DimensionedField< scalar, volMesh > & | iF | ||
) |
Construct as copy setting internal field reference.
Definition at line 77 of file alphaContactAngleFvPatchScalarField.C.
References dictionary::found(), and dictionary::lookup().
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
|
delete |
Disallow copy without setting internal field reference.
alphaContactAngleFvPatchScalarField | ( | const alphaContactAngleFvPatchScalarField & | , |
const DimensionedField< scalar, volMesh > & | |||
) |
Copy constructor setting internal field reference.
TypeName | ( | "alphaContactAngle" | ) |
Runtime type information.
Referenced by alphaContactAngleFvPatchScalarField::contactAngleProperties::thetaR().
|
inlinevirtual |
Construct and return a clone setting internal field reference.
Reimplemented in dynamicAlphaContactAngleFvPatchScalarField, temperatureDependentAlphaContactAngleFvPatchScalarField, constantAlphaContactAngleFvPatchScalarField, and timeVaryingAlphaContactAngleFvPatchScalarField.
Definition at line 201 of file alphaContactAngleFvPatchScalarField.H.
References alphaContactAngleFvPatchScalarField::alphaContactAngleFvPatchScalarField().
Referenced by alphaContactAngleFvPatchScalarField::contactAngleProperties::thetaR().
|
inline |
Return the contact angle properties.
Definition at line 215 of file alphaContactAngleFvPatchScalarField.H.
References alphaContactAngleFvPatchScalarField::contactAngleProperties::write().
Referenced by Foam::correctContactAngle(), alphaContactAngleFvPatchScalarField::contactAngleProperties::thetaR(), and alphaContactAngleFvPatchScalarField::write().
|
virtual |
Write.
Reimplemented in dynamicAlphaContactAngleFvPatchScalarField, temperatureDependentAlphaContactAngleFvPatchScalarField, constantAlphaContactAngleFvPatchScalarField, and timeVaryingAlphaContactAngleFvPatchScalarField.
Definition at line 139 of file alphaContactAngleFvPatchScalarField.C.
References token::BEGIN_BLOCK, Foam::decrIndent(), token::END_BLOCK, Foam::endl(), forAllConstIter, Foam::incrIndent(), Foam::indent(), Foam::mag(), Foam::makePatchTypeField(), Foam::nl, alphaContactAngleFvPatchScalarField::thetaProps(), Foam::vtkWriteOps::write(), fvPatchField< Type >::write(), Foam::writeEntry(), and Foam::writeKeyword().
Referenced by alphaContactAngleFvPatchScalarField::evaluate(), and dynamicAlphaContactAngleFvPatchScalarField::write().
TypeName | ( | "alphaContactAngle" | ) |
Runtime type information.
|
pure virtual |
Return the contact angle.
Implemented in dynamicAlphaContactAngleFvPatchScalarField, temperatureDependentAlphaContactAngleFvPatchScalarField, constantAlphaContactAngleFvPatchScalarField, and timeVaryingAlphaContactAngleFvPatchScalarField.
|
virtual |
Evaluate the patch field.
Definition at line 123 of file alphaContactAngleFvPatchScalarField.C.
References Foam::evaluate(), Foam::max(), Foam::min(), Field< scalar >::operator=(), Foam::vtkWriteOps::write(), alphaContactAngleFvPatchScalarField::write(), and Foam::writeEntry().
Referenced by NamedEnum< compressibleField, 8 >::names().
|
virtual |
|
static |
Definition at line 91 of file alphaContactAngleFvPatchScalarField.H.
Referenced by NamedEnum< compressibleField, 8 >::names().
limitControls limit_ |
Definition at line 92 of file alphaContactAngleFvPatchScalarField.H.
Referenced by NamedEnum< compressibleField, 8 >::names().