1 /*---------------------------------------------------------------------------*\
3 \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
5 \\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd.
7 -------------------------------------------------------------------------------
9 This file is part of OpenFOAM.
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 the
13 Free Software Foundation; either version 2 of the License, or (at your
14 option) any later version.
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
21 You should have received a copy of the GNU General Public License
22 along with OpenFOAM; if not, write to the Free Software Foundation,
23 Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
26 Foam::kineticTheoryModel
33 \*---------------------------------------------------------------------------*/
35 #ifndef kineticTheoryModel_H
36 #define kineticTheoryModel_H
38 #include "dragModel.H"
39 #include "phaseModel.H"
41 #include "viscosityModel.H"
42 #include "conductivityModel.H"
43 #include "radialModel.H"
44 #include "granularPressureModel.H"
45 #include "frictionalStressModel.H"
47 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
52 /*---------------------------------------------------------------------------*\
53 Class kineticTheoryModel Declaration
54 \*---------------------------------------------------------------------------*/
56 class kineticTheoryModel
60 const phaseModel& phasea_;
61 const volVectorField& Ua_;
62 const volVectorField& Ub_;
63 const volScalarField& alpha_;
64 const surfaceScalarField& phia_;
66 const dragModel& draga_;
68 const dimensionedScalar& rhoa_;
69 const dimensionedScalar& da_;
70 const dimensionedScalar& nua_;
72 //- dictionary holding the modeling info
73 IOdictionary kineticTheoryProperties_;
75 //- use kinetic theory or not.
76 Switch kineticTheory_;
78 //- use generation == dissipation
81 autoPtr<kineticTheoryModels::viscosityModel> viscosityModel_;
83 autoPtr<conductivityModel> conductivityModel_;
85 autoPtr<radialModel> radialModel_;
87 autoPtr<granularPressureModel> granularPressureModel_;
89 autoPtr<frictionalStressModel> frictionalStressModel_;
91 //- coefficient of restitution
92 const dimensionedScalar e_;
95 const dimensionedScalar alphaMax_;
97 //- min value for which the frictional stresses are zero
98 const dimensionedScalar alphaMinFriction_;
100 //- material constant for frictional normal stress
101 const dimensionedScalar Fr_;
103 //- material constant for frictional normal stress
104 const dimensionedScalar eta_;
106 //- material constant for frictional normal stress
107 const dimensionedScalar p_;
109 //- angle of internal friction
110 const dimensionedScalar phi_;
112 //- The granular energy/temperature
113 volScalarField Theta_;
115 //- The granular viscosity
118 //- The granular bulk viscosity
119 volScalarField lambda_;
121 //- The granular pressure
124 //- The granular temperature conductivity
125 volScalarField kappa_;
127 //- The radial distribution function
131 // Private Member Functions
133 //- Disallow default bitwise copy construct
134 kineticTheoryModel(const kineticTheoryModel&);
136 //- Disallow default bitwise assignment
137 void operator=(const kineticTheoryModel&);
144 //- Construct from components
147 const phaseModel& phasea,
148 const volVectorField& Ub,
149 const volScalarField& alpha,
150 const dragModel& draga
155 virtual ~kineticTheoryModel();
164 return kineticTheory_;
167 const volScalarField& mua() const
172 const volScalarField& pa() const
177 const volScalarField& lambda() const
182 const volScalarField& kappa() const
189 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
191 } // End namespace Foam
193 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
197 // ************************************************************************* //