ENH: autoLayerDriver: better layering information message
[OpenFOAM-2.0.x.git] / src / combustionModels / infinitelyFastChemistry / infinitelyFastChemistry.H
blob15a7b1a1eb860330ed98ffc2850c7fb4fde8d03a
1 /*---------------------------------------------------------------------------*\
2   =========                 |
3   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
4    \\    /   O peration     |
5     \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
6      \\/     M anipulation  |
7 -------------------------------------------------------------------------------
8 License
10     OpenFOAM is free software: you can redistribute it and/or modify it
11     under the terms of the GNU General Public License as published by
12     the Free Software Foundation, either version 3 of the License, or
13     (at your option) any later version.
15     OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
16     ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
17     FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
18     for more details.
20     You should have received a copy of the GNU General Public License
21     along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
23 Class
24     Foam::combustionModels::infinitelyFastChemistry
26 Description
27     Simple infinitely fast chemistry combustion model based on the principle
28     mixed is burnt. Additional parameter C is used to distribute the heat
29     release rate.in time
31 SourceFiles
32     infinitelyFastChemistry.C
34 \*---------------------------------------------------------------------------*/
36 #ifndef infinitelyFastChemistry_H
37 #define infinitelyFastChemistry_H
39 #include "combustionModel.H"
40 #include "singleStepReactingMixture.H"
41 #include "thermoPhysicsTypes.H"
43 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
45 namespace Foam
47 namespace combustionModels
50 /*---------------------------------------------------------------------------*\
51                   Class infinitelyFastChemistry Declaration
52 \*---------------------------------------------------------------------------*/
54 class infinitelyFastChemistry
56     public combustionModel
58     // Private data
60         //- Model constant
61         scalar C_;
63         //- Reference to singleStepReactingMixture mixture
64         singleStepReactingMixture<gasThermoPhysics>& singleMixture_;
66         //- Normalised consumption rate of (fu - fres)
67         volScalarField wFuelNorm_;
70     // Private Member Functions
72         //- Disallow copy construct
73         infinitelyFastChemistry(const infinitelyFastChemistry&);
75         //- Disallow default bitwise assignment
76         void operator=(const infinitelyFastChemistry&);
79 public:
81     //- Runtime type information
82     TypeName("infinitelyFastChemistry");
85     // Constructors
87         //- Construct from components
88         infinitelyFastChemistry
89         (
90             const dictionary& combustionProps,
91             hsCombustionThermo& thermo,
92             const compressible::turbulenceModel& turbulence,
93             const surfaceScalarField& phi,
94             const volScalarField& rho
95         );
98     //- Destructor
99     virtual ~infinitelyFastChemistry();
102     // Member Functions
104         // Evolution
106             //- Correct combustion rate
107             virtual void correct();
109             //- Fuel consumption rate matrix, i.e. source term for fuel equation
110             virtual tmp<fvScalarMatrix> R(volScalarField& Y) const;
112             //- Heat release rate calculated from fuel consumption rate matrix
113             virtual tmp<volScalarField> dQ() const;
115             //- Return normalised consumption rate of (fu - fres)
116             virtual tmp<volScalarField> wFuelNorm() const;
119     // I-O
121             //- Update properties from given dictionary
122             virtual bool read(const dictionary& combustionProperties);
126 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
128 } // End namespace combustionModels
129 } // End namespace Foam
131 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
133 #endif
135 // ************************************************************************* //