transport.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::XiModels::transport
26 
27 Description
28  Transport model for flame wrinkling \c Xi
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  transport.C
48 
49 \*---------------------------------------------------------------------------*/
50 
51 #ifndef transport_H
52 #define transport_H
53 
54 #include "XiModel.H"
55 
56 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
57 
58 namespace Foam
59 {
60 
61 class XiEqModel;
62 class XiProfile;
63 class XiGModel;
64 
65 namespace XiModels
66 {
67 
68 /*---------------------------------------------------------------------------*\
69  Class transport Declaration
70 \*---------------------------------------------------------------------------*/
71 
72 class transport
73 :
74  public XiModel
75 {
76  // Private Data
77 
78  autoPtr<XiEqModel> XiEqModel_;
79  autoPtr<XiProfile> XiProfile_;
80  autoPtr<XiGModel> XiGModel_;
81 
82  //- Switch to include the mean strain rate wrinkling reduction
83  // Defaults to on
84  Switch strainReduction_;
85 
86  //- Switch to include the mean curvature propagation wrinkling reduction
87  // Defaults to off
88  Switch curvatureReduction_;
89 
90  //- Switch to include differential wrinkling propagation
91  // Should not be included if the generation and removal rates
92  // are obtained from a fit to experimental turbulent flame speed
93  // correlation which would implicitly include this effect.
94  // Defaults to off
95  Switch differentialPropagation_;
96 
97 
98 protected:
99 
100  //- Update coefficients from given dictionary
101  virtual bool readCoeffs(const dictionary& dict);
102 
103 
104 public:
105 
106  //- Runtime type information
107  TypeName("transport");
108 
109 
110  // Constructors
111 
112  //- Construct from components
113  transport
114  (
115  const dictionary& dict,
116  const ubRhoThermo& thermo,
118  const volScalarField& Su
119  );
120 
121  //- Disallow default bitwise copy construction
122  transport(const transport&) = delete;
123 
124 
125  //- Destructor
126  virtual ~transport();
127 
128 
129  // Member Functions
130 
131  //- Return the flame diffusivity
132  virtual tmp<volScalarField> Db() const;
133 
134  //- Correct the flame-wrinkling Xi
135  virtual void correct();
136 
137 
138  // Member Operators
139 
140  //- Disallow default bitwise assignment
141  void operator=(const transport&) = delete;
142 };
143 
144 
145 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
146 
147 } // End namespace XiModels
148 } // End namespace Foam
149 
150 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
151 
152 #endif
153 
154 // ************************************************************************* //
Generic GeometricField class.
A simple wrapper around bool so that it can be read as a word: true/false, on/off,...
Definition: Switch.H:61
Base-class for all Xi models used by the b-Xi combustion model.
Definition: XiModel.H:117
Transport model for flame wrinkling Xi.
Definition: transport.H:74
void operator=(const transport &)=delete
Disallow default bitwise assignment.
virtual void correct()
Correct the flame-wrinkling Xi.
Definition: transport.C:97
TypeName("transport")
Runtime type information.
transport(const dictionary &dict, const ubRhoThermo &thermo, const compressibleMomentumTransportModel &turbulence, const volScalarField &Su)
Construct from components.
Definition: transport.C:66
virtual bool readCoeffs(const dictionary &dict)
Update coefficients from given dictionary.
Definition: transport.C:50
virtual tmp< volScalarField > Db() const
Return the flame diffusivity.
Definition: transport.C:91
virtual ~transport()
Destructor.
Definition: transport.C:85
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.
dictionary dict
autoPtr< incompressible::momentumTransportModel > turbulence(incompressible::momentumTransportModel::New(U, phi, viscosity))
fluidMulticomponentThermo & thermo
Definition: createFields.H:15