Base-class for film contact angle force models. More...
Public Member Functions | |
TypeName ("contactAngle") | |
Runtime type information. More... | |
contactAngleForce (const word &typeName, liquidFilmBase &film, const dictionary &dict) | |
Construct from surface film model. More... | |
virtual | ~contactAngleForce ()=default |
Destructor. More... | |
virtual tmp< faVectorMatrix > | correct (areaVectorField &U) |
Correct. More... | |
Public Member Functions inherited from force | |
TypeName ("force") | |
Runtime type information. More... | |
declareRunTimeSelectionTable (autoPtr, force, dictionary,(liquidFilmBase &film, const dictionary &dict),(film, dict)) | |
force (liquidFilmBase &film) | |
Construct null. More... | |
force (const word &modelType, liquidFilmBase &film, const dictionary &dict) | |
Construct from type name, dictionary and surface film model. More... | |
virtual | ~force () |
Destructor. More... | |
Public Member Functions inherited from filmSubModelBase | |
filmSubModelBase (liquidFilmBase &film) | |
Construct null. More... | |
filmSubModelBase (liquidFilmBase &film, const dictionary &dict, const word &baseName, const word &modelType, const word &dictExt="Coeffs") | |
Construct from film film without name. More... | |
filmSubModelBase (const word &modelName, liquidFilmBase &film, const dictionary &dict, const word &baseName, const word &modelType) | |
Construct from film film with name. More... | |
virtual | ~filmSubModelBase () |
Destructor. More... | |
virtual bool | writeTime () const |
Flag to indicate when to write a property. More... | |
const liquidFilmBase & | film () const |
Return const access to the film surface film model. More... | |
liquidFilmBase & | film () |
Return the reference to the film surface film model. More... | |
template<class FilmType > | |
const FilmType & | filmType () const |
Public Member Functions inherited from subModelBase | |
subModelBase (dictionary &properties) | |
Construct null. More... | |
subModelBase (dictionary &properties, const dictionary &dict, const word &baseName, const word &modelType, const word &dictExt="Coeffs") | |
Construct from components without name. More... | |
subModelBase (const word &modelName, dictionary &properties, const dictionary &dict, const word &baseName, const word &modelType) | |
Construct from components with name. More... | |
subModelBase (const subModelBase &smb) | |
Construct as copy. More... | |
virtual | ~subModelBase ()=default |
Destructor. More... | |
const word & | modelName () const |
Return const access to the name of the sub-model. More... | |
const dictionary & | dict () const |
Return const access to the cloud dictionary. More... | |
const word & | baseName () const |
Return const access to the base name of the sub-model. More... | |
const word & | modelType () const |
Return const access to the sub-model type. More... | |
const dictionary & | coeffDict () const |
Return const access to the coefficients dictionary. More... | |
const dictionary & | properties () const |
Return const access to the properties dictionary. More... | |
virtual bool | defaultCoeffs (const bool printMsg) const |
Returns true if defaultCoeffs is true and outputs on printMsg. More... | |
virtual bool | active () const |
Return the model 'active' status - default active = true. More... | |
virtual void | cacheFields (const bool store) |
Cache dependent sub-model fields. More... | |
virtual fileName | localPath () const |
Output directory. More... | |
template<class Type > | |
Type | getBaseProperty (const word &entryName, const Type &defaultValue=Type(Zero)) const |
Retrieve generic property from the base model. More... | |
template<class Type > | |
void | getBaseProperty (const word &entryName, Type &value) const |
Retrieve generic property from the base model. More... | |
template<class Type > | |
void | setBaseProperty (const word &entryName, const Type &value) |
Add generic property to the base model. More... | |
bool | getModelDict (const word &entryName, dictionary &dict) const |
Retrieve dictionary, return true if set. More... | |
template<class Type > | |
bool | getModelProperty (const word &entryName, Type &value) const |
Retrieve generic property from the sub-model. More... | |
template<class Type > | |
Type | getModelProperty (const word &entryName, const Type &defaultValue=Type(Zero)) const |
Retrieve generic property from the sub-model. More... | |
template<class Type > | |
void | setModelProperty (const word &entryName, const Type &value) |
Add generic property to the sub-model. More... | |
virtual void | write (Ostream &os) const |
Write. More... | |
Protected Member Functions | |
virtual tmp< areaScalarField > | theta () const =0 |
Return the contact angle field. More... | |
Protected Member Functions inherited from subModelBase | |
bool | inLine () const |
Flag to indicate whether data is/was read in-line. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from force | |
static autoPtr< force > | New (liquidFilmBase &film, const dictionary &dict, const word &modelType) |
Return a reference to the selected force model. More... | |
Public Attributes inherited from subModelBase | |
bool | log |
Flag to write log into Info. More... | |
Protected Attributes inherited from filmSubModelBase | |
liquidFilmBase & | filmModel_ |
Reference to the film surface film model. More... | |
Protected Attributes inherited from subModelBase | |
const word | modelName_ |
Name of the sub-model. More... | |
dictionary & | properties_ |
Reference to properties dictionary e.g. for restart. More... | |
const dictionary | dict_ |
Copy of dictionary used during construction. More... | |
const word | baseName_ |
Name of the sub-model base class. More... | |
const word | modelType_ |
Type of the sub-model. More... | |
const dictionary | coeffDict_ |
Coefficients dictionary. More... | |
Base-class for film contact angle force models.
The effect of the contact angle force can be ignored over a specified distance from patches.
The contact-angle force is implemented as follows:
with if :
where
= | Contact-angle force [N/m^2/rho] | |
= | Empirical constant [-] | |
= | Liquid-air interfacial surface tension [kg/s^2] | |
= | Contact angle [rad] | |
= | Inverse width in direction normal to contact line [1/m] | |
= | Direction normal to contact line [-] | |
= | Film density [kg/m^3] | |
= | Face-area vector [m^2] | |
= | Contact-line movement force [N/m^2/rho] | |
= | Film kinematic viscosity [m^2/s] | |
= | Film velocity [m/s] | |
= | Critical film height [m] |
Reference:
Governing equations (tag:MHDX): Meredith, K. V., Heather, A., De Vries, J., & Xin, Y. (2011). A numerical model for partially-wetted flow of thin liquid films. Computational Methods in Multiphase Flow VI, 70, 239. Contact line movement (tag:NDPC): Novák, M., Devaradja, R., Papper, J., & Černý, M. (2020). Efficient CFD methods for assessment of water management. In 20. Internationales Stuttgarter Symposium (pp. 151-170). Springer Vieweg, Wiesbaden.
{ // Mandatory entries Ccf <scalar>; // Optional entries hCrit <scalar>; // Inherited entries ... }
where the entries mean:
Property | Description | Type | Reqd | Deflt |
---|---|---|---|---|
Ccf | Empirical coefficient | scalar | yes | - |
hCrit | Critical film height [m] | scalar | no | GREAT |
The inherited entries are elaborated in:
Definition at line 188 of file contactAngleForce.H.
contactAngleForce | ( | const word & | typeName, |
liquidFilmBase & | film, | ||
const dictionary & | dict | ||
) |
Construct from surface film model.
Definition at line 41 of file contactAngleForce.C.
|
virtualdefault |
Destructor.
|
protectedpure virtual |
Return the contact angle field.
Implemented in dynamicContactAngleForce.
Referenced by contactAngleForce::correct().
TypeName | ( | "contactAngle" | ) |
Runtime type information.
|
virtual |
Correct.
Implements force.
Definition at line 55 of file contactAngleForce.C.
References Foam::constant::atomic::alpha, liquidFilmBase::alpha(), Foam::cos(), Foam::degToRad(), edgeInterpolation::deltaCoeffs(), Foam::dimArea, Foam::dimDensity, Foam::dimForce, DimensionedField< Type, GeoMesh >::field(), filmSubModelBase::film(), forAll, Foam::fac::grad(), liquidFilmBase::h(), Foam::constant::physicoChemical::mu, liquidFilmBase::mu(), n, faMesh::neighbour(), tmp< T >::New(), IOobjectOption::NO_READ, IOobjectOption::NO_REGISTER, IOobjectOption::NO_WRITE, Foam::normalised(), faMesh::owner(), p, regionFaModel::regionMesh(), liquidFilmBase::rho(), rhof(), faMesh::S(), IOobject::scopedName(), sigma(), liquidFilmBase::sigma(), contactAngleForce::theta(), timeName, U, Uf, liquidFilmBase::Uf(), regIOobject::write(), filmSubModelBase::writeTime(), and Foam::Zero.