reactionRateFlameArea.H
Go to the documentation of this file.
1 /*---------------------------------------------------------------------------*\
2  ========= |
3  \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
4  \\ / O peration |
5  \\ / A nd | www.openfoam.com
6  \\/ M anipulation |
7 -------------------------------------------------------------------------------
8  Copyright (C) 2011-2016 OpenFOAM Foundation
9 -------------------------------------------------------------------------------
10 License
11  This file is part of OpenFOAM.
12 
13  OpenFOAM is free software: you can redistribute it and/or modify it
14  under the terms of the GNU General Public License as published by
15  the Free Software Foundation, either version 3 of the License, or
16  (at your option) any later version.
17 
18  OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
19  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
20  FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
21  for more details.
22 
23  You should have received a copy of the GNU General Public License
24  along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
25 
26 Class
27  Foam::reactionRateFlameArea
28 
29 Description
30  Abstract class for reaction rate per flame area unit
31 
32 SourceFiles
33  reactionRateFlameArea.C
34  reactionRateFlameAreaNew.C
35 
36 \*---------------------------------------------------------------------------*/
37 
38 #ifndef reactionRateFlameArea_H
39 #define reactionRateFlameArea_H
40 
41 #include "runTimeSelectionTables.H"
42 #include "dictionary.H"
43 #include "autoPtr.H"
44 #include "volFields.H"
45 #include "combustionModel.H"
46 
47 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
48 
49 namespace Foam
50 {
51 class fvMesh;
52 
53 /*---------------------------------------------------------------------------*\
54  Class reactionRateFlameArea Declaration
55 \*---------------------------------------------------------------------------*/
56 
58 {
59 
60 protected:
61 
62  // Protected data
63 
64  //- Dictionary
66 
67  //- Mesh reference
68  const fvMesh& mesh_;
69 
70  //- Combustion model owner
72 
73  //- Fuel name
74  word fuel_;
75 
76  //- Fuel consumption rate per unit of flame area
78 
79 
80 private:
81 
82  // Private member functions
83 
84  //- No copy construct
86 
87  //- No copy assignment
88  void operator=(const reactionRateFlameArea&) = delete;
89 
90 
91 public:
92 
93  //- Runtime type information
94  TypeName("reactionRateFlameArea");
95 
96 
97  // Declare run-time constructor selection table
98 
100  (
101  autoPtr,
103  dictionary,
104  (
105  const word modelType,
106  const dictionary& dict,
107  const fvMesh& mesh,
108  const combustionModel& combModel
109  ),
110  (modelType, dict, mesh, combModel)
111  );
112 
113 
114  // Constructors
115 
116  //- Construct from components
118  (
119  const word& modelType,
120  const dictionary& dict,
121  const fvMesh& mesh,
122  const combustionModel& combModel
123  );
124 
125 
126  // Selector
127 
129  (
130  const dictionary& dict,
131  const fvMesh& mesh,
132  const combustionModel& combModel
133  );
134 
135 
136  // Destructor
137 
138  virtual ~reactionRateFlameArea();
139 
140 
141  // Member functions
142 
143  //- Access functions
144 
145  //- Return omega
146  const volScalarField& omega() const
147  {
148  return omega_;
149  }
150 
151 
152  //- Correct omega
153  virtual void correct(const volScalarField& sigma) = 0;
154 
155  //- Update from dictionary
156  virtual bool read(const dictionary& dictProperties);
157 };
158 
159 
160 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
161 
162 } // End namespace Foam
163 
164 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
165 
166 #endif
167 
168 // ************************************************************************* //
Foam::combustionModel
Base class for combustion models.
Definition: combustionModel.H:54
volFields.H
Foam::reactionRateFlameArea::~reactionRateFlameArea
virtual ~reactionRateFlameArea()
Definition: reactionRateFlameArea.C:70
Foam::word
A class for handling words, derived from Foam::string.
Definition: word.H:65
Foam::reactionRateFlameArea::coeffDict_
dictionary coeffDict_
Dictionary.
Definition: reactionRateFlameArea.H:64
Foam::reactionRateFlameArea::read
virtual bool read(const dictionary &dictProperties)
Update from dictionary.
Definition: reactionRateFlameArea.C:76
Foam::reactionRateFlameArea::omega
const volScalarField & omega() const
Access functions.
Definition: reactionRateFlameArea.H:145
dict
dictionary dict
Definition: searchingEngine.H:14
Foam::dictionary
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Definition: dictionary.H:123
mesh
dynamicFvMesh & mesh
Definition: createDynamicFvMesh.H:6
Foam::reactionRateFlameArea::correct
virtual void correct(const volScalarField &sigma)=0
Correct omega.
Foam::fvMesh
Mesh data needed to do the Finite Volume discretisation.
Definition: fvMesh.H:85
Foam
Namespace for OpenFOAM.
Definition: atmBoundaryLayer.C:33
Foam::reactionRateFlameArea::mesh_
const fvMesh & mesh_
Mesh reference.
Definition: reactionRateFlameArea.H:67
Foam::reactionRateFlameArea::combModel_
const combustionModel & combModel_
Combustion model owner.
Definition: reactionRateFlameArea.H:70
Foam::reactionRateFlameArea::declareRunTimeSelectionTable
declareRunTimeSelectionTable(autoPtr, reactionRateFlameArea, dictionary,(const word modelType, const dictionary &dict, const fvMesh &mesh, const combustionModel &combModel),(modelType, dict, mesh, combModel))
Foam::autoPtr
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
Definition: HashPtrTable.H:53
Foam::reactionRateFlameArea::New
static autoPtr< reactionRateFlameArea > New(const dictionary &dict, const fvMesh &mesh, const combustionModel &combModel)
Definition: reactionRateFlameAreaNew.C:34
Foam::reactionRateFlameArea
Abstract class for reaction rate per flame area unit.
Definition: reactionRateFlameArea.H:56
runTimeSelectionTables.H
Macros to ease declaration of run-time selection tables.
dictionary.H
Foam::reactionRateFlameArea::omega_
volScalarField omega_
Fuel consumption rate per unit of flame area.
Definition: reactionRateFlameArea.H:76
Foam::reactionRateFlameArea::fuel_
word fuel_
Fuel name.
Definition: reactionRateFlameArea.H:73
sigma
dimensionedScalar sigma("sigma", dimMass/sqr(dimTime), transportProperties)
Foam::GeometricField< scalar, fvPatchField, volMesh >
Foam::reactionRateFlameArea::TypeName
TypeName("reactionRateFlameArea")
Runtime type information.
combustionModel.H
autoPtr.H