1 /*---------------------------------------------------------------------------*\
3 \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
5 \\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd.
7 -------------------------------------------------------------------------------
9 This file is part of OpenFOAM.
11 OpenFOAM is free software; you can redistribute it and/or modify it
12 under the terms of the GNU General Public License as published by the
13 Free Software Foundation; either version 2 of the License, or (at your
14 option) any later version.
16 OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
17 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
18 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
21 You should have received a copy of the GNU General Public License
22 along with OpenFOAM; if not, write to the Free Software Foundation,
23 Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
26 Foam::interfaceProperties
29 Contains the interface properties.
31 Properties to aid interFoam:
32 -# Correct the alpha boundary condition for dynamic contact angle.
33 -# Calculate interface curvature.
38 \*---------------------------------------------------------------------------*/
40 #ifndef interfaceProperties_H
41 #define interfaceProperties_H
43 #include "IOdictionary.H"
44 #include "volFields.H"
45 #include "surfaceFields.H"
47 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
52 /*---------------------------------------------------------------------------*\
53 Class interfaceProperties Declaration
54 \*---------------------------------------------------------------------------*/
56 class interfaceProperties
60 //- Keep a reference to the transportProperties dictionary
61 const dictionary& transportPropertiesDict_;
63 //- Compression coefficient
67 dimensionedScalar sigma_;
69 //- Stabilisation for normalisation of the interface normal
70 const dimensionedScalar deltaN_;
72 const volScalarField& alpha1_;
73 const volVectorField& U_;
74 surfaceScalarField nHatf_;
78 // Private Member Functions
80 //- Disallow default bitwise copy construct and assignment
81 interfaceProperties(const interfaceProperties&);
82 void operator=(const interfaceProperties&);
84 //- Correction for the boundary condition on the unit normal nHat on
85 // walls to produce the correct contact dynamic angle
86 // calculated from the component of U parallel to the wall
87 void correctContactAngle
89 surfaceVectorField::GeometricBoundaryField& nHat
92 //- Re-calculate the interface curvature
98 //- Conversion factor for degrees into radians
99 static const scalar convertToRad;
104 //- Construct from volume fraction field gamma and IOdictionary
107 const volScalarField& alpha1,
108 const volVectorField& U,
115 scalar cAlpha() const
120 const dimensionedScalar& deltaN() const
125 const surfaceScalarField& nHatf() const
130 const volScalarField& K() const
135 const dimensionedScalar& sigma() const
140 tmp<volScalarField> sigmaK() const
152 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
154 } // End namespace Foam
156 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
160 // ************************************************************************* //