compressibleInterPhaseTransportModel.H
Go to the documentation of this file.
1 /*---------------------------------------------------------------------------*\
2  ========= |
3  \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
4  \\ / O peration |
5  \\ / A nd | www.openfoam.com
6  \\/ M anipulation |
7 -------------------------------------------------------------------------------
8  Copyright (C) 2017-2018 OpenFOAM Foundation
9 -------------------------------------------------------------------------------
10 License
11  This file is part of OpenFOAM.
12 
13  OpenFOAM is free software: you can redistribute it and/or modify it
14  under the terms of the GNU General Public License as published by
15  the Free Software Foundation, either version 3 of the License, or
16  (at your option) any later version.
17 
18  OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
19  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
20  FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
21  for more details.
22 
23  You should have received a copy of the GNU General Public License
24  along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
25 
26 Class
27  Foam::compressibleInterPhaseTransportModel
28 
29 Description
30  Transport model selection class for the compressibleInterFoam family of
31  solvers.
32 
33  By default the standard mixture transport modelling approach is used in
34  which a single momentum stress model (laminar, non-Newtonian, LES or RAS) is
35  constructed for the mixture. However if the \c simulationType in
36  constant/turbulenceProperties is set to \c twoPhaseTransport the alternative
37  Euler-Euler two-phase transport modelling approach is used in which separate
38  stress models (laminar, non-Newtonian, LES or RAS) are instantiated for each
39  of the two phases allowing for different modeling for the phases.
40 
41 SourceFiles
42  compressibleInterPhaseTransportModel.C
43 
44 \*---------------------------------------------------------------------------*/
45 
46 #ifndef compressibleInterPhaseTransportModel_H
47 #define compressibleInterPhaseTransportModel_H
48 
49 #include "twoPhaseMixture.H"
50 #include "twoPhaseMixtureThermo.H"
53 
54 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
55 
56 namespace Foam
57 {
58 
59 /*---------------------------------------------------------------------------*\
60  Class compressibleInterPhaseTransportModel Declaration
61 \*---------------------------------------------------------------------------*/
62 
64 {
65  // Private data
66 
67  //- Switch to select two-phase or mixture transport modelling
68  Switch twoPhaseTransport_;
69 
70  //- Two-phase mixture
71  const twoPhaseMixtureThermo& mixture_;
72 
73  //- Mixture volumetric flux
74  const surfaceScalarField& phi_;
75 
76  //- Phase volumetric flux
77  const surfaceScalarField& alphaPhi10_;
78 
79  //- Phase-1 mass-flux (constructed for two-phase transport)
80  tmp<surfaceScalarField> alphaRhoPhi1_;
81 
82  //- Phase-2 mass-flux (constructed for two-phase transport)
83  tmp<surfaceScalarField> alphaRhoPhi2_;
84 
85  //- Mixture transport model (constructed for mixture transport)
87 
88  //- Phase-1 transport model (constructed for two-phase transport)
89  autoPtr
90  <
92  > turbulence1_;
93 
94  //- Phase-2 transport model (constructed for two-phase transport)
95  autoPtr
96  <
98  > turbulence2_;
99 
100 
101  // Private Member Functions
102 
103  //- No copy construct
105  (
107  ) = delete;
108 
109  //- No copy assignment
110  void operator=(const compressibleInterPhaseTransportModel&) = delete;
111 
112 
113 public:
114 
115  // Constructors
116 
117  //- Construct from components
119  (
120  const volScalarField& rho,
121  const volVectorField& U,
122  const surfaceScalarField& phi,
123  const surfaceScalarField& rhoPhi,
126  );
127 
128 
129  // Member Functions
130 
131  //- Return the effective temperature transport coefficient
133 
134  //- Return the effective momentum stress divergence
136 
137  //- Correct the phase mass-fluxes
138  // (required for the two-phase transport option)
139  void correctPhasePhi();
140 
141  //- Correct the phase or mixture transport models
142  void correct();
143 };
144 
145 
146 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
147 
148 } // End namespace Foam
149 
150 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
151 
152 #endif
153 
154 // ************************************************************************* //
rhoPhi
rhoPhi
Definition: rhoEqn.H:10
Foam::Switch
A simple wrapper around bool so that it can be read as a word: true/false, on/off,...
Definition: Switch.H:77
alphaPhi10
alphaPhi10
Definition: alphaEqn.H:7
Foam::tmp
A class for managing temporary objects.
Definition: PtrList.H:61
rho
rho
Definition: readInitialConditions.H:88
twoPhaseMixtureThermo.H
VoFphaseCompressibleTurbulenceModel.H
phi
surfaceScalarField & phi
Definition: setRegionFluidFields.H:8
Foam
Namespace for OpenFOAM.
Definition: atmBoundaryLayer.C:33
Foam::compressibleInterPhaseTransportModel::divDevRhoReff
tmp< fvVectorMatrix > divDevRhoReff(volVectorField &U) const
Return the effective momentum stress divergence.
Foam::autoPtr
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
Definition: HashPtrTable.H:53
U
U
Definition: pEqn.H:72
Foam::twoPhaseMixtureThermo
Definition: twoPhaseMixtureThermo.H:55
Foam::ThermalDiffusivity
Templated wrapper class to provide compressible turbulence models thermal diffusivity based thermal t...
Definition: phaseCompressibleTurbulenceModelFwd.H:47
Foam::compressibleInterPhaseTransportModel::correctPhasePhi
void correctPhasePhi()
Correct the phase mass-fluxes.
Foam::compressibleInterPhaseTransportModel::correct
void correct()
Correct the phase or mixture transport models.
Foam::compressibleInterPhaseTransportModel::alphaEff
tmp< volScalarField > alphaEff() const
Return the effective temperature transport coefficient.
Foam::compressibleInterPhaseTransportModel
Transport model selection class for the compressibleInterFoam family of solvers.
Definition: compressibleInterPhaseTransportModel.H:62
Foam::GeometricField< scalar, fvsPatchField, surfaceMesh >
turbulentFluidThermoModel.H
Foam::mixture
Definition: mixture.H:54
twoPhaseMixture.H