incompressibleInterPhaseTransportModel.H
Go to the documentation of this file.
1 /*---------------------------------------------------------------------------*\
2  ========= |
3  \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
4  \\ / O peration | Website: https://openfoam.org
5  \\ / A nd | Copyright (C) 2021 OpenFOAM Foundation
6  \\/ M anipulation |
7 -------------------------------------------------------------------------------
8 License
9  This file is part of OpenFOAM.
10 
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
13  the Free Software Foundation, either version 3 of the License, or
14  (at your option) any later version.
15 
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
19  for more details.
20 
21  You should have received a copy of the GNU General Public License
22  along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
23 
24 Class
25  Foam::incompressibleInterPhaseTransportModel
26 
27 Description
28  Transport model selection class for the interFoam family of solvers.
29 
30  By default the standard mixture transport modelling approach is used in
31  which a single momentum stress model (laminar, non-Newtonian, LES or RAS) is
32  constructed for the mixture. However if the \c simulationType in
33  constant/momentumTransport is set to \c twoPhaseTransport the alternative
34  Euler-Euler two-phase transport modelling approach is used in which separate
35  stress models (laminar, non-Newtonian, LES or RAS) are instantiated for each
36  of the two phases allowing for different modeling for the phases.
37 
38 SourceFiles
39  incompressibleInterPhaseTransportModel.C
40 
41 \*---------------------------------------------------------------------------*/
42 
43 #ifndef incompressibleInterPhaseTransportModel_H
44 #define incompressibleInterPhaseTransportModel_H
45 
49 
50 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
51 
52 namespace Foam
53 {
54 
55 /*---------------------------------------------------------------------------*\
56  Class incompressibleInterPhaseTransportModel Declaration
57 \*---------------------------------------------------------------------------*/
58 
60 {
61  // Private Data
62 
63  //- Switch to select two-phase or mixture transport modelling
64  Switch twoPhaseTransport_;
65 
66  //- Two-phase mixture
67  const incompressibleTwoPhaseMixture& mixture_;
68 
69  //- Mixture volumetric flux
70  const surfaceScalarField& phi_;
71 
72  //- Phase volumetric flux
73  const surfaceScalarField& alphaPhi10_;
74 
75  //- Phase-2 mass-flux (constructed from alphaPhi10_ and phi_)
76  tmp<surfaceScalarField> alphaPhi2_;
77 
78  //- Mixture transport model (constructed for mixture transport)
80 
81  //- Phase-1 transport model (constructed for two-phase transport)
83 
84  //- Phase-2 transport model (constructed for two-phase transport)
86 
87 
88 public:
89 
90  // Constructors
91 
92  //- Construct from components
94  (
95  const volVectorField& U,
96  const surfaceScalarField& phi,
97  const surfaceScalarField& alphaPhi10,
99  );
100 
101  //- Disallow default bitwise copy construction
103  (
105  );
106 
107 
108  // Member Functions
109 
110  //- Return the effective momentum stress divergence
112  (
113  const volScalarField& rho,
114  volVectorField& U
115  ) const;
116 
117  //- Correct the phase mass-fluxes
118  // (required for the two-phase transport option)
119  void correctPhasePhi();
120 
121  //- Correct the phase or mixture transport models
122  void correct();
123 
124 
125  // Member Operators
126 
127  //- Disallow default bitwise assignment
129 };
130 
131 
132 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
133 
134 } // End namespace Foam
135 
136 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
137 
138 #endif
139 
140 // ************************************************************************* //
void correctPhasePhi()
Correct the phase mass-fluxes.
tmp< fvVectorMatrix > divDevTau(const volScalarField &rho, volVectorField &U) const
Return the effective momentum stress divergence.
U
Definition: pEqn.H:72
A two-phase incompressible transportModel.
A simple wrapper around bool so that it can be read as a word: true/false, on/off, yes/no, y/n, t/f, or none/any.
Definition: Switch.H:60
void operator=(const incompressibleInterPhaseTransportModel &)=delete
Disallow default bitwise assignment.
incompressibleInterPhaseTransportModel(const volVectorField &U, const surfaceScalarField &phi, const surfaceScalarField &alphaPhi10, const incompressibleTwoPhaseMixture &mixture)
Construct from components.
phi
Definition: correctPhi.H:3
Transport model selection class for the interFoam family of solvers.
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
Definition: PtrList.H:52
A class for managing temporary objects.
Definition: PtrList.H:53
void correct()
Correct the phase or mixture transport models.
Namespace for OpenFOAM.