Data Structures | Public Types | Public Member Functions | Data Fields | Static Public Attributes | Private Attributes
alphaContactAngleFvPatchScalarField Class Referenceabstract

Abstract base class for alphaContactAngle boundary conditions. More...

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

Data Structures

class  interfaceThetaProps
 

Public Types

enum  limitControls { lcNone, lcGradient, lcZeroGradient, lcAlpha }
 Alpha limit options. More...
 
typedef HashTable< interfaceThetaProps, multiphaseMixtureThermo::interfacePair, multiphaseMixtureThermo::interfacePair::hashthetaPropsTable
 
typedef HashTable< interfaceThetaProps, multiphaseSystem::interfacePair, multiphaseSystem::interfacePair::symmHashthetaPropsTable
 
typedef HashTable< interfaceThetaProps, multiphaseMixture::interfacePair, multiphaseMixture::interfacePair::hashthetaPropsTable
 
typedef HashTable< interfaceThetaProps, phasePairKey, phasePairKey::hashthetaPropsTable
 

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 &)
 Construct as copy. More...
 
 alphaContactAngleFvPatchScalarField (const alphaContactAngleFvPatchScalarField &, const DimensionedField< scalar, volMesh > &)
 Construct as copy setting internal field reference. More...
 
virtual tmp< scalarFieldtheta (const fvPatchVectorField &Up, const fvsPatchVectorField &nHat) const =0
 Return the contact angle. More...
 
virtual void evaluate (const Pstream::commsTypes commsType=Pstream::blocking)
 Evaluate the patch field. 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...
 
virtual tmp< fvPatchScalarFieldclone () const
 Construct and return a clone. More...
 
 alphaContactAngleFvPatchScalarField (const alphaContactAngleFvPatchScalarField &, const DimensionedField< scalar, volMesh > &)
 Construct as copy setting internal field reference. More...
 
virtual tmp< fvPatchScalarFieldclone (const DimensionedField< scalar, volMesh > &iF) const
 Construct and return a clone setting internal field reference. More...
 
const thetaPropsTablethetaProps () 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...
 
virtual tmp< fvPatchScalarFieldclone () const
 Construct and return a clone. More...
 
 alphaContactAngleFvPatchScalarField (const alphaContactAngleFvPatchScalarField &, const DimensionedField< scalar, volMesh > &)
 Construct as copy setting internal field reference. More...
 
virtual tmp< fvPatchScalarFieldclone (const DimensionedField< scalar, volMesh > &iF) const
 Construct and return a clone setting internal field reference. More...
 
const thetaPropsTablethetaProps () 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...
 
virtual tmp< fvPatchScalarFieldclone () const
 Construct and return a clone. More...
 
 alphaContactAngleFvPatchScalarField (const alphaContactAngleFvPatchScalarField &, const DimensionedField< scalar, volMesh > &)
 Construct as copy setting internal field reference. More...
 
virtual tmp< fvPatchScalarFieldclone (const DimensionedField< scalar, volMesh > &iF) const
 Construct and return a clone setting internal field reference. More...
 
const thetaPropsTablethetaProps () 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...
 
virtual tmp< fvPatchScalarFieldclone () const
 Construct and return a clone. More...
 
 alphaContactAngleFvPatchScalarField (const alphaContactAngleFvPatchScalarField &, const DimensionedField< scalar, volMesh > &)
 Construct as copy setting internal field reference. More...
 
virtual tmp< fvPatchScalarFieldclone (const DimensionedField< scalar, volMesh > &iF) const
 Construct and return a clone setting internal field reference. More...
 
const thetaPropsTablethetaProps () const
 Return the contact angle properties. More...
 
virtual void write (Ostream &) const
 Write. More...
 

Data Fields

limitControls limit_
 

Static Public Attributes

static const NamedEnum< limitControls, 4 > limitControlNames_
 

Private Attributes

thetaPropsTable thetaProps_
 

Detailed Description

Abstract base class for alphaContactAngle boundary conditions.

Contact-angle boundary condition for multi-phase interface-capturing simulations. Used in conjuction with multiphaseSystem.

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.

myPatch
{
    type            alphaContactAngle;
}

If "limit zeroGradient;" is used the pressure BCs can be left as before.

Source files

Source files

Source files

Source files

Source files

Definition at line 81 of file alphaContactAngleFvPatchScalarField.H.

Member Typedef Documentation

◆ thetaPropsTable [1/4]

Definition at line 121 of file alphaContactAngleFvPatchScalarField.H.

◆ thetaPropsTable [2/4]

Definition at line 121 of file alphaContactAngleFvPatchScalarField.H.

◆ thetaPropsTable [3/4]

Definition at line 121 of file alphaContactAngleFvPatchScalarField.H.

◆ thetaPropsTable [4/4]

Definition at line 121 of file alphaContactAngleFvPatchScalarField.H.

Member Enumeration Documentation

◆ limitControls

Alpha limit options.

Enumerator
lcNone 
lcGradient 
lcZeroGradient 
lcAlpha 

Definition at line 92 of file alphaContactAngleFvPatchScalarField.H.

Constructor & Destructor Documentation

◆ alphaContactAngleFvPatchScalarField() [1/21]

alphaContactAngleFvPatchScalarField ( const fvPatch p,
const DimensionedField< scalar, volMesh > &  iF 
)

Construct from patch and internal field.

Definition at line 62 of file alphaContactAngleFvPatchScalarField.C.

Referenced by alphaContactAngleFvPatchScalarField::clone().

Here is the caller graph for this function:

◆ alphaContactAngleFvPatchScalarField() [2/21]

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

Construct from patch, internal field and dictionary.

Definition at line 86 of file alphaContactAngleFvPatchScalarField.C.

References dict, p, and scalarField().

Here is the call graph for this function:

◆ alphaContactAngleFvPatchScalarField() [3/21]

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 73 of file alphaContactAngleFvPatchScalarField.C.

◆ alphaContactAngleFvPatchScalarField() [4/21]

Construct as copy.

Definition at line 110 of file alphaContactAngleFvPatchScalarField.C.

◆ alphaContactAngleFvPatchScalarField() [5/21]

Construct as copy setting internal field reference.

Definition at line 120 of file alphaContactAngleFvPatchScalarField.C.

◆ alphaContactAngleFvPatchScalarField() [6/21]

alphaContactAngleFvPatchScalarField ( const fvPatch ,
const DimensionedField< scalar, volMesh > &   
)

Construct from patch and internal field.

◆ alphaContactAngleFvPatchScalarField() [7/21]

alphaContactAngleFvPatchScalarField ( const fvPatch ,
const DimensionedField< scalar, volMesh > &  ,
const dictionary  
)

Construct from patch, internal field and dictionary.

◆ alphaContactAngleFvPatchScalarField() [8/21]

Construct by mapping given alphaContactAngleFvPatchScalarField.

onto a new patch

◆ alphaContactAngleFvPatchScalarField() [9/21]

Construct as copy setting internal field reference.

◆ alphaContactAngleFvPatchScalarField() [10/21]

alphaContactAngleFvPatchScalarField ( const fvPatch ,
const DimensionedField< scalar, volMesh > &   
)

Construct from patch and internal field.

◆ alphaContactAngleFvPatchScalarField() [11/21]

alphaContactAngleFvPatchScalarField ( const fvPatch ,
const DimensionedField< scalar, volMesh > &  ,
const dictionary  
)

Construct from patch, internal field and dictionary.

◆ alphaContactAngleFvPatchScalarField() [12/21]

Construct by mapping given alphaContactAngleFvPatchScalarField.

onto a new patch

◆ alphaContactAngleFvPatchScalarField() [13/21]

Construct as copy setting internal field reference.

◆ alphaContactAngleFvPatchScalarField() [14/21]

alphaContactAngleFvPatchScalarField ( const fvPatch ,
const DimensionedField< scalar, volMesh > &   
)

Construct from patch and internal field.

◆ alphaContactAngleFvPatchScalarField() [15/21]

alphaContactAngleFvPatchScalarField ( const fvPatch ,
const DimensionedField< scalar, volMesh > &  ,
const dictionary  
)

Construct from patch, internal field and dictionary.

◆ alphaContactAngleFvPatchScalarField() [16/21]

Construct by mapping given alphaContactAngleFvPatchScalarField.

onto a new patch

◆ alphaContactAngleFvPatchScalarField() [17/21]

Construct as copy setting internal field reference.

◆ alphaContactAngleFvPatchScalarField() [18/21]

alphaContactAngleFvPatchScalarField ( const fvPatch ,
const DimensionedField< scalar, volMesh > &   
)

Construct from patch and internal field.

◆ alphaContactAngleFvPatchScalarField() [19/21]

alphaContactAngleFvPatchScalarField ( const fvPatch ,
const DimensionedField< scalar, volMesh > &  ,
const dictionary  
)

Construct from patch, internal field and dictionary.

◆ alphaContactAngleFvPatchScalarField() [20/21]

Construct by mapping given alphaContactAngleFvPatchScalarField.

onto a new patch

◆ alphaContactAngleFvPatchScalarField() [21/21]

Construct as copy setting internal field reference.

Member Function Documentation

◆ TypeName() [1/5]

TypeName ( "alphaContactAngle"  )

Runtime type information.

◆ theta()

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

◆ evaluate()

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

Evaluate the patch field.

Definition at line 133 of file alphaContactAngleFvPatchScalarField.C.

References Foam::max(), and Foam::min().

Referenced by interfaceProperties::correctContactAngle().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ write() [1/5]

void write ( Ostream os) const
virtual

Write.

Reimplemented in dynamicAlphaContactAngleFvPatchScalarField, constantAlphaContactAngleFvPatchScalarField, and timeVaryingAlphaContactAngleFvPatchScalarField.

Definition at line 164 of file alphaContactAngleFvPatchScalarField.C.

References Foam::nl, write(), and Ostream::writeKeyword().

Referenced by dynamicAlphaContactAngleFvPatchScalarField::write().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ TypeName() [2/5]

TypeName ( "alphaContactAngle"  )

Runtime type information.

◆ clone() [1/8]

virtual tmp<fvPatchScalarField> clone ( ) const
inlinevirtual

◆ clone() [2/8]

virtual tmp<fvPatchScalarField> clone ( const DimensionedField< scalar, volMesh > &  iF) const
inlinevirtual

Construct and return a clone setting internal field reference.

Reimplemented in dynamicAlphaContactAngleFvPatchScalarField, constantAlphaContactAngleFvPatchScalarField, and timeVaryingAlphaContactAngleFvPatchScalarField.

Definition at line 182 of file alphaContactAngleFvPatchScalarField.H.

References alphaContactAngleFvPatchScalarField::alphaContactAngleFvPatchScalarField().

Here is the call graph for this function:

◆ thetaProps() [1/4]

const thetaPropsTable& thetaProps ( ) const
inline

Return the contact angle properties.

Definition at line 196 of file alphaContactAngleFvPatchScalarField.H.

References alphaContactAngleFvPatchScalarField::thetaProps_.

◆ write() [2/5]

virtual void write ( Ostream ) const
virtual

◆ TypeName() [3/5]

TypeName ( "alphaContactAngle"  )

Runtime type information.

◆ clone() [3/8]

virtual tmp<fvPatchScalarField> clone ( ) const
inlinevirtual

◆ clone() [4/8]

virtual tmp<fvPatchScalarField> clone ( const DimensionedField< scalar, volMesh > &  iF) const
inlinevirtual

Construct and return a clone setting internal field reference.

Reimplemented in dynamicAlphaContactAngleFvPatchScalarField, constantAlphaContactAngleFvPatchScalarField, and timeVaryingAlphaContactAngleFvPatchScalarField.

Definition at line 182 of file alphaContactAngleFvPatchScalarField.H.

References alphaContactAngleFvPatchScalarField::alphaContactAngleFvPatchScalarField().

Here is the call graph for this function:

◆ thetaProps() [2/4]

const thetaPropsTable& thetaProps ( ) const
inline

Return the contact angle properties.

Definition at line 196 of file alphaContactAngleFvPatchScalarField.H.

References alphaContactAngleFvPatchScalarField::thetaProps_.

◆ write() [3/5]

virtual void write ( Ostream ) const
virtual

◆ TypeName() [4/5]

TypeName ( "alphaContactAngle"  )

Runtime type information.

◆ clone() [5/8]

virtual tmp<fvPatchScalarField> clone ( ) const
inlinevirtual

◆ clone() [6/8]

virtual tmp<fvPatchScalarField> clone ( const DimensionedField< scalar, volMesh > &  iF) const
inlinevirtual

Construct and return a clone setting internal field reference.

Reimplemented in dynamicAlphaContactAngleFvPatchScalarField, constantAlphaContactAngleFvPatchScalarField, and timeVaryingAlphaContactAngleFvPatchScalarField.

Definition at line 182 of file alphaContactAngleFvPatchScalarField.H.

References alphaContactAngleFvPatchScalarField::alphaContactAngleFvPatchScalarField().

Here is the call graph for this function:

◆ thetaProps() [3/4]

const thetaPropsTable& thetaProps ( ) const
inline

Return the contact angle properties.

Definition at line 196 of file alphaContactAngleFvPatchScalarField.H.

References alphaContactAngleFvPatchScalarField::thetaProps_.

◆ write() [4/5]

virtual void write ( Ostream ) const
virtual

◆ TypeName() [5/5]

TypeName ( "alphaContactAngle"  )

Runtime type information.

◆ clone() [7/8]

virtual tmp<fvPatchScalarField> clone ( ) const
inlinevirtual

◆ clone() [8/8]

virtual tmp<fvPatchScalarField> clone ( const DimensionedField< scalar, volMesh > &  iF) const
inlinevirtual

Construct and return a clone setting internal field reference.

Reimplemented in dynamicAlphaContactAngleFvPatchScalarField, constantAlphaContactAngleFvPatchScalarField, and timeVaryingAlphaContactAngleFvPatchScalarField.

Definition at line 182 of file alphaContactAngleFvPatchScalarField.H.

References alphaContactAngleFvPatchScalarField::alphaContactAngleFvPatchScalarField().

Here is the call graph for this function:

◆ thetaProps() [4/4]

const thetaPropsTable& thetaProps ( ) const
inline

Return the contact angle properties.

Definition at line 196 of file alphaContactAngleFvPatchScalarField.H.

References alphaContactAngleFvPatchScalarField::thetaProps_.

◆ write() [5/5]

virtual void write ( Ostream ) const
virtual

Field Documentation

◆ limitControlNames_

Definition at line 100 of file alphaContactAngleFvPatchScalarField.H.

◆ limit_

limitControls limit_

Definition at line 101 of file alphaContactAngleFvPatchScalarField.H.

◆ thetaProps_

thetaPropsTable thetaProps_
private

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