curvatureSeparation.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::regionModels::surfaceFilmModels::curvatureSeparation
28
29Description
30 Curvature film separation model
31
32 Assesses film curvature via the mesh geometry and calculates a force
33 balance of the form:
34
35 F_sum = F_inertial + F_body + F_surface
36
37 If F_sum < 0, the film separates. Similarly, if F_sum > 0 the film will
38 remain attached.
39
40 Based on description given by
41 Owen and D. J. Ryley. The flow of thin liquid films around corners.
42 International Journal of Multiphase Flow, 11(1):51-62, 1985.
43
44
45SourceFiles
46 curvatureSeparation.C
47
48\*---------------------------------------------------------------------------*/
49
50#ifndef curvatureSeparation_H
51#define curvatureSeparation_H
52
53#include "injectionModel.H"
54#include "surfaceFields.H"
55
56// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
57
58namespace Foam
59{
60namespace regionModels
61{
62namespace surfaceFilmModels
63{
64
65/*---------------------------------------------------------------------------*\
66 Class curvatureSeparation Declaration
67\*---------------------------------------------------------------------------*/
70:
71 public injectionModel
72{
73private:
74
75 // Private member functions
76
77 //- No copy construct
79
80 //- No copy assignment
81 void operator=(const curvatureSeparation&) = delete;
82
83
84protected:
85
86 // Protected data
87
88 //- Gradient of surface normals
90
91 //- Minimum gravity driven film thickness (non-dimensionalised delta/R1)
92 scalar deltaByR1Min_;
93
94 //- List of radii for patches - if patch not defined, radius
95 // calculated based on mesh geometry
97
98 //- Magnitude of gravity vector
99 scalar magG_;
100
101 //- Direction of gravity vector
103
104
105 // Protected Member Functions
106
107 //- Calculate local (inverse) radius of curvature
109
110 //- Calculate the cosine of the angle between gravity vector and
111 // cell out flow direction
113
114
115public:
116
117 //- Runtime type information
118 TypeName("curvatureSeparation");
119
120
121 // Constructors
122
123 //- Construct from surface film model
125 (
127 const dictionary& dict
128 );
129
130
131 //- Destructor
132 virtual ~curvatureSeparation();
133
134
135 // Member Functions
136
137 // Evolution
138
139 //- Correct
140 virtual void correct
141 (
142 scalarField& availableMass,
143 scalarField& massToInject,
144 scalarField& diameterToInject
145 );
146};
147
148
149// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
150
151} // End namespace surfaceFilmModels
152} // End namespace regionModels
153} // End namespace Foam
154
155// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
156
157#endif
158
159// ************************************************************************* //
surfaceScalarField & phi
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
Definition: List.H:77
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Definition: dictionary.H:126
scalar deltaByR1Min_
Minimum gravity driven film thickness (non-dimensionalised delta/R1)
volTensorField gradNHat_
Gradient of surface normals.
tmp< volScalarField > calcInvR1(const volVectorField &U) const
Calculate local (inverse) radius of curvature.
tmp< scalarField > calcCosAngle(const surfaceScalarField &phi) const
Calculate the cosine of the angle between gravity vector and.
List< Tuple2< label, scalar > > definedPatchRadii_
List of radii for patches - if patch not defined, radius.
TypeName("curvatureSeparation")
Runtime type information.
const surfaceFilmRegionModel & film() const
Return const access to the film surface film model.
Base class for film injection models, handling mass transfer from the film.
const dictionary & dict() const
Return const access to the cloud dictionary.
Definition: subModelBase.C:113
A class for managing temporary objects.
Definition: tmp.H:65
U
Definition: pEqn.H:72
Namespace for OpenFOAM.
Foam::surfaceFields.
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.
Definition: typeInfo.H:73