interfaceProperties.H
Go to the documentation of this file.
1/*---------------------------------------------------------------------------*\
2 ========= |
3 \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
4 \\ / O peration |
5 \\ / A nd | www.openfoam.com
6 \\/ M anipulation |
7-------------------------------------------------------------------------------
8 Copyright (C) 2011-2017 OpenFOAM Foundation
9-------------------------------------------------------------------------------
10License
11 This file is part of OpenFOAM.
12
13 OpenFOAM is free software: you can redistribute it and/or modify it
14 under the terms of the GNU General Public License as published by
15 the Free Software Foundation, either version 3 of the License, or
16 (at your option) any later version.
17
18 OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
19 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
20 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
21 for more details.
22
23 You should have received a copy of the GNU General Public License
24 along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
25
26Class
27 Foam::interfaceProperties
28
29Description
30 Contains the interface properties.
31
32 Properties to aid interFoam:
33 -# Correct the alpha boundary condition for dynamic contact angle.
34 -# Calculate interface curvature.
35
36SourceFiles
37 interfaceProperties.C
38
39\*---------------------------------------------------------------------------*/
40
41#ifndef interfaceProperties_H
42#define interfaceProperties_H
43
44#include "IOdictionary.H"
45#include "surfaceTensionModel.H"
46#include "volFields.H"
47#include "surfaceFields.H"
48
49// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
50
51namespace Foam
52{
53
54/*---------------------------------------------------------------------------*\
55 Class interfaceProperties Declaration
56\*---------------------------------------------------------------------------*/
59{
60 // Private data
61
62 //- Keep a reference to the transportProperties dictionary
63 const dictionary& transportPropertiesDict_;
64
65 //- Compression coefficient
66 scalar cAlpha_;
67
68 //- Surface tension
70
71 //- Stabilisation for normalisation of the interface normal
72 const dimensionedScalar deltaN_;
73
74 const volScalarField& alpha1_;
75 const volVectorField& U_;
76 surfaceScalarField nHatf_;
78
79
80 // Private Member Functions
81
82 //- No copy construct
84
85 //- No copy assignment
86 void operator=(const interfaceProperties&) = delete;
87
88 //- Correction for the boundary condition on the unit normal nHat on
89 // walls to produce the correct contact dynamic angle
90 // calculated from the component of U parallel to the wall
91 void correctContactAngle
92 (
94 const surfaceVectorField::Boundary& gradAlphaf
95 ) const;
96
97 //- Re-calculate the interface curvature
98 void calculateK();
99
100
101public:
102
103 // Constructors
104
105 //- Construct from volume fraction field gamma and IOdictionary
107 (
108 const volScalarField& alpha1,
109 const volVectorField& U,
110 const IOdictionary&
111 );
112
113
114 // Member Functions
116 scalar cAlpha() const
117 {
118 return cAlpha_;
119 }
121 const dimensionedScalar& deltaN() const
122 {
123 return deltaN_;
124 }
126 const surfaceScalarField& nHatf() const
127 {
128 return nHatf_;
129 }
130
132
134
135 //- Indicator of the proximity of the interface
136 // Field values are 1 near and 0 away for the interface.
138
139 void correct();
140
141 //- Read transportProperties dictionary
142 bool read();
143};
144
145
146// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
147
148} // End namespace Foam
149
150// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
151
152#endif
153
154// ************************************************************************* //
const volScalarField & alpha1
Generic GeometricBoundaryField class.
IOdictionary is derived from dictionary and IOobject to give the dictionary automatic IO functionalit...
Definition: IOdictionary.H:57
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
Definition: autoPtr.H:66
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Definition: dictionary.H:126
Contains the interface properties.
tmp< surfaceScalarField > surfaceTensionForce() const
tmp< volScalarField > nearInterface() const
Indicator of the proximity of the interface.
const dimensionedScalar & deltaN() const
const surfaceScalarField & nHatf() const
tmp< volScalarField > sigmaK() const
bool read()
Read transportProperties dictionary.
A class for managing temporary objects.
Definition: tmp.H:65
U
Definition: pEqn.H:72
Namespace for OpenFOAM.
Foam::surfaceFields.