LaakkonenAlopaeusAittamaa.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) 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 \*---------------------------------------------------------------------------*/
27 
30 #include "phaseCompressibleTurbulenceModel.H"
31 
32 // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
33 
34 namespace Foam
35 {
36 namespace diameterModels
37 {
38 namespace breakupModels
39 {
40  defineTypeNameAndDebug(LaakkonenAlopaeusAittamaa, 0);
42  (
43  breakupModel,
44  LaakkonenAlopaeusAittamaa,
45  dictionary
46  );
47 }
48 }
49 }
50 
51 
52 // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
53 
56 (
57  const populationBalanceModel& popBal,
58  const dictionary& dict
59 )
60 :
61  breakupModel(popBal, dict),
62  C1_
63  (
64  dimensionedScalar::lookupOrDefault
65  (
66  "C1",
67  dict,
68  dimensionSet(0, -2.0/3.0, 0, 0, 0),
69  6.0
70  )
71  ),
72  C2_(dimensionedScalar::lookupOrDefault("C2", dict, dimless, 0.04)),
73  C3_(dimensionedScalar::lookupOrDefault("C3", dict, dimless, 0.01))
74 {}
75 
76 
77 // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
78 
79 void
81 (
82  volScalarField& breakupRate,
83  const label i
84 )
85 {
86  const phaseModel& continuousPhase = popBal_.continuousPhase();
87  const sizeGroup& fi = popBal_.sizeGroups()[i];
88 
89  breakupRate =
90  C1_*cbrt(popBal_.continuousTurbulence().epsilon())
91  *erfc
92  (
93  sqrt
94  (
95  C2_*popBal_.sigmaWithContinuousPhase(fi.phase())
96  /(
97  continuousPhase.rho()*pow(fi.d(), 5.0/3.0)
98  *pow(popBal_.continuousTurbulence().epsilon(), 2.0/3.0)
99  )
100  + C3_*continuousPhase.mu()
101  /(
102  sqrt(continuousPhase.rho()*fi.phase().rho())
103  *cbrt(popBal_.continuousTurbulence().epsilon())
104  *pow(fi.d(), 4.0/3.0)
105  )
106  )
107  );
108 }
109 
110 
111 // ************************************************************************* //
Foam::phaseModel
Single incompressible phase derived from the phase-fraction. Used as part of the multiPhaseMixture fo...
Definition: phaseModel.H:57
Foam::dimless
const dimensionSet dimless(0, 0, 0, 0, 0, 0, 0)
Dimensionless.
Definition: dimensionSets.H:50
Foam::diameterModels::sizeGroup::phase
const phaseModel & phase() const
Return const-reference to the phase.
Definition: sizeGroupI.H:38
Foam::phaseModel::rho
virtual tmp< volScalarField > rho() const =0
Return the density field.
Foam::diameterModels::breakupModels::LaakkonenAlopaeusAittamaa::LaakkonenAlopaeusAittamaa
LaakkonenAlopaeusAittamaa(const populationBalanceModel &popBal, const dictionary &dict)
Definition: LaakkonenAlopaeusAittamaa.C:56
Foam::dimensionSet
Dimension set for the base types.
Definition: dimensionSet.H:65
Foam::label
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
Definition: label.H:62
Foam::erfc
dimensionedScalar erfc(const dimensionedScalar &ds)
Definition: dimensionedScalar.C:277
Foam::pow
dimensionedScalar pow(const dimensionedScalar &ds, const dimensionedScalar &expt)
Definition: dimensionedScalar.C:75
Foam::diameterModels::sizeGroup
This class represents a single sizeGroup belonging to a velocityGroup. The main property of a sizeGro...
Definition: sizeGroup.H:96
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:121
Foam::diameterModels::populationBalanceModel
Class that solves the univariate population balance equation by means of a class method (also called ...
Definition: populationBalanceModel.H:179
Foam::phaseModel::mu
virtual tmp< volScalarField > mu() const =0
Return the laminar dynamic viscosity.
addToRunTimeSelectionTable.H
Macros for easy insertion into run-time selection tables.
Foam::diameterModels::breakupModels::LaakkonenAlopaeusAittamaa::setBreakupRate
virtual void setBreakupRate(volScalarField &breakupRate, const label i)
Set total breakupRate.
Definition: LaakkonenAlopaeusAittamaa.C:81
Foam
Namespace for OpenFOAM.
Definition: atmBoundaryLayer.C:33
Foam::diameterModels::sizeGroup::d
const dimensionedScalar & d() const
Return representative diameter of the sizeGroup.
Definition: sizeGroupI.H:52
LaakkonenAlopaeusAittamaa.H
Foam::sqrt
dimensionedScalar sqrt(const dimensionedScalar &ds)
Definition: dimensionedScalar.C:144
Foam::diameterModels::breakupModels::addToRunTimeSelectionTable
addToRunTimeSelectionTable(breakupModel, exponential, dictionary)
Foam::diameterModels::breakupModel
Base class for breakup models which give a total breakup rate and a separate daughter size distributi...
Definition: breakupModel.H:55
Foam::cbrt
dimensionedScalar cbrt(const dimensionedScalar &ds)
Definition: dimensionedScalar.C:155
Foam::GeometricField< scalar, fvPatchField, volMesh >
Foam::diameterModels::breakupModels::defineTypeNameAndDebug
defineTypeNameAndDebug(exponential, 0)