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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
33 \*---------------------------------------------------------------------------*/
35 #ifndef threePhaseMixture_H
36 #define threePhaseMixture_H
38 #include "incompressible/transportModel/transportModel.H"
39 #include "incompressible/viscosityModels/viscosityModel/viscosityModel.H"
40 #include "dimensionedScalar.H"
41 #include "volFields.H"
43 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
48 /*---------------------------------------------------------------------------*\
49 Class threePhaseMixture Declaration
50 \*---------------------------------------------------------------------------*/
52 class threePhaseMixture
62 autoPtr<viscosityModel> nuModel1_;
63 autoPtr<viscosityModel> nuModel2_;
64 autoPtr<viscosityModel> nuModel3_;
66 dimensionedScalar rho1_;
67 dimensionedScalar rho2_;
68 dimensionedScalar rho3_;
70 const volVectorField& U_;
71 const surfaceScalarField& phi_;
73 const volScalarField& alpha1_;
74 const volScalarField& alpha2_;
75 const volScalarField& alpha3_;
80 // Private Member Functions
82 //- Calculate and return the laminar viscosity
90 //- Construct from components
93 const volVectorField& U,
94 const surfaceScalarField& phi
106 //- Return const-access to phase1 viscosityModel
107 const viscosityModel& nuModel1() const
112 //- Return const-access to phase2 viscosityModel
113 const viscosityModel& nuModel2() const
118 //- Return const-access to phase3 viscosityModel
119 const viscosityModel& nuModel3() const
124 //- Return const-access to phase1 density
125 const dimensionedScalar& rho1() const
130 //- Return const-access to phase2 density
131 const dimensionedScalar& rho2() const
136 //- Return const-access to phase3 density
137 const dimensionedScalar& rho3() const
142 const volScalarField& alpha1() const
147 const volScalarField& alpha2() const
152 const volScalarField& alpha3() const
157 //- Return the velocity
158 const volVectorField& U() const
163 //- Return the dynamic laminar viscosity
164 tmp<volScalarField> mu() const;
166 //- Return the face-interpolated dynamic laminar viscosity
167 tmp<surfaceScalarField> muf() const;
169 //- Return the kinematic laminar viscosity
170 const volScalarField& nu() const
175 //- Return the face-interpolated dynamic laminar viscosity
176 tmp<surfaceScalarField> nuf() const;
178 //- Correct the laminar viscosity
184 //- Read base transportProperties dictionary
189 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
191 } // End namespace Foam
193 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
197 // ************************************************************************* //