MovingPhaseModel.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-2022 OpenCFD Ltd.
9-------------------------------------------------------------------------------
10License
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
26Class
27 Foam::MovingPhaseModel
28
29Description
30 Class which represents a moving fluid phase. Holds the velocity, fluxes and
31 turbulence model. Provides access to the turbulent quantities.
32
33 Possible future extensions include separating the turbulent fuctionality
34 into another layer.
35
36SourceFiles
37 MovingPhaseModel.C
38
39\*---------------------------------------------------------------------------*/
40
41#ifndef MovingPhaseModel_H
42#define MovingPhaseModel_H
43
44#include "phaseModel.H"
45
46// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
47
48namespace Foam
49{
50
51/*---------------------------------------------------------------------------*\
52 Class phaseModel Declaration
53\*---------------------------------------------------------------------------*/
54
55template<class BasePhaseModel>
57:
58 public BasePhaseModel
59{
60 // Private data
61
62 //- Reference to U
63 const volVectorField& U_;
64
65 //- Reference to phi
66 const surfaceScalarField& phi_;
67
68 //- Volumetric flux
69 surfaceScalarField alphaPhi_;
70
71
72public:
73
74 // Constructors
75
77 (
79 const word& phaseName
80 );
81
82
83 //- Destructor
84 virtual ~MovingPhaseModel() = default;
85
86
87 // Member Functions
88
89 //- Correct the phase properties other than the thermo and turbulence
90 virtual void correct();
91
92
93 // Momentum
94
95 //- Constant access the volumetric flux
96 virtual tmp<surfaceScalarField> phi() const;
97
98 //- Access the volumetric flux
99 virtual const surfaceScalarField& phi();
100
101 //- Constant access the volumetric flux of the phase
102 virtual tmp<surfaceScalarField> alphaPhi() const;
103
104 //- Access the volumetric flux of the phase
105 virtual surfaceScalarField& alphaPhi();
106
107 //- Access const reference to U
108 virtual tmp<volVectorField> U() const;
109
110 //- Diffusion number
111 virtual tmp<surfaceScalarField> diffNo() const;
112};
113
114
115// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
116
117} // End namespace Foam
118
119// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
120
121#ifdef NoRepository
122# include "MovingPhaseModel.C"
123#endif
124
125// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
126
127#endif
128
129// ************************************************************************* //
twoPhaseSystem & fluid
Class which represents a moving fluid phase. Holds the velocity, fluxes and turbulence model....
virtual tmp< surfaceScalarField > diffNo() const
Diffusion number.
virtual void correct()
Correct the phase properties other than the thermo and turbulence.
virtual ~MovingPhaseModel()=default
Destructor.
virtual tmp< volVectorField > U() const
Access const reference to U.
virtual tmp< surfaceScalarField > alphaPhi() const
Constant access the volumetric flux of the phase.
virtual tmp< surfaceScalarField > phi() const
Constant access the volumetric flux.
A class for managing temporary objects.
Definition: tmp.H:65
A class for handling words, derived from Foam::string.
Definition: word.H:68
Namespace for OpenFOAM.