Added more documentation.
[OpenFOAM-1.5.x.git] / applications / solvers / combustion / PDRFoam / XiModels / XiGModels / XiGModel / XiGModel.H
blob0e3dd00db1e5712e6f5e805b3a99a5adcf01f160
1 /*---------------------------------------------------------------------------*\
2   =========                 |
3   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
4    \\    /   O peration     |
5     \\  /    A nd           | Copyright (C) 1991-2008 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 Class
26     Foam::XiGModel
28 Description
29     Base-class for all Xi generation models used by the b-Xi combustion model.
30     See Technical Report SH/RE/01R for details on the PDR modelling. For details
31     on the use of XiGModel see \link XiModel.H \endlink. The model available is
32     \link instabilityG.H \endlink
34 SourceFiles
35     XiGModel.C
37 \*---------------------------------------------------------------------------*/
39 #ifndef XiGModel_H
40 #define XiGModel_H
42 #include "IOdictionary.H"
43 #include "hhuCombustionThermo.H"
44 #include "RASModel.H"
45 #include "runTimeSelectionTables.H"
47 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
49 namespace Foam
52 /*---------------------------------------------------------------------------*\
53                           Class XiGModel Declaration
54 \*---------------------------------------------------------------------------*/
56 class XiGModel
59 protected:
61     // Protected data
63         dictionary XiGModelCoeffs_;
65         const hhuCombustionThermo& thermo_;
66         const compressible::RASModel& turbulence_;
67         const volScalarField& Su_;
70 private:
72     // Private Member Functions
74         //- Disallow copy construct
75         XiGModel(const XiGModel&);
77         //- Disallow default bitwise assignment
78         void operator=(const XiGModel&);
81 public:
83     //- Runtime type information
84     TypeName("XiGModel");
87     // Declare run-time constructor selection table
89         declareRunTimeSelectionTable
90         (
91             autoPtr,
92             XiGModel,
93             dictionary,
94             (
95                 const dictionary& XiGProperties,
96                 const hhuCombustionThermo& thermo,
97                 const compressible::RASModel& turbulence,
98                 const volScalarField& Su
99             ),
100             (
101                 XiGProperties,
102                 thermo,
103                 turbulence,
104                 Su
105             )
106         );
109     // Selectors
111         //- Return a reference to the selected XiG model
112         static autoPtr<XiGModel> New
113         (
114             const dictionary& XiGProperties,
115             const hhuCombustionThermo& thermo,
116             const compressible::RASModel& turbulence,
117             const volScalarField& Su
118         );
121     // Constructors
123         //- Construct from components
124         XiGModel
125         (
126             const dictionary& XiGProperties,
127             const hhuCombustionThermo& thermo,
128             const compressible::RASModel& turbulence,
129             const volScalarField& Su
130         );
133     // Destructor
135         virtual ~XiGModel();
138     // Member Functions
140         //- Return the flame-wrinking genration rate
141         virtual tmp<volScalarField> G() const = 0;
143         //- Return the flame diffusivity
144         virtual tmp<volScalarField> Db() const
145         {
146             return turbulence_.muEff();
147         }
149         //- Update properties from given dictionary
150         virtual bool read(const dictionary& XiGProperties) = 0;
154 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
156 } // End namespace Foam
158 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
160 #endif
162 // ************************************************************************* //