1 /*---------------------------------------------------------------------------*\
3 \\ / F ield | foam-extend: Open Source CFD
4 \\ / O peration | Version: 3.2
5 \\ / A nd | Web: http://www.foam-extend.org
6 \\/ M anipulation | For copyright notice see file Copyright
7 -------------------------------------------------------------------------------
9 This file is part of foam-extend.
11 foam-extend 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 3 of the License, or (at your
14 option) any later version.
16 foam-extend is distributed in the hope that it will be useful, but
17 WITHOUT ANY WARRANTY; without even the implied warranty of
18 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
19 General Public License for more details.
21 You should have received a copy of the GNU General Public License
22 along with foam-extend. If not, see <http://www.gnu.org/licenses/>.
25 Foam::inhomogeneousMixture
28 Foam::inhomogeneousMixture
31 inhomogeneousMixture.C
33 \*---------------------------------------------------------------------------*/
35 #ifndef inhomogeneousMixture_H
36 #define inhomogeneousMixture_H
38 #include "basicMultiComponentMixture.H"
40 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
45 /*---------------------------------------------------------------------------*\
46 Class inhomogeneousMixture Declaration
47 \*---------------------------------------------------------------------------*/
49 template<class ThermoType>
50 class inhomogeneousMixture
52 public basicMultiComponentMixture
56 static const int nSpecies_ = 2;
57 static const char* specieNames_[2];
59 dimensionedScalar stoicRatio_;
65 mutable ThermoType mixture_;
73 //- Construct as copy (not implemented)
74 inhomogeneousMixture(const inhomogeneousMixture<ThermoType>&);
79 //- The type of thermodynamics this mixture is instantiated for
80 typedef ThermoType thermoType;
85 //- Construct from dictionary and mesh
86 inhomogeneousMixture(const dictionary&, const fvMesh&, const objectRegistry&);
90 virtual ~inhomogeneousMixture()
96 const dimensionedScalar& stoicRatio() const
101 const ThermoType& mixture(const scalar, const scalar) const;
103 const ThermoType& cellMixture(const label celli) const
105 return mixture(ft_[celli], b_[celli]);
108 const ThermoType& patchFaceMixture
116 ft_.boundaryField()[patchi][facei],
117 b_.boundaryField()[patchi][facei]
121 const ThermoType& cellReactants(const label celli) const
123 return mixture(ft_[celli], 1);
126 const ThermoType& patchFaceReactants
134 ft_.boundaryField()[patchi][facei],
139 const ThermoType& cellProducts(const label celli) const
141 return mixture(ft_[celli], 0);
144 const ThermoType& patchFaceProducts
152 ft_.boundaryField()[patchi][facei],
158 void read(const dictionary&);
162 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
164 } // End namespace Foam
166 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
169 # include "inhomogeneousMixture.C"
172 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
176 // ************************************************************************* //