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-2023 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 incompressibleTwoPhaseVoFMixture& mixture_;
68 
69  //- Mixture volumetric flux
70  const surfaceScalarField& phi_;
71 
72  //- Phase volumetric flux
73  const surfaceScalarField& alphaPhi1_;
74 
75  //- Phase-2 mass-flux (constructed from alphaPhi1_ 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& alphaPhi1,
99  );
100 
101  //- Disallow default bitwise copy construction
103  (
105  ) = delete;
106 
107 
108  // Member Functions
109 
110  //- Return the effective momentum stress divergence
112  (
113  const volScalarField& rho,
115  ) const;
116 
117  //- Correct the phase mass-fluxes
118  // (required for the two-phase transport option)
119  void correctPhasePhi();
120 
121  //- Predict the phase or mixture transport models
122  void predict();
123 
124  //- Correct the phase or mixture transport models
125  void correct();
126 
127 
128  // Member Operators
129 
130  //- Disallow default bitwise assignment
132 };
133 
134 
135 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
136 
137 } // End namespace Foam
138 
139 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
140 
141 #endif
142 
143 // ************************************************************************* //
Generic GeometricField class.
A simple wrapper around bool so that it can be read as a word: true/false, on/off,...
Definition: Switch.H:61
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
Definition: autoPtr.H:51
Transport model selection class for the interFoam family of solvers.
void correct()
Correct the phase or mixture transport models.
void operator=(const incompressibleInterPhaseTransportModel &)=delete
Disallow default bitwise assignment.
incompressibleInterPhaseTransportModel(const volVectorField &U, const surfaceScalarField &phi, const surfaceScalarField &alphaPhi1, const incompressibleTwoPhaseVoFMixture &mixture)
Construct from components.
void predict()
Predict the phase or mixture transport models.
tmp< fvVectorMatrix > divDevTau(const volScalarField &rho, volVectorField &U) const
Return the effective momentum stress divergence.
Class to represent a mixture of two constant density phases.
A class for managing temporary objects.
Definition: tmp.H:55
U
Definition: pEqn.H:72
Namespace for OpenFOAM.