initial commit for version 1.6.x patch release
[OpenFOAM-1.6.x.git] / src / thermophysicalModels / laminarFlameSpeed / laminarFlameSpeed / laminarFlameSpeed.H
blobf6568a3743365bbb821e114586d5623c30e21f0b
1 /*---------------------------------------------------------------------------*\
2   =========                 |
3   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
4    \\    /   O peration     |
5     \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
6      \\/     M anipulation  |
7 -------------------------------------------------------------------------------
8 License
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
19     for more details.
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
25 Namespace
26     Foam::laminarFlameSpeedModels
28 Description
29     Namespace for laminar flame speed models
32 Class
33     Foam::laminarFlameSpeed
35 Description
36     Abstract class for laminar flame speed
38 SourceFiles
39     laminarFlameSpeed.C
40     newLaminarFlameSpeed.C
42 \*---------------------------------------------------------------------------*/
44 #ifndef laminarFlameSpeed_H
45 #define laminarFlameSpeed_H
47 #include "hhuCombustionThermo.H"
48 #include "autoPtr.H"
49 #include "runTimeSelectionTables.H"
51 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
53 namespace Foam
56 /*---------------------------------------------------------------------------*\
57                            Class laminarFlameSpeed Declaration
58 \*---------------------------------------------------------------------------*/
60 class laminarFlameSpeed
63 protected:
65     // Protected data
67         const hhuCombustionThermo& hhuCombustionThermo_;
69         //- Fuel
70         word fuel_;
72         //- Equivalence ratio of a homogeneous mixture
73         scalar equivalenceRatio_;
76 private:
78     // Private member functions
80         //- Construct as copy (not implemented)
81         laminarFlameSpeed(const laminarFlameSpeed&);
82         void operator=(const laminarFlameSpeed&);
85 public:
87     //- Runtime type information
88     TypeName("laminarFlameSpeed");
91     // Declare run-time constructor selection table
93         declareRunTimeSelectionTable
94         (
95             autoPtr,
96             laminarFlameSpeed,
97             dictionary,
98             (
99                 const dictionary& dict,
100                 const hhuCombustionThermo& ct
101             ),
102             (dict, ct)
103         );
106     // Constructors
108         //- Construct from dictionary and hhuCombustionThermo
109         laminarFlameSpeed
110         (
111             const dictionary&,
112             const hhuCombustionThermo&
113         );
116     // Selector
118         static autoPtr<laminarFlameSpeed> New
119         (
120             const hhuCombustionThermo&
121         );
124     // Destructor
126         virtual ~laminarFlameSpeed();
129     // Member functions
131         //- Return the laminar flame speed [m/s]
132         virtual tmp<volScalarField> operator()() const = 0;
136 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
138 } // End namespace Foam
140 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
142 #endif
144 // ************************************************************************* //