Public Types | Public Member Functions | Public Attributes | Static Public Attributes | List of all members
alphaContactAngleTwoPhaseFvPatchScalarField Class Referenceabstract

Abstract base class for two-phase alphaContactAngle boundary conditions. More...

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

Public Types

enum  limitControls { lcNone, lcGradient, lcZeroGradient, lcAlpha }
 

Public Member Functions

 alphaContactAngleTwoPhaseFvPatchScalarField (const fvPatch &, const DimensionedField< scalar, volMesh > &)
 
 alphaContactAngleTwoPhaseFvPatchScalarField (const fvPatch &, const DimensionedField< scalar, volMesh > &, const dictionary &)
 
 alphaContactAngleTwoPhaseFvPatchScalarField (const alphaContactAngleTwoPhaseFvPatchScalarField &, const fvPatch &, const DimensionedField< scalar, volMesh > &, const fvPatchFieldMapper &)
 
 alphaContactAngleTwoPhaseFvPatchScalarField (const alphaContactAngleTwoPhaseFvPatchScalarField &)
 
 alphaContactAngleTwoPhaseFvPatchScalarField (const alphaContactAngleTwoPhaseFvPatchScalarField &, const DimensionedField< scalar, volMesh > &)
 
virtual tmp< scalarFieldtheta (const fvPatchVectorField &Up, const fvsPatchVectorField &nHat) const =0
 
virtual void evaluate (const Pstream::commsTypes commsType=Pstream::commsTypes::blocking)
 
virtual void write (Ostream &os) const
 

Public Attributes

limitControls limit_
 

Static Public Attributes

static const Enum< limitControlslimitControlNames_
 

Detailed Description

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;
}
Source files

Definition at line 74 of file alphaContactAngleTwoPhaseFvPatchScalarField.H.

Member Enumeration Documentation

◆ limitControls

Enumerator
lcNone 
lcGradient 
lcZeroGradient 
lcAlpha 

Definition at line 83 of file alphaContactAngleTwoPhaseFvPatchScalarField.H.

Constructor & Destructor Documentation

◆ alphaContactAngleTwoPhaseFvPatchScalarField() [1/5]

◆ alphaContactAngleTwoPhaseFvPatchScalarField() [2/5]

alphaContactAngleTwoPhaseFvPatchScalarField ( const fvPatch p,
const DimensionedField< scalar, volMesh > &  iF,
const dictionary dict 
)

Definition at line 57 of file alphaContactAngleTwoPhaseFvPatchScalarField.C.

References dict, Foam::stringOps::evaluate(), and p.

Here is the call graph for this function:

◆ alphaContactAngleTwoPhaseFvPatchScalarField() [3/5]

◆ alphaContactAngleTwoPhaseFvPatchScalarField() [4/5]

◆ alphaContactAngleTwoPhaseFvPatchScalarField() [5/5]

Member Function Documentation

◆ theta()

virtual tmp<scalarField> theta ( const fvPatchVectorField Up,
const fvsPatchVectorField nHat 
) const
pure virtual

◆ evaluate()

void evaluate ( const Pstream::commsTypes  commsType = Pstream::commsTypes::blocking)
virtual

Definition at line 120 of file alphaContactAngleTwoPhaseFvPatchScalarField.C.

References Foam::stringOps::evaluate(), Foam::max(), Foam::min(), and Foam::foamVersion::patch.

Here is the call graph for this function:

◆ write()

void write ( Ostream os) const
virtual

Member Data Documentation

◆ limitControlNames_

◆ limit_

limitControls limit_

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