1 /*---------------------------------------------------------------------------*\
3 \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
5 \\ / A nd | Copyright held by original author
7 -------------------------------------------------------------------------------
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
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
26 Foam::SinglePhaseMixture
29 Templated parcel single phase, multi-component class
34 \*---------------------------------------------------------------------------*/
36 #ifndef SinglePhaseMixture_H
37 #define SinglePhaseMixture_H
39 #include "CompositionModel.H"
41 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
46 /*---------------------------------------------------------------------------*\
47 Class SinglePhaseMixture Declaration
48 \*---------------------------------------------------------------------------*/
50 template<class CloudType>
51 class SinglePhaseMixture
53 public CompositionModel<CloudType>
57 // Indices of the phases - only 1 will be set
69 // Private member functions
71 //- Construct the indices and check correct specification of
72 // 1 gas or 1 liquid or 1 solid
78 //- Runtime type information
79 TypeName("SinglePhaseMixture");
84 //- Construct from dictionary
85 SinglePhaseMixture(const dictionary& dict, CloudType& owner);
89 virtual ~SinglePhaseMixture();
98 //- Return the list of gas mass fractions
99 const scalarField& YGas0() const;
101 //- Return the total gas mass fraction
102 scalar YGasTot0() const;
107 //- Return the list of liquid mass fractions
108 const scalarField& YLiquid0() const;
110 //- Return the total liquid mass fraction
111 scalar YLiquidTot0() const;
116 //- Return the list of solid mass fractions
117 const scalarField& YSolid0() const;
119 //- Return the total solid mass fraction
120 scalar YSolidTot0() const;
123 // Mixture properties
125 //- Return the list of mixture mass fractions
126 virtual const scalarField& YMixture0() const;
128 // Indices of gas, liquid and solid phases in phase properties
132 virtual label idGas() const;
135 virtual label idLiquid() const;
138 virtual label idSolid() const;
142 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
144 } // End namespace Foam
146 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
149 # include "SinglePhaseMixture.C"
152 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
156 // ************************************************************************* //