granularPressureModel.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-2015 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::kineticTheoryModels::granularPressureModel
28 
29 SourceFiles
30  granularPressureModel.C
31 
32 \*---------------------------------------------------------------------------*/
33 
34 #ifndef granularPressureModel_H
35 #define granularPressureModel_H
36 
37 #include "dictionary.H"
38 #include "volFields.H"
39 #include "dimensionedTypes.H"
40 #include "runTimeSelectionTables.H"
41 
42 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
43 
44 namespace Foam
45 {
46 namespace kineticTheoryModels
47 {
48 
49 /*---------------------------------------------------------------------------*\
50  Class granularPressureModel Declaration
51 \*---------------------------------------------------------------------------*/
52 
53 class granularPressureModel
54 {
55  // Private member functions
56 
57  //- No copy construct
58  granularPressureModel(const granularPressureModel&) = delete;
59 
60  //- No copy assignment
61  void operator=(const granularPressureModel&) = delete;
62 
63 
64 protected:
65 
66  // Protected data
67 
68  const dictionary& dict_;
69 
70 
71 public:
72 
73  //- Runtime type information
74  TypeName("granularPressureModel");
75 
76  // Declare runtime constructor selection table
78  (
79  autoPtr,
80  granularPressureModel,
81  dictionary,
82  (
83  const dictionary& dict
84  ),
85  (dict)
86  );
87 
88 
89  // Constructors
90 
91  //- Construct from components
92  granularPressureModel(const dictionary& dict);
93 
94 
95  // Selectors
96 
97  static autoPtr<granularPressureModel> New
98  (
99  const dictionary& dict
100  );
101 
102 
103  //- Destructor
104  virtual ~granularPressureModel();
105 
106 
107  // Member Functions
108 
109  //- Granular pressure coefficient
110  virtual tmp<volScalarField> granularPressureCoeff
111  (
112  const volScalarField& alpha1,
113  const volScalarField& g0,
114  const volScalarField& rho1,
115  const dimensionedScalar& e
116  ) const = 0;
117 
118  //- Derivative of the granular pressure coefficient
119  virtual tmp<volScalarField> granularPressureCoeffPrime
120  (
121  const volScalarField& alpha1,
122  const volScalarField& g0,
123  const volScalarField& g0prime,
124  const volScalarField& rho1,
125  const dimensionedScalar& e
126  ) const = 0;
127 
128  virtual bool read()
129  {
130  return true;
131  }
132 };
133 
134 
135 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
136 
137 } // End namespace kineticTheoryModels
138 } // End namespace Foam
139 
140 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
141 
142 #endif
143 
144 // ************************************************************************* //
volFields.H
alpha1
const volScalarField & alpha1
Definition: setRegionFluidFields.H:8
Foam::kineticTheoryModels::granularPressureModel::granularPressureCoeffPrime
virtual tmp< volScalarField > granularPressureCoeffPrime(const volScalarField &alpha1, const volScalarField &g0, const volScalarField &g0prime, const volScalarField &rho1, const dimensionedScalar &e) const =0
Derivative of the granular pressure coefficient.
Foam::kineticTheoryModels::granularPressureModel::read
virtual bool read()
Definition: granularPressureModel.H:127
Foam::kineticTheoryModels::granularPressureModel::declareRunTimeSelectionTable
declareRunTimeSelectionTable(autoPtr, granularPressureModel, dictionary,(const dictionary &dict),(dict))
Foam::kineticTheoryModels::granularPressureModel::granularPressureCoeff
virtual tmp< volScalarField > granularPressureCoeff(const volScalarField &alpha1, const volScalarField &g0, const volScalarField &rho1, const dimensionedScalar &e) const =0
Granular pressure coefficient.
Foam::kineticTheoryModels::granularPressureModel::TypeName
TypeName("granularPressureModel")
Runtime type information.
Foam::dimensionedScalar
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.
Definition: dimensionedScalarFwd.H:43
Foam::kineticTheoryModels::granularPressureModel::New
static autoPtr< granularPressureModel > New(const dictionary &dict)
Definition: newGranularPressureModel.C:35
Foam::volScalarField
GeometricField< scalar, fvPatchField, volMesh > volScalarField
Definition: volFieldsFwd.H:57
rho1
volScalarField & rho1
Definition: setRegionFluidFields.H:27
dict
dictionary dict
Definition: searchingEngine.H:14
Foam
Namespace for OpenFOAM.
Definition: atmBoundaryLayer.C:33
runTimeSelectionTables.H
Macros to ease declaration of run-time selection tables.
Foam::kineticTheoryModels::granularPressureModel::dict_
const dictionary & dict_
Definition: granularPressureModel.H:67
Foam::kineticTheoryModels::granularPressureModel::~granularPressureModel
virtual ~granularPressureModel()
Destructor.
Definition: granularPressureModel.C:56
Foam::constant::electromagnetic::e
const dimensionedScalar e
Elementary charge.
Definition: createFields.H:11
dictionary.H
dimensionedTypes.H