From a9cdfa0f4e953a11839502c284501c668baea231 Mon Sep 17 00:00:00 2001 From: Henry Weller Date: Tue, 17 Jul 2018 14:03:38 +0100 Subject: [PATCH] dynamicAlphaContactAngleFvPatchScalarField: Added support for alternative direction convention Description A dynamic alphaContactAngle scalar boundary condition Usage Standard properties: \table Property | Description | Required | Default value theta0 | Equilibrium contact angle | yes | uTheta | Velocity scale | yes | \endtable The advancing and receding contact angles can be either specified with respect to the interface normal direction: \table Property | Description | Required | Default value thetaA | Limiting advancing contact angle | yes | thetaR | Limiting receding contact angle | yes | \endtable or with respect to the phase outward direction: \table Property | Description | Required | Default value thetaAdv | Limiting advancing contact angle | yes | thetaRec | Limiting receding contact angle | yes | \endtable Example of the boundary condition specification using the interface normal direction convention: \verbatim { type dynamicAlphaContactAngle; uTheta 1; theta0 90; thetaA 70; thetaR 110; limit gradient; value uniform 0; } \endverbatim Example of the boundary condition specification using the phase outward direction convention (opposite to the normal direction): \verbatim { type dynamicAlphaContactAngle; uTheta 1; theta0 90; thetaAdv 110; thetaRec 70; limit gradient; value uniform 0; } \endverbatim Resolves feature request https://bugs.openfoam.org/view.php?id=2864 --- ...namicAlphaContactAngleFvPatchScalarField.C | 14 ++++- ...namicAlphaContactAngleFvPatchScalarField.H | 58 ++++++++++++++++++- 2 files changed, 69 insertions(+), 3 deletions(-) diff --git a/src/transportModels/twoPhaseProperties/alphaContactAngle/dynamicAlphaContactAngle/dynamicAlphaContactAngleFvPatchScalarField.C b/src/transportModels/twoPhaseProperties/alphaContactAngle/dynamicAlphaContactAngle/dynamicAlphaContactAngleFvPatchScalarField.C index 336736d321..35c9bb7213 100644 --- a/src/transportModels/twoPhaseProperties/alphaContactAngle/dynamicAlphaContactAngle/dynamicAlphaContactAngleFvPatchScalarField.C +++ b/src/transportModels/twoPhaseProperties/alphaContactAngle/dynamicAlphaContactAngle/dynamicAlphaContactAngleFvPatchScalarField.C @@ -73,8 +73,18 @@ dynamicAlphaContactAngleFvPatchScalarField alphaContactAngleFvPatchScalarField(p, iF, dict), theta0_(readScalar(dict.lookup("theta0"))), uTheta_(readScalar(dict.lookup("uTheta"))), - thetaA_(readScalar(dict.lookup("thetaA"))), - thetaR_(readScalar(dict.lookup("thetaR"))) + thetaA_ + ( + dict.found("thetaA") + ? readScalar(dict.lookup("thetaA")) + : readScalar(dict.lookup("thetaRec")) + ), + thetaR_ + ( + dict.found("thetaR") + ? readScalar(dict.lookup("thetaR")) + : readScalar(dict.lookup("thetaAdv")) + ) { evaluate(); } diff --git a/src/transportModels/twoPhaseProperties/alphaContactAngle/dynamicAlphaContactAngle/dynamicAlphaContactAngleFvPatchScalarField.H b/src/transportModels/twoPhaseProperties/alphaContactAngle/dynamicAlphaContactAngle/dynamicAlphaContactAngleFvPatchScalarField.H index d6e6b11583..fa9138e740 100644 --- a/src/transportModels/twoPhaseProperties/alphaContactAngle/dynamicAlphaContactAngle/dynamicAlphaContactAngleFvPatchScalarField.H +++ b/src/transportModels/twoPhaseProperties/alphaContactAngle/dynamicAlphaContactAngle/dynamicAlphaContactAngleFvPatchScalarField.H @@ -26,7 +26,63 @@ Class Description A dynamic alphaContactAngle scalar boundary condition - (alphaContactAngleFvPatchScalarField) + +Usage + Standard properties: + \table + Property | Description | Required | Default value + theta0 | Equilibrium contact angle | yes | + uTheta | Velocity scale | yes | + \endtable + + The advancing and receding contact angles can be either specified with + respect to the interface normal direction: + \table + Property | Description | Required | Default value + thetaA | Limiting advancing contact angle | yes | + thetaR | Limiting receding contact angle | yes | + \endtable + + or with respect to the phase outward direction: + \table + Property | Description | Required | Default value + thetaAdv | Limiting advancing contact angle | yes | + thetaRec | Limiting receding contact angle | yes | + \endtable + + Example of the boundary condition specification using the interface + normal direction convention: + \verbatim + + { + type dynamicAlphaContactAngle; + uTheta 1; + theta0 90; + thetaA 70; + thetaR 110; + limit gradient; + value uniform 0; + } + \endverbatim + + Example of the boundary condition specification using the phase outward + direction convention (opposite to the normal direction): + \verbatim + + { + type dynamicAlphaContactAngle; + uTheta 1; + theta0 90; + thetaAdv 110; + thetaRec 70; + limit gradient; + value uniform 0; + } + \endverbatim + +See also + Foam::alphaContactAngleFvPatchScalarField + Foam::constantAlphaContactAngleFvPatchScalarField SourceFiles dynamicAlphaContactAngleFvPatchScalarField.C