From 66d3b49eb5eb6128c8cf2e17a2504a7eaeaeb623 Mon Sep 17 00:00:00 2001 From: Will Bainbridge Date: Fri, 18 Aug 2023 10:32:50 +0100 Subject: [PATCH] contactAngleFvPatchScalarField: Added documentation --- .../alphaContactAngleFvPatchScalarField.H | 41 ++++++++++++- .../contactAngleFvPatchScalarField.H | 58 +++++++++++++++---- 2 files changed, 86 insertions(+), 13 deletions(-) diff --git a/src/multiphaseModels/multiphaseProperties/alphaContactAngle/alphaContactAngleFvPatchScalarField.H b/src/multiphaseModels/multiphaseProperties/alphaContactAngle/alphaContactAngleFvPatchScalarField.H index 4326a40011..d3dbdd2860 100644 --- a/src/multiphaseModels/multiphaseProperties/alphaContactAngle/alphaContactAngleFvPatchScalarField.H +++ b/src/multiphaseModels/multiphaseProperties/alphaContactAngle/alphaContactAngleFvPatchScalarField.H @@ -26,7 +26,46 @@ Class Description Contact-angle boundary condition for multi-phase interface-capturing - simulations. + simulations. Sets of coefficients are given for the contact angle with each + other phase. These coefficients can specify either a constant or a dynamic + contact angle. + +Usage + \table + Property | Description | Required | Default value + theta0 | Equilibrium contact angle | yes | + uTheta | Velocity scale | no | none + thetaA | Limiting advancing contact angle | if uTheta | none + thetaR | Limiting receding contact angle | if uTheta | none + \endtable + + Example of the boundary condition specification: + \verbatim + + { + type alphaContactAngle; + + contactAngleProperties + { + // Constant contact angle with air + air + { + theta0 90; + } + + // Dynamic contact angle with water + oil + { + theta0 70; + uTheta 1; + thetaA 100; + thetaR 50; + } + } + + value uniform 0; + } + \endverbatim SourceFiles alphaContactAngleFvPatchScalarField.C diff --git a/src/twoPhaseModels/interfaceProperties/contactAngle/contactAngleFvPatchScalarField.H b/src/twoPhaseModels/interfaceProperties/contactAngle/contactAngleFvPatchScalarField.H index f4b4a0f110..f2dc5b912b 100644 --- a/src/twoPhaseModels/interfaceProperties/contactAngle/contactAngleFvPatchScalarField.H +++ b/src/twoPhaseModels/interfaceProperties/contactAngle/contactAngleFvPatchScalarField.H @@ -37,8 +37,31 @@ Description Note that if any of the first three options are used the boundary condition on \c p_rgh must set to guarantee that the flux is corrected to be zero at - the wall e.g.: + the wall. +Usage + \table + Property | Description | Required | Default value + limit | Limiting option | yes | + contantAngle | Contact angle model settings | no | none + \endtable + + Example of the boundary condition specification for a constant angle: + \verbatim + + { + type contactAngle; + limit none; + contactAngle + { + type constant; + theta0 70; + } + } + \endverbatim + + If the contactAngle sub-dictionary is not given, a constant angle will be + assumed. Example: \verbatim { @@ -77,28 +100,39 @@ class contactAngleFvPatchScalarField : public fixedGradientFvPatchScalarField { +public: + + // Public Enumerations + + //- Alpha limit options + enum limitControls + { + lcNone, + lcGradient, + lcZeroGradient, + lcAlpha + }; + + //- Alpha limit option names + static const NamedEnum limitControlNames_; + + +private: + // Private Data //- Equilibrium contact angle function autoPtr contactAngle_; + //- Alpha limiting option + limitControls limit_; + public: //- Runtime type information TypeName("contactAngle"); - //- Alpha limit options - enum limitControls - { - lcNone, - lcGradient, - lcZeroGradient, - lcAlpha - }; - - static const NamedEnum limitControlNames_; - limitControls limit_; // Constructors