LISAAtomisation.H
Go to the documentation of this file.
1 /*---------------------------------------------------------------------------*\
2  ========= |
3  \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
4  \\ / O peration | Website: https://openfoam.org
5  \\ / A nd | Copyright (C) 2011-2023 OpenFOAM Foundation
6  \\/ M anipulation |
7 -------------------------------------------------------------------------------
8 License
9  This file is part of OpenFOAM.
10 
11  OpenFOAM is free software: you can redistribute it and/or modify it
12  under the terms of the GNU General Public License as published by
13  the Free Software Foundation, either version 3 of the License, or
14  (at your option) any later version.
15 
16  OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
17  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
18  FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
19  for more details.
20 
21  You should have received a copy of the GNU General Public License
22  along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
23 
24 Class
25  Foam::LISAAtomisation
26 
27 Description
28  Primary Breakup Model for pressure swirl atomisers.
29 
30  Accurate description in
31  @verbatim
32  P.K. Senecal, D.P. Schmidt, I. Nouar, C.J. Rutland, R.D. Reitz, M. Corradini
33  "Modeling high-speed viscous liquid sheet atomisation"
34  International Journal of Multiphase Flow 25 (1999) pags. 1073-1097
35  @endverbatim
36 
37  and
38 
39  @verbatim
40  D.P. Schmidt, I. Nouar, P.K. Senecal, C.J. Rutland, J.K. Martin, R.D. Reitz
41  "Pressure-Swirl Atomisation in the Near Field"
42  SAE Technical Paper Series 1999-01-0496
43  @endverbatim
44 
45 \*---------------------------------------------------------------------------*/
46 
47 #ifndef LISAAtomisation_H
48 #define LISAAtomisation_H
49 
50 #include "AtomisationModel.H"
51 
52 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
53 
54 namespace Foam
55 {
56 /*---------------------------------------------------------------------------*\
57  Class LISAAtomisation Declaration
58 \*---------------------------------------------------------------------------*/
59 
60 template<class CloudType>
61 class LISAAtomisation
62 :
63  public AtomisationModel<CloudType>
64 {
65 
66 public:
67 
68  //- Enumeration for SMD calculations
69  enum SMDMethods
70  {
71  method1,
73  };
74 
75 
76 private:
77 
78  // Private Data
79 
80  scalar Cl_;
81  scalar cTau_;
82  scalar lisaExp_;
83  vector injectorDirection_;
84  word SMDCalcMethod_;
85 
86  SMDMethods SMDMethod_;
87 
88 
89 public:
90 
91  //- Runtime type information
92  TypeName("LISA");
93 
94 
95  // Constructors
96 
97  //- Construct from dictionary
99 
100  //- Construct copy
102 
103  //- Construct and return a clone
105  {
107  (
108  new LISAAtomisation<CloudType>(*this)
109  );
110  }
111 
112 
113  //- Destructor
114  virtual ~LISAAtomisation();
115 
116 
117  // Member Functions
118 
119  //- Initial value of liquidCore
120  virtual scalar initLiquidCore() const;
121 
122  //- Flag to indicate if chi needs to be calculated
123  virtual bool calcChi() const;
124 
125  virtual void update
126  (
127  const scalar dt,
128  scalar& d,
129  scalar& liquidCore,
130  scalar& tc,
131  const scalar rho,
132  const scalar mu,
133  const scalar sigma,
134  const scalar volFlowRate,
135  const scalar rhoAv,
136  const scalar Urel,
137  const vector& pos,
138  const vector& injectionPos,
139  const scalar pAmbient,
140  const scalar chi,
141  Random& rndGen
142  ) const;
143 };
144 
145 
146 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
147 
148 } // End namespace Foam
149 
150 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
151 
152 #ifdef NoRepository
153  #include "LISAAtomisation.C"
154 #endif
155 
156 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
157 
158 #endif
159 
160 // ************************************************************************* //
Templated atomisation model class.
Templated base class for dsmc cloud.
Definition: DSMCCloud.H:79
Primary Breakup Model for pressure swirl atomisers.
TypeName("LISA")
Runtime type information.
virtual autoPtr< AtomisationModel< CloudType > > clone() const
Construct and return a clone.
virtual bool calcChi() const
Flag to indicate if chi needs to be calculated.
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
virtual scalar initLiquidCore() const
Initial value of liquidCore.
virtual ~LISAAtomisation()
Destructor.
SMDMethods
Enumeration for SMD calculations.
LISAAtomisation(const dictionary &, CloudType &)
Construct from dictionary.
Random number generator.
Definition: Random.H:58
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
Definition: autoPtr.H:51
A list of keyword definitions, which are a keyword followed by any number of values (e....
Definition: dictionary.H:160
A class for handling words, derived from string.
Definition: word.H:62
const dimensionedScalar sigma
Stefan-Boltzmann constant: default SI units: [W/m^2/K^4].
const dimensionedScalar mu
Atomic mass unit.
Namespace for OpenFOAM.
dimensionedScalar pos(const dimensionedScalar &ds)
Random rndGen(label(0))