Abstract base class for two-phase alphaContactAngle boundary conditions. More...
#include <alphaContactAngleTwoPhaseFvPatchScalarField.H>


Public Types | |
| enum | limitControls { lcNone , lcGradient , lcZeroGradient , lcAlpha } |
| Alpha limit options. More... | |
Public Member Functions | |
| alphaContactAngleTwoPhaseFvPatchScalarField (const fvPatch &, const DimensionedField< scalar, volMesh > &) | |
| Construct from patch and internal field. | |
| alphaContactAngleTwoPhaseFvPatchScalarField (const fvPatch &, const DimensionedField< scalar, volMesh > &, const dictionary &) | |
| Construct from patch, internal field and dictionary. | |
| alphaContactAngleTwoPhaseFvPatchScalarField (const alphaContactAngleTwoPhaseFvPatchScalarField &, const fvPatch &, const DimensionedField< scalar, volMesh > &, const fvPatchFieldMapper &) | |
| Construct by mapping onto a new patch. | |
| alphaContactAngleTwoPhaseFvPatchScalarField (const alphaContactAngleTwoPhaseFvPatchScalarField &) | |
| Construct as copy. | |
| alphaContactAngleTwoPhaseFvPatchScalarField (const alphaContactAngleTwoPhaseFvPatchScalarField &, 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::commsTypes::buffered) |
| Evaluate the patch field. | |
| virtual void | write (Ostream &os) const |
| Write. | |
Public Attributes | |
| limitControls | limit_ |
Static Public Attributes | |
| static const Enum< limitControls > | limitControlNames_ |
Abstract base class for two-phase 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 74 of file alphaContactAngleTwoPhaseFvPatchScalarField.H.
| enum limitControls |
Alpha limit options.
| Enumerator | |
|---|---|
| lcNone | |
| lcGradient | |
| lcZeroGradient | |
| lcAlpha | |
Definition at line 85 of file alphaContactAngleTwoPhaseFvPatchScalarField.H.
| alphaContactAngleTwoPhaseFvPatchScalarField | ( | const fvPatch & | p, |
| const DimensionedField< scalar, volMesh > & | iF ) |
Construct from patch and internal field.
Definition at line 43 of file alphaContactAngleTwoPhaseFvPatchScalarField.C.
References lcZeroGradient, limit_, and p.
Referenced by alphaContactAngleTwoPhaseFvPatchScalarField(), alphaContactAngleTwoPhaseFvPatchScalarField(), alphaContactAngleTwoPhaseFvPatchScalarField(), constantAlphaContactAngleFvPatchScalarField::constantAlphaContactAngleFvPatchScalarField(), constantAlphaContactAngleFvPatchScalarField::constantAlphaContactAngleFvPatchScalarField(), constantAlphaContactAngleFvPatchScalarField::constantAlphaContactAngleFvPatchScalarField(), constantAlphaContactAngleFvPatchScalarField::constantAlphaContactAngleFvPatchScalarField(), constantAlphaContactAngleFvPatchScalarField::constantAlphaContactAngleFvPatchScalarField(), dynamicAlphaContactAngleFvPatchScalarField::dynamicAlphaContactAngleFvPatchScalarField(), dynamicAlphaContactAngleFvPatchScalarField::dynamicAlphaContactAngleFvPatchScalarField(), dynamicAlphaContactAngleFvPatchScalarField::dynamicAlphaContactAngleFvPatchScalarField(), dynamicAlphaContactAngleFvPatchScalarField::dynamicAlphaContactAngleFvPatchScalarField(), dynamicAlphaContactAngleFvPatchScalarField::dynamicAlphaContactAngleFvPatchScalarField(), temperatureDependentAlphaContactAngleFvPatchScalarField::temperatureDependentAlphaContactAngleFvPatchScalarField(), temperatureDependentAlphaContactAngleFvPatchScalarField::temperatureDependentAlphaContactAngleFvPatchScalarField(), temperatureDependentAlphaContactAngleFvPatchScalarField::temperatureDependentAlphaContactAngleFvPatchScalarField(), temperatureDependentAlphaContactAngleFvPatchScalarField::temperatureDependentAlphaContactAngleFvPatchScalarField(), temperatureDependentAlphaContactAngleFvPatchScalarField::temperatureDependentAlphaContactAngleFvPatchScalarField(), timeVaryingAlphaContactAngleFvPatchScalarField::timeVaryingAlphaContactAngleFvPatchScalarField(), timeVaryingAlphaContactAngleFvPatchScalarField::timeVaryingAlphaContactAngleFvPatchScalarField(), timeVaryingAlphaContactAngleFvPatchScalarField::timeVaryingAlphaContactAngleFvPatchScalarField(), and timeVaryingAlphaContactAngleFvPatchScalarField::timeVaryingAlphaContactAngleFvPatchScalarField().

| alphaContactAngleTwoPhaseFvPatchScalarField | ( | const fvPatch & | p, |
| const DimensionedField< scalar, volMesh > & | iF, | ||
| const dictionary & | dict ) |
Construct from patch, internal field and dictionary.
Definition at line 55 of file alphaContactAngleTwoPhaseFvPatchScalarField.C.
References dict, limit_, limitControlNames_, p, and Foam::Zero.
| alphaContactAngleTwoPhaseFvPatchScalarField | ( | const alphaContactAngleTwoPhaseFvPatchScalarField & | acpsf, |
| const fvPatch & | p, | ||
| const DimensionedField< scalar, volMesh > & | iF, | ||
| const fvPatchFieldMapper & | mapper ) |
Construct by mapping onto a new patch.
Definition at line 80 of file alphaContactAngleTwoPhaseFvPatchScalarField.C.
References alphaContactAngleTwoPhaseFvPatchScalarField(), limit_, and p.

| alphaContactAngleTwoPhaseFvPatchScalarField | ( | const alphaContactAngleTwoPhaseFvPatchScalarField & | acpsf | ) |
Construct as copy.
Definition at line 94 of file alphaContactAngleTwoPhaseFvPatchScalarField.C.
References alphaContactAngleTwoPhaseFvPatchScalarField(), and limit_.

| alphaContactAngleTwoPhaseFvPatchScalarField | ( | const alphaContactAngleTwoPhaseFvPatchScalarField & | acpsf, |
| const DimensionedField< scalar, volMesh > & | iF ) |
Construct as copy setting internal field reference.
Definition at line 105 of file alphaContactAngleTwoPhaseFvPatchScalarField.C.
References alphaContactAngleTwoPhaseFvPatchScalarField(), and limit_.

|
pure virtual |
Return the contact angle.
Implemented in constantAlphaContactAngleFvPatchScalarField, dynamicAlphaContactAngleFvPatchScalarField, temperatureDependentAlphaContactAngleFvPatchScalarField, and timeVaryingAlphaContactAngleFvPatchScalarField.
References UPstream::buffered, and os().
Referenced by reconstructedDistanceFunction::updateContactAngle().


|
virtual |
Evaluate the patch field.
Definition at line 119 of file alphaContactAngleTwoPhaseFvPatchScalarField.C.
References Foam::clamp(), lcAlpha, lcGradient, lcZeroGradient, limit_, Field< scalar >::operator=(), and Foam::Zero.
Referenced by constantAlphaContactAngleFvPatchScalarField::constantAlphaContactAngleFvPatchScalarField(), dynamicAlphaContactAngleFvPatchScalarField::dynamicAlphaContactAngleFvPatchScalarField(), temperatureDependentAlphaContactAngleFvPatchScalarField::temperatureDependentAlphaContactAngleFvPatchScalarField(), and timeVaryingAlphaContactAngleFvPatchScalarField::timeVaryingAlphaContactAngleFvPatchScalarField().


|
virtual |
Write.
Reimplemented in constantAlphaContactAngleFvPatchScalarField, dynamicAlphaContactAngleFvPatchScalarField, temperatureDependentAlphaContactAngleFvPatchScalarField, and timeVaryingAlphaContactAngleFvPatchScalarField.
Definition at line 147 of file alphaContactAngleTwoPhaseFvPatchScalarField.C.
References limit_, limitControlNames_, os(), and fixedGradientFvPatchField< Type >::write().
Referenced by constantAlphaContactAngleFvPatchScalarField::write(), dynamicAlphaContactAngleFvPatchScalarField::write(), temperatureDependentAlphaContactAngleFvPatchScalarField::write(), and timeVaryingAlphaContactAngleFvPatchScalarField::write().


|
static |
Definition at line 93 of file alphaContactAngleTwoPhaseFvPatchScalarField.H.
Referenced by alphaContactAngleTwoPhaseFvPatchScalarField(), and write().
| limitControls limit_ |
Definition at line 94 of file alphaContactAngleTwoPhaseFvPatchScalarField.H.
Referenced by alphaContactAngleTwoPhaseFvPatchScalarField(), alphaContactAngleTwoPhaseFvPatchScalarField(), alphaContactAngleTwoPhaseFvPatchScalarField(), alphaContactAngleTwoPhaseFvPatchScalarField(), alphaContactAngleTwoPhaseFvPatchScalarField(), evaluate(), and write().