constantDrift.C
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) 2017-2018 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 \*---------------------------------------------------------------------------*/
27 
28 #include "constantDrift.H"
29 #include "phaseSystem.H"
31 
32 // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
33 
34 namespace Foam
35 {
36 namespace diameterModels
37 {
38 namespace driftModels
39 {
42 }
43 }
44 }
45 
46 
47 // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
48 
50 (
51  const populationBalanceModel& popBal,
52  const dictionary& dict
53 )
54 :
55  driftModel(popBal, dict),
56  N_
57  (
58  IOobject
59  (
60  "N",
61  popBal.mesh().time().timeName(),
62  popBal.mesh()
63  ),
64  popBal.mesh(),
66  )
67 {}
68 
69 
70 // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
71 
73 {
74  N_ *= 0.0;
75 
76  forAll(popBal_.sizeGroups(), i)
77  {
78  const sizeGroup& fi = popBal_.sizeGroups()[i];
79 
80  N_ += fi*fi.phase()/fi.x();
81  }
82 }
83 
84 
86 (
87  volScalarField& driftRate,
88  const label i
89 )
90 {
91  const sizeGroup& fi = popBal_.sizeGroups()[i];
92  phaseModel& phase = const_cast<phaseModel&>(fi.phase());
93  volScalarField& rho = phase.thermoRef().rho();
94 
95  driftRate += (popBal_.fluid().fvOptions()(phase, rho)&rho)/(N_*rho);
96 }
97 
98 
99 // ************************************************************************* //
dictionary dict
Base class for drift models.
Definition: driftModel.H:48
const dimensionedScalar & rho() const
Return const-access to phase1 density.
Definition: phase.H:151
const dimensionedScalar & x() const
Return representative volume of the sizeGroup.
Definition: sizeGroupI.H:52
A list of keyword definitions, which are a keyword followed by a number of values (eg...
Definition: dictionary.H:129
Constant drift rate within all classes. Used for verification and validation of the drift formulation...
Definition: constantDrift.H:53
Class that solves the univariate population balance equation by means of a class method (also called ...
dimensionedSphericalTensor inv(const dimensionedSphericalTensor &dt)
const phaseModel & phase() const
Return const-reference to the phase.
Definition: sizeGroupI.H:31
Macros for easy insertion into run-time selection tables.
#define forAll(list, i)
Loop across all elements in list.
Definition: stdFoam.H:421
word timeName
Definition: getTimeIndex.H:3
const dimensionSet dimVolume(pow3(dimLength))
Definition: dimensionSets.H:58
dynamicFvMesh & mesh
This class represents a single sizeGroup belonging to a velocityGroup. The main property of a sizeGro...
Definition: sizeGroup.H:92
constantDrift(const populationBalanceModel &popBal, const dictionary &dict)
Definition: constantDrift.C:43
virtual void correct()
Correct diameter independent expressions.
Definition: constantDrift.C:65
Single incompressible phase derived from the phase-fraction. Used as part of the multiPhaseMixture fo...
Definition: phase.H:50
Defines the attributes of an object for which implicit objectRegistry management is supported...
Definition: IOobject.H:172
Single incompressible phase derived from the phase-fraction. Used as part of the multiPhaseMixture fo...
Definition: phaseModel.H:53
addToRunTimeSelectionTable(driftModel, constantDrift, dictionary)
virtual void addToDriftRate(volScalarField &driftRate, const label i)
Add to driftRate.
Definition: constantDrift.C:79
defineTypeNameAndDebug(constantDrift, 0)
Namespace for OpenFOAM.
static constexpr const zero Zero
Global zero (0)
Definition: zero.H:127