Loading...
Searching...
No Matches
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-------------------------------------------------------------------------------
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
26\*---------------------------------------------------------------------------*/
27
28#include "constantDrift.H"
29#include "phaseSystem.H"
32// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
34namespace Foam
35{
36namespace diameterModels
37{
38namespace driftModels
39{
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 (
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// ************************************************************************* //
Macros for easy insertion into run-time selection tables.
#define addToRunTimeSelectionTable(baseType, thisType, argNames)
Add to construction table with typeName as the key.
fv::options & fvOptions
Defines the attributes of an object for which implicit objectRegistry management is supported,...
Definition IOobject.H:191
Base class for drift models.
Definition driftModel.H:49
const populationBalanceModel & popBal() const
Return reference to the populationBalanceModel.
Definition driftModel.H:144
const populationBalanceModel & popBal_
Reference to the populationBalanceModel.
Definition driftModel.H:57
driftModel(const populationBalanceModel &popBal, const dictionary &dict)
Definition driftModel.C:67
Constant drift rate within all classes. Used for verification and validation of the drift formulation...
virtual void correct()
Correct diameter independent expressions.
virtual void addToDriftRate(volScalarField &driftRate, const label i)
Add to driftRate.
constantDrift(const populationBalanceModel &popBal, const dictionary &dict)
Class that solves the univariate population balance equation by means of a class method (also called ...
This class represents a single sizeGroup belonging to a velocityGroup. The main property of a sizeGro...
Definition sizeGroup.H:95
const dimensionedScalar & x() const
Return representative volume of the sizeGroup.
Definition sizeGroupI.H:52
const phaseModel & phase() const
Return const-reference to the phase.
Definition sizeGroupI.H:31
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Definition dictionary.H:133
Single incompressible phase derived from the phase-fraction. Used as part of the multiPhaseMixture fo...
Definition phaseModel.H:56
Single incompressible phase derived from the phase-fraction. Used as part of the multiPhaseMixture fo...
Definition phase.H:53
const dimensionedScalar & rho() const
Return const-access to phase1 density.
Definition phase.H:151
#define defineTypeNameAndDebug(Type, DebugSwitch)
Define the typeName and debug information.
Definition className.H:142
dynamicFvMesh & mesh
word timeName
Definition getTimeIndex.H:3
Namespace for OpenFOAM.
GeometricField< scalar, fvPatchField, volMesh > volScalarField
static constexpr const zero Zero
Global zero (0).
Definition zero.H:127
dimensionedSphericalTensor inv(const dimensionedSphericalTensor &dt)
const dimensionSet dimVolume(pow3(dimLength))
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.
dictionary dict
#define forAll(list, i)
Loop across all elements in list.
Definition stdFoam.H:299