XiGModel.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-2024 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::XiGModel
26 
27 Description
28  Base class for flame wrinkling \c Xi generation rate models
29 
30  See Foam::XiModel for more details on flame wrinkling modelling.
31 
32  References:
33  \verbatim
34  Weller, H. G. (1993).
35  The development of a new flame area combustion model
36  using conditional averaging.
37  Thermo-fluids section report TF 9307.
38 
39  Weller, H. G., Tabor, G., Gosman, A. D., & Fureby, C. (1998, January).
40  Application of a flame-wrinkling LES combustion model
41  to a turbulent mixing layer.
42  In Symposium (International) on combustion
43  (Vol. 27, No. 1, pp. 899-907). Elsevier.
44  \endverbatim
45 
46 SourceFiles
47  XiGModel.C
48 
49 \*---------------------------------------------------------------------------*/
50 
51 #ifndef XiGModel_H
52 #define XiGModel_H
53 
54 #include "IOdictionary.H"
57 #include "runTimeSelectionTables.H"
58 
59 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
60 
61 namespace Foam
62 {
63 
64 /*---------------------------------------------------------------------------*\
65  Class XiGModel Declaration
66 \*---------------------------------------------------------------------------*/
67 
68 class XiGModel
69 {
70 
71 protected:
72 
73  // Protected data
74 
75  //- Thermo
77 
78  //- Thermo-physical transport
80 
81  //- Turbulence
83 
84  const volScalarField& Su_;
85 
86  //- Update coefficients from given dictionary
87  virtual bool readCoeffs(const dictionary& dict) = 0;
88 
89 
90 public:
91 
92  //- Runtime type information
93  TypeName("XiGModel");
94 
95 
96  // Declare run-time constructor selection table
97 
99  (
100  autoPtr,
101  XiGModel,
102  dictionary,
103  (
104  const dictionary& dict,
107  const volScalarField& Su
108  ),
109  (
110  dict,
111  thermo,
112  turbulence,
113  Su
114  )
115  );
116 
117 
118  // Constructors
119 
120  //- Construct from components
121  XiGModel
122  (
125  const volScalarField& Su
126  );
127 
128  //- Disallow default bitwise copy construction
129  XiGModel(const XiGModel&) = delete;
130 
131 
132  // Selectors
133 
134  //- Return a reference to the selected XiG model
135  static autoPtr<XiGModel> New
136  (
137  const dictionary& XiProperties,
140  const volScalarField& Su
141  );
142 
143 
144  //- Destructor
145  virtual ~XiGModel();
146 
147 
148  // Member Functions
149 
150  //- Return the flame-wrinkling generation rate
151  virtual tmp<volScalarField> G() const = 0;
152 
153  //- Update properties from the given XiProperties dictionary
154  bool read(const dictionary& XiProperties);
155 
156 
157  // Member Operators
158 
159  //- Disallow default bitwise assignment
160  void operator=(const XiGModel&) = delete;
161 };
162 
163 
164 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
165 
166 } // End namespace Foam
167 
168 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
169 
170 #endif
171 
172 // ************************************************************************* //
Generic GeometricField class.
Templated abstract base class for thermophysical transport models.
Base class for flame wrinkling Xi generation rate models.
Definition: XiGModel.H:68
const volScalarField & Su_
Definition: XiGModel.H:83
virtual tmp< volScalarField > G() const =0
Return the flame-wrinkling generation rate.
TypeName("XiGModel")
Runtime type information.
const psiuMulticomponentThermo & thermo_
Thermo.
Definition: XiGModel.H:75
const compressibleMomentumTransportModel & turbulence_
Turbulence.
Definition: XiGModel.H:81
static autoPtr< XiGModel > New(const dictionary &XiProperties, const psiuMulticomponentThermo &thermo, const fluidThermoThermophysicalTransportModel &turbulence, const volScalarField &Su)
Return a reference to the selected XiG model.
Definition: XiGModelNew.C:31
bool read(const dictionary &XiProperties)
Update properties from the given XiProperties dictionary.
Definition: XiGModel.C:69
const fluidThermoThermophysicalTransportModel & thermoTransport_
Thermo-physical transport.
Definition: XiGModel.H:78
virtual ~XiGModel()
Destructor.
Definition: XiGModel.C:63
void operator=(const XiGModel &)=delete
Disallow default bitwise assignment.
virtual bool readCoeffs(const dictionary &dict)=0
Update coefficients from given dictionary.
Definition: XiGModel.C:39
declareRunTimeSelectionTable(autoPtr, XiGModel, dictionary,(const dictionary &dict, const psiuMulticomponentThermo &thermo, const fluidThermoThermophysicalTransportModel &turbulence, const volScalarField &Su),(dict, thermo, turbulence, Su))
XiGModel(const psiuMulticomponentThermo &thermo, const fluidThermoThermophysicalTransportModel &turbulence, const volScalarField &Su)
Construct from components.
Definition: XiGModel.C:48
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
Definition: autoPtr.H:51
Base class for single-phase compressible turbulence models.
A list of keywords followed by any number of values (e.g. words and numbers) or sub-dictionaries.
Definition: dictionary.H:162
Base-class for combustion fluid thermodynamic properties based on compressibility.
A class for managing temporary objects.
Definition: tmp.H:55
tmp< VolField< Type > > Su(const VolField< Type > &su, const VolField< Type > &vf)
Definition: fvcSup.C:44
Namespace for OpenFOAM.
Macros to ease declaration of run-time selection tables.
dictionary dict
autoPtr< incompressible::momentumTransportModel > turbulence(incompressible::momentumTransportModel::New(U, phi, viscosity))
fluidMulticomponentThermo & thermo
Definition: createFields.H:31