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-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::XiGModel
26 
27 Description
28  Base-class for all Xi generation models used by the b-Xi combustion model.
29  See Technical Report SH/RE/01R for details on the PDR modelling. For details
30  on the use of XiGModel see \link XiModel.H \endlink. The model available is
31  \link instabilityG.H \endlink
32 
33 SourceFiles
34  XiGModel.C
35 
36 \*---------------------------------------------------------------------------*/
37 
38 #ifndef XiGModel_H
39 #define XiGModel_H
40 
41 #include "IOdictionary.H"
44 #include "runTimeSelectionTables.H"
45 
46 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
47 
48 namespace Foam
49 {
50 
51 /*---------------------------------------------------------------------------*\
52  Class XiGModel Declaration
53 \*---------------------------------------------------------------------------*/
54 
55 class XiGModel
56 {
57 
58 protected:
59 
60  // Protected data
61 
63 
66  const volScalarField& Su_;
67 
68 
69 public:
70 
71  //- Runtime type information
72  TypeName("XiGModel");
73 
74 
75  // Declare run-time constructor selection table
76 
78  (
79  autoPtr,
80  XiGModel,
81  dictionary,
82  (
83  const dictionary& XiGProperties,
86  const volScalarField& Su
87  ),
88  (
89  XiGProperties,
90  thermo,
91  turbulence,
92  Su
93  )
94  );
95 
96 
97  // Constructors
98 
99  //- Construct from components
100  XiGModel
101  (
102  const dictionary& XiGProperties,
105  const volScalarField& Su
106  );
107 
108  //- Disallow default bitwise copy construction
109  XiGModel(const XiGModel&) = delete;
110 
111 
112  // Selectors
113 
114  //- Return a reference to the selected XiG model
115  static autoPtr<XiGModel> New
116  (
117  const dictionary& XiGProperties,
120  const volScalarField& Su
121  );
122 
123 
124  //- Destructor
125  virtual ~XiGModel();
126 
127 
128  // Member Functions
129 
130  //- Return the flame-wrinkling generation rate
131  virtual tmp<volScalarField> G() const = 0;
132 
133  //- Return the flame diffusivity
134  virtual tmp<volScalarField> Db() const
135  {
136  return volScalarField::New
137  (
138  "Db",
140  );
141  }
142 
143  //- Update properties from given dictionary
144  virtual bool read(const dictionary& XiGProperties) = 0;
145 
146 
147  // Member Operators
148 
149  //- Disallow default bitwise assignment
150  void operator=(const XiGModel&) = delete;
151 };
152 
153 
154 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
155 
156 } // End namespace Foam
157 
158 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
159 
160 #endif
161 
162 // ************************************************************************* //
Generic GeometricField class.
static tmp< GeometricField< Type, GeoMesh, PrimitiveField > > New(const word &name, const Internal &, const PtrList< Patch > &, const HashPtrTable< Source > &=HashPtrTable< Source >())
Return a temporary field constructed from name,.
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
virtual tmp< volScalarField > Db() const
Return the flame diffusivity.
Definition: XiGModel.H:133
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
virtual ~XiGModel()
Destructor.
Definition: XiGModel.C:63
void operator=(const XiGModel &)=delete
Disallow default bitwise assignment.
declareRunTimeSelectionTable(autoPtr, XiGModel, dictionary,(const dictionary &dict, const psiuMulticomponentThermo &thermo, const fluidThermoThermophysicalTransportModel &turbulence, const volScalarField &Su),(dict, thermo, turbulence, Su))
dictionary XiGModelCoeffs_
Definition: XiGModel.H:61
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
const rhoField & rho() const
Return the density field.
A list of keywords followed by any number of values (e.g. words and numbers) or sub-dictionaries.
Definition: dictionary.H:162
virtual tmp< volScalarField > nuEff() const =0
Return the effective viscosity.
Base-class for combustion fluid thermodynamic properties based on compressibility.
A class for managing temporary objects.
Definition: tmp.H:55
RASModel< momentumTransportModel > RASModel
Typedefs for turbulence, RAS and LES models for compressible flow based on the standard laminar trans...
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.
autoPtr< incompressible::momentumTransportModel > turbulence(incompressible::momentumTransportModel::New(U, phi, viscosity))
fluidMulticomponentThermo & thermo
Definition: createFields.H:31