1 /*---------------------------------------------------------------------------*\
3 \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
5 \\ / A nd | Copyright (C) 1991-2008 OpenCFD Ltd.
7 -------------------------------------------------------------------------------
9 This file is part of OpenFOAM.
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 the
13 Free Software Foundation; either version 2 of the License, or (at your
14 option) any later version.
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
21 You should have received a copy of the GNU General Public License
22 along with OpenFOAM; if not, write to the Free Software Foundation,
23 Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
29 Laminar flame speed obtained from the SCOPE correlation.
32 SCOPELaminarFlameSpeed.C
34 \*---------------------------------------------------------------------------*/
39 #include "laminarFlameSpeed.H"
41 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
45 namespace laminarFlameSpeedModels
48 /*---------------------------------------------------------------------------*\
49 Class SCOPE Declaration
50 \*---------------------------------------------------------------------------*/
54 public laminarFlameSpeed
60 public FixedList<scalar, 7>
67 //- Upper polynomial limit
70 //- Value at lower limit
73 //- Value at upper limit
76 //- Changeover point from lower to upper polynomial
79 //- Construct from dictionary
80 polynomial(const dictionary& polyDict);
84 dictionary coeffsDict_;
86 //- Lower flamability limit
89 //- Upper flamability limit
92 //- Lower Su polynomial
95 //- Upper Su polynomial
98 //- Temperature correction exponent
101 //- Pressure correction exponent
104 //- Lower Ma polynomial
107 //- Upper Ma polynomial
111 // Private member functions
113 //- Polynomial evaluated from the given equivalence ratio
114 // and polynomial coefficients
115 static inline scalar polyPhi(scalar phi, const polynomial& a);
117 //- Laminar flame speed evaluated from the given equivalence ratio
118 // at the reference temperature and pressure
119 inline scalar SuRef(scalar phi) const;
121 //- Markstein evaluated from the given equivalence ratio
122 inline scalar Ma(scalar phi) const;
124 //- Laminar flame speed evaluated from the given equivalence ratio
125 // corrected for temperature and pressure dependence
126 inline scalar Su0pTphi(scalar p, scalar Tu, scalar phi) const;
128 //- Laminar flame speed evaluated from the given uniform
129 // equivalence ratio corrected for temperature and pressure dependence
130 tmp<volScalarField> Su0pTphi
132 const volScalarField& p,
133 const volScalarField& Tu,
137 //- Laminar flame speed evaluated from the given equivalence ratio
138 // distribution corrected for temperature and pressure dependence
139 tmp<volScalarField> Su0pTphi
141 const volScalarField& p,
142 const volScalarField& Tu,
143 const volScalarField& phi
146 //- Return the Markstein number
147 // evaluated from the given equivalence ratio
148 tmp<volScalarField> Ma(const volScalarField& phi) const;
150 //- Construct as copy (not implemented)
153 void operator=(const SCOPE&);
158 //- Runtime type information
163 //- Construct from dictionary and hhuCombustionThermo
167 const hhuCombustionThermo&
178 //- Return the Markstein number
179 tmp<volScalarField> Ma() const;
181 //- Return the laminar flame speed [m/s]
182 tmp<volScalarField> operator()() const;
186 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
188 } // End laminarFlameSpeedModels
189 } // End namespace Foam
191 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
195 // ************************************************************************* //