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-2026 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"
55 #include "ubRhoThermo.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
76  const ubRhoThermo& thermo_;
77 
78  //- Turbulence
80 
81  const volScalarField& Su_;
82 
83  //- Update coefficients from given dictionary
84  virtual bool readCoeffs(const dictionary& dict) = 0;
85 
86 
87 public:
88 
89  //- Runtime type information
90  TypeName("XiGModel");
91 
92 
93  // Declare run-time constructor selection table
94 
96  (
97  autoPtr,
98  XiGModel,
99  dictionary,
100  (
101  const dictionary& dict,
102  const ubRhoThermo& thermo,
103  const compressibleMomentumTransportModel& momentumTransport,
104  const volScalarField& Su
105  ),
106  (
107  dict,
108  thermo,
109  momentumTransport,
110  Su
111  )
112  );
113 
114 
115  // Constructors
116 
117  //- Construct from components
118  XiGModel
119  (
120  const ubRhoThermo& thermo,
121  const compressibleMomentumTransportModel& momentumTransport,
122  const volScalarField& Su
123  );
124 
125  //- Disallow default bitwise copy construction
126  XiGModel(const XiGModel&) = delete;
127 
128 
129  // Selectors
130 
131  //- Return a reference to the selected XiG model
132  static autoPtr<XiGModel> New
133  (
134  const dictionary& XiProperties,
135  const ubRhoThermo& thermo,
136  const compressibleMomentumTransportModel& momentumTransport,
137  const volScalarField& Su
138  );
139 
140 
141  //- Destructor
142  virtual ~XiGModel();
143 
144 
145  // Member Functions
146 
147  //- Return the flame-wrinkling generation rate
148  virtual tmp<volScalarField::Internal> G() const = 0;
149 
150  //- Update properties from the given XiProperties dictionary
151  bool read(const dictionary& XiProperties);
152 
153 
154  // Member Operators
155 
156  //- Disallow default bitwise assignment
157  void operator=(const XiGModel&) = delete;
158 };
159 
160 
161 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
162 
163 } // End namespace Foam
164 
165 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
166 
167 #endif
168 
169 // ************************************************************************* //
Generic GeometricField class.
Base class for flame wrinkling Xi generation rate models.
Definition: XiGModel.H:68
const compressibleMomentumTransportModel & momentumTransport_
Turbulence.
Definition: XiGModel.H:78
virtual tmp< volScalarField::Internal > G() const =0
Return the flame-wrinkling generation rate.
const volScalarField & Su_
Definition: XiGModel.H:80
XiGModel(const ubRhoThermo &thermo, const compressibleMomentumTransportModel &momentumTransport, const volScalarField &Su)
Construct from components.
Definition: XiGModel.C:48
TypeName("XiGModel")
Runtime type information.
static autoPtr< XiGModel > New(const dictionary &XiProperties, const ubRhoThermo &thermo, const compressibleMomentumTransportModel &momentumTransport, 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:68
virtual ~XiGModel()
Destructor.
Definition: XiGModel.C:62
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 ubRhoThermo &thermo, const compressibleMomentumTransportModel &momentumTransport, const volScalarField &Su),(dict, thermo, momentumTransport, Su))
const ubRhoThermo & thermo_
Thermo.
Definition: XiGModel.H:75
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 momentum transport models.
A list of keywords followed by any number of values (e.g. words and numbers) or sub-dictionaries.
Definition: dictionary.H:162
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
fluidMulticomponentThermo & thermo
Definition: createFields.H:15