Removed unnecessary return statement
[foam-extend-3.2.git] / applications / solvers / multiphase / interMixingFoam / incompressibleThreePhaseMixture / threePhaseMixture.H
blob3c4118632cbc47653460d829323e37e6d48cab6b
1 /*---------------------------------------------------------------------------*\
2   =========                 |
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 -------------------------------------------------------------------------------
8 License
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/>.
24 Class
25     threePhaseMixture
27 Description
29 SourceFiles
30     threePhaseMixture.C
32 \*---------------------------------------------------------------------------*/
34 #ifndef threePhaseMixture_H
35 #define threePhaseMixture_H
37 #include "incompressible/transportModel/transportModel.H"
38 #include "incompressible/viscosityModels/viscosityModel/viscosityModel.H"
39 #include "dimensionedScalar.H"
40 #include "volFields.H"
42 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
44 namespace Foam
47 /*---------------------------------------------------------------------------*\
48                            Class threePhaseMixture Declaration
49 \*---------------------------------------------------------------------------*/
51 class threePhaseMixture
53     public transportModel
55     // Private data
57         word phase1Name_;
58         word phase2Name_;
59         word phase3Name_;
61         autoPtr<viscosityModel> nuModel1_;
62         autoPtr<viscosityModel> nuModel2_;
63         autoPtr<viscosityModel> nuModel3_;
65         dimensionedScalar rho1_;
66         dimensionedScalar rho2_;
67         dimensionedScalar rho3_;
69         const volVectorField& U_;
70         const surfaceScalarField& phi_;
72         const volScalarField& alpha1_;
73         const volScalarField& alpha2_;
74         const volScalarField& alpha3_;
76         volScalarField nu_;
79     // Private Member Functions
81         //- Calculate and return the laminar viscosity
82         void calcNu();
85 public:
87     // Constructors
89         //- Construct from components
90         threePhaseMixture
91         (
92             const volVectorField& U,
93             const surfaceScalarField& phi
94         );
97     // Destructor
99         ~threePhaseMixture()
100         {}
103     // Member Functions
105         //- Return const-access to phase1 viscosityModel
106         const viscosityModel& nuModel1() const
107         {
108             return nuModel1_();
109         }
111         //- Return const-access to phase2 viscosityModel
112         const viscosityModel& nuModel2() const
113         {
114             return nuModel2_();
115         }
117         //- Return const-access to phase3 viscosityModel
118         const viscosityModel& nuModel3() const
119         {
120             return nuModel3_();
121         }
123         //- Return const-access to phase1 density
124         const dimensionedScalar& rho1() const
125         {
126             return rho1_;
127         }
129         //- Return const-access to phase2 density
130         const dimensionedScalar& rho2() const
131         {
132             return rho2_;
133         };
135         //- Return const-access to phase3 density
136         const dimensionedScalar& rho3() const
137         {
138             return rho3_;
139         };
141         const volScalarField& alpha1() const
142         {
143             return alpha1_;
144         }
146         const volScalarField& alpha2() const
147         {
148             return alpha2_;
149         }
151         const volScalarField& alpha3() const
152         {
153             return alpha3_;
154         }
156         //- Return the velocity
157         const volVectorField& U() const
158         {
159             return U_;
160         }
162         //- Return the dynamic laminar viscosity
163         tmp<volScalarField> mu() const;
165         //- Return the face-interpolated dynamic laminar viscosity
166         tmp<surfaceScalarField> muf() const;
168         //- Return the kinematic laminar viscosity
169         const volScalarField& nu() const
170         {
171             return nu_;
172         }
174         //- Return the face-interpolated dynamic laminar viscosity
175         tmp<surfaceScalarField> nuf() const;
177         //- Correct the laminar viscosity
178         void correct()
179         {
180             calcNu();
181         }
183         //- Read base transportProperties dictionary
184         bool read();
188 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
190 } // End namespace Foam
192 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
194 #endif
196 // ************************************************************************* //