kinematicCloud.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) 2011-2016 OpenFOAM Foundation
9 Copyright (C) 2019 OpenCFD Ltd.
10-------------------------------------------------------------------------------
11License
12 This file is part of OpenFOAM.
13
14 OpenFOAM is free software: you can redistribute it and/or modify it
15 under the terms of the GNU General Public License as published by
16 the Free Software Foundation, either version 3 of the License, or
17 (at your option) any later version.
18
19 OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
20 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
21 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
22 for more details.
23
24 You should have received a copy of the GNU General Public License
25 along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
26
27Class
28 Foam::kinematicCloud
29
30Description
31 Virtual abstract base class for templated KinematicCloud
32
33SourceFiles
34 kinematicCloud.H
35
36\*---------------------------------------------------------------------------*/
37
38#ifndef kinematicCloud_H
39#define kinematicCloud_H
40
41#include "typeInfo.H"
42#include "volFieldsFwd.H"
43
44// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
45
46namespace Foam
47{
48
49/*---------------------------------------------------------------------------*\
50 Class kinematicCloud Declaration
51\*---------------------------------------------------------------------------*/
54{
55public:
56
57 //- Runtime type information
58 TypeName("kinematicCloud");
59
60
61 // Constructors
62
63 //- Null constructor
64 kinematicCloud() = default;
65
66
67 //- Destructor
68 virtual ~kinematicCloud() = default;
69
70
71 // Member Functions
72
73 // Check
74
75 //- Number of parcels
76 virtual label nParcels() const = 0;
77
78 //- Total mass in system
79 virtual scalar massInSystem() const = 0;
80
81 //- Total linear momentum of the system
82 virtual vector linearMomentumOfSystem() const = 0;
83
84 //- Total linear kinetic energy in the system
85 virtual scalar linearKineticEnergyOfSystem() const = 0;
86
87 //- Mean diameter Dij
88 virtual scalar Dij(const label i, const label j) const = 0;
89
90 //- Max diameter
91 virtual scalar Dmax() const = 0;
92
93
94 // Fields
95
96 //- Volume swept rate of parcels per cell
97 virtual const tmp<volScalarField> vDotSweep() const = 0;
98
99 //- Return the particle volume fraction field
100 // Note: for particles belonging to this cloud only
101 virtual const tmp<volScalarField> theta() const = 0;
102
103 //- Return the particle mass fraction field
104 // Note: for particles belonging to this cloud only
105 virtual const tmp<volScalarField> alpha() const = 0;
106
107 //- Return the particle effective density field
108 // Note: for particles belonging to this cloud only
109 virtual const tmp<volScalarField> rhoEff() const = 0;
110};
111
112
113// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
114
115} // End namespace Foam
116
117// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
118
119#endif
120
121// ************************************************************************* //
Virtual abstract base class for templated KinematicCloud.
virtual vector linearMomentumOfSystem() const =0
Total linear momentum of the system.
virtual scalar linearKineticEnergyOfSystem() const =0
Total linear kinetic energy in the system.
virtual ~kinematicCloud()=default
Destructor.
virtual scalar Dij(const label i, const label j) const =0
Mean diameter Dij.
virtual const tmp< volScalarField > vDotSweep() const =0
Volume swept rate of parcels per cell.
virtual scalar massInSystem() const =0
Total mass in system.
virtual label nParcels() const =0
Number of parcels.
virtual const tmp< volScalarField > theta() const =0
Return the particle volume fraction field.
virtual scalar Dmax() const =0
Max diameter.
virtual const tmp< volScalarField > rhoEff() const =0
Return the particle effective density field.
virtual const tmp< volScalarField > alpha() const =0
Return the particle mass fraction field.
kinematicCloud()=default
Null constructor.
TypeName("kinematicCloud")
Runtime type information.
A class for managing temporary objects.
Definition: tmp.H:65
Namespace for OpenFOAM.
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.
Definition: typeInfo.H:73