phaseChange.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) 2018-2019 OpenFOAM Foundation
9 -------------------------------------------------------------------------------
10 License
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 
26 Class
27  Foam::diameterModels::driftModels::phaseChange
28 
29 Description
30  Drift induced by interfacial phase change. By default phase change mass
31  flux is distributed between sizeGroups of each velocityGroup with phase
32  change based on interfacial area of each size group.
33 
34 SourceFiles
35  phaseChange.C
36 
37 \*---------------------------------------------------------------------------*/
38 
39 #ifndef phaseChange_H
40 #define phaseChange_H
41 
42 #include "driftModel.H"
43 
44 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
45 
46 namespace Foam
47 {
48 namespace diameterModels
49 {
50 namespace driftModels
51 {
52 
53 /*---------------------------------------------------------------------------*\
54  Class phaseChange Declaration
55 \*---------------------------------------------------------------------------*/
56 
57 class phaseChange
58 :
59  public driftModel
60 {
61  // Private data
62 
63  //- PhasePairs between which phaseChange occurs, e.g.,
64  // "((gasI and liquid) (gasII and liquid))"
65  List<phasePairKey> pairKeys_;
66 
67  //- Distribute phase change mass flux between sizeGroups based on the
68  // number concentration, rather than the interfacial area
69  Switch numberWeighted_;
70 
71  //- Weighting with which the phase change mass flux is distributed
73 
74 
75 public:
76 
77  //- Runtime type information
78  TypeName("phaseChange");
79 
80  // Constructor
81 
82  //- Construct from a population balance model and a dictionary
84  (
86  const dictionary& dict
87  );
88 
89 
90  //- Destructor
91  virtual ~phaseChange() = default;
92 
93 
94  // Member Functions
95 
96  //- Correct diameter independent expressions
97  virtual void correct();
98 
99  //- Add to driftRate
100  virtual void addToDriftRate
101  (
102  volScalarField& driftRate,
103  const label i
104  );
105 };
106 
107 
108 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
109 
110 } // End namespace driftModels
111 } // End namespace diameterModels
112 } // End namespace Foam
113 
114 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
115 
116 #endif
117 
118 // ************************************************************************* //
Foam::diameterModels::driftModel::popBal
const populationBalanceModel & popBal() const
Return reference to the populationBalanceModel.
Definition: driftModel.H:137
Foam::Switch
A simple wrapper around bool so that it can be read as a word: true/false, on/off,...
Definition: Switch.H:77
Foam::diameterModels::driftModels::phaseChange::correct
virtual void correct()
Correct diameter independent expressions.
Definition: phaseChange.C:93
driftModel.H
Foam::diameterModels::driftModels::phaseChange::TypeName
TypeName("phaseChange")
Runtime type information.
Foam::diameterModels::driftModels::phaseChange
Drift induced by interfacial phase change. By default phase change mass flux is distributed between s...
Definition: phaseChange.H:56
Foam::diameterModels::driftModels::phaseChange::~phaseChange
virtual ~phaseChange()=default
Destructor.
Foam::PtrList
A list of pointers to objects of type <T>, with allocation/deallocation management of the pointers....
Definition: List.H:59
dict
dictionary dict
Definition: searchingEngine.H:14
Foam::dictionary
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Definition: dictionary.H:123
Foam::diameterModels::populationBalanceModel
Class that solves the univariate population balance equation by means of a class method (also called ...
Definition: populationBalanceModel.H:179
Foam
Namespace for OpenFOAM.
Definition: atmBoundaryLayer.C:33
Foam::List
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
Definition: BitOps.H:63
Foam::diameterModels::driftModel
Base class for drift models.
Definition: driftModel.H:52
Foam::GeometricField< scalar, fvPatchField, volMesh >
Foam::diameterModels::driftModels::phaseChange::phaseChange
phaseChange(const populationBalanceModel &popBal, const dictionary &dict)
Construct from a population balance model and a dictionary.
Definition: phaseChange.C:52
Foam::diameterModels::driftModels::phaseChange::addToDriftRate
virtual void addToDriftRate(volScalarField &driftRate, const label i)
Add to driftRate.
Definition: phaseChange.C:129