LISAAtomization.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-2016 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::LISAAtomization
28 
29 Group
30  grpLagrangianIntermediateAtomizationSubModels
31 
32 Description
33  Primary Breakup Model for pressure swirl atomizers.
34 
35  Accurate description in
36  \verbatim
37  P.K. Senecal, D.P. Schmidt, I. Nouar, C.J. Rutland, R.D. Reitz, M. Corradini
38  "Modeling high-speed viscous liquid sheet atomization"
39  International Journal of Multiphase Flow 25 (1999) pags. 1073-1097
40  \endverbatim
41 
42  and
43 
44  \verbatim
45  D.P. Schmidt, I. Nouar, P.K. Senecal, C.J. Rutland, J.K. Martin, R.D. Reitz
46  "Pressure-Swirl Atomization in the Near Field"
47  SAE Techical Paper Series 1999-01-0496
48  \endverbatim
49 
50 \*---------------------------------------------------------------------------*/
51 
52 #ifndef LISAAtomization_H
53 #define LISAAtomization_H
54 
55 #include "AtomizationModel.H"
56 
57 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
58 
59 namespace Foam
60 {
61 
62 /*---------------------------------------------------------------------------*\
63  Class LISAAtomization Declaration
64 \*---------------------------------------------------------------------------*/
65 
66 template<class CloudType>
67 class LISAAtomization
68 :
69  public AtomizationModel<CloudType>
70 {
71 
72 public:
73 
74  //- Enumeration for SMD calculations
75  enum SMDMethods
76  {
78  method2
79  };
80 
81 
82 private:
83 
84  // Private data
85 
86  scalar Cl_;
87  scalar cTau_;
88  scalar Q_;
89  scalar lisaExp_;
90  vector injectorDirection_;
91  word SMDCalcMethod_;
92 
93  SMDMethods SMDMethod_;
94 
95 
96 public:
97 
98  //- Runtime type information
99  TypeName("LISA");
100 
101 
102  // Constructors
103 
104  //- Construct from dictionary
106 
107  //- Construct copy
109 
110  //- Construct and return a clone
112  {
114  (
115  new LISAAtomization<CloudType>(*this)
116  );
117  }
118 
119 
120  //- Destructor
121  virtual ~LISAAtomization();
122 
123 
124  // Member Functions
125 
126  //- Initial value of liquidCore
127  virtual scalar initLiquidCore() const;
128 
129  //- Flag to indicate if chi needs to be calculated
130  virtual bool calcChi() const;
131 
132  virtual void update
133  (
134  const scalar dt,
135  scalar& d,
136  scalar& liquidCore,
137  scalar& tc,
138  const scalar rho,
139  const scalar mu,
140  const scalar sigma,
141  const scalar volFlowRate,
142  const scalar rhoAv,
143  const scalar Urel,
144  const vector& pos,
145  const vector& injectionPos,
146  const scalar pAmbient,
147  const scalar chi,
148  Random& rndGen
149  ) const;
150 };
151 
152 
153 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
154 
155 } // End namespace Foam
156 
157 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
158 
159 #ifdef NoRepository
160  #include "LISAAtomization.C"
161 #endif
162 
163 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
164 
165 #endif
166 
167 // ************************************************************************* //
Foam::Random
Random number generator.
Definition: Random.H:59
Foam::LISAAtomization::clone
virtual autoPtr< AtomizationModel< CloudType > > clone() const
Construct and return a clone.
Definition: LISAAtomization.H:110
Foam::LISAAtomization::calcChi
virtual bool calcChi() const
Flag to indicate if chi needs to be calculated.
Definition: LISAAtomization.C:103
Foam::word
A class for handling words, derived from Foam::string.
Definition: word.H:65
Foam::constant::physicoChemical::mu
const dimensionedScalar mu
Atomic mass unit.
Definition: createFieldRefs.H:4
Urel
Urel
Definition: pEqn.H:56
Foam::AtomizationModel
Templated atomization model class.
Definition: SprayCloud.H:49
rho
rho
Definition: readInitialConditions.H:88
AtomizationModel.H
Foam::DSMCCloud
Templated base class for dsmc cloud.
Definition: DSMCCloud.H:71
Foam::dictionary
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Definition: dictionary.H:123
Foam::LISAAtomization::update
virtual void update(const scalar dt, scalar &d, scalar &liquidCore, scalar &tc, const scalar rho, const scalar mu, const scalar sigma, const scalar volFlowRate, const scalar rhoAv, const scalar Urel, const vector &pos, const vector &injectionPos, const scalar pAmbient, const scalar chi, Random &rndGen) const
Definition: LISAAtomization.C:111
Foam
Namespace for OpenFOAM.
Definition: atmBoundaryLayer.C:33
Foam::LISAAtomization::TypeName
TypeName("LISA")
Runtime type information.
Foam::LISAAtomization::LISAAtomization
LISAAtomization(const dictionary &, CloudType &)
Construct from dictionary.
Definition: LISAAtomization.C:34
Foam::LISAAtomization::method1
Definition: LISAAtomization.H:76
LISAAtomization.C
Foam::autoPtr
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
Definition: HashPtrTable.H:53
Foam::LISAAtomization
Primary Breakup Model for pressure swirl atomizers.
Definition: LISAAtomization.H:66
Foam::LISAAtomization::SMDMethods
SMDMethods
Enumeration for SMD calculations.
Definition: LISAAtomization.H:74
Foam::Vector< scalar >
Foam::LISAAtomization::initLiquidCore
virtual scalar initLiquidCore() const
Initial value of liquidCore.
Definition: LISAAtomization.C:96
Foam::LISAAtomization::method2
Definition: LISAAtomization.H:77
rndGen
Random rndGen
Definition: createFields.H:23
sigma
dimensionedScalar sigma("sigma", dimMass/sqr(dimTime), transportProperties)
Foam::LISAAtomization::~LISAAtomization
virtual ~LISAAtomization()
Destructor.
Definition: LISAAtomization.C:89
Foam::pos
dimensionedScalar pos(const dimensionedScalar &ds)
Definition: dimensionedScalar.C:177