frictionalStressModel.H
Go to the documentation of this file.
1 /*---------------------------------------------------------------------------*\
2  ========= |
3  \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
4  \\ / O peration | Website: https://openfoam.org
5  \\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
6  \\/ M anipulation |
7 -------------------------------------------------------------------------------
8 License
9  This file is part of OpenFOAM.
10 
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
13  the Free Software Foundation, either version 3 of the License, or
14  (at your option) any later version.
15 
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
19  for more details.
20 
21  You should have received a copy of the GNU General Public License
22  along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
23 
24 Class
25  Foam::kineticTheoryModels::frictionalStressModel
26 
27 SourceFiles
28  frictionalStressModel.C
29 
30 \*---------------------------------------------------------------------------*/
31 
32 #ifndef frictionalStressModel_H
33 #define frictionalStressModel_H
34 
35 #include "dictionary.H"
36 #include "volFields.H"
37 #include "dimensionedTypes.H"
38 #include "runTimeSelectionTables.H"
39 #include "phaseModel.H"
40 
41 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
42 
43 namespace Foam
44 {
45 namespace kineticTheoryModels
46 {
47 
48 /*---------------------------------------------------------------------------*\
49  Class frictionalStressModel Declaration
50 \*---------------------------------------------------------------------------*/
51 
52 class frictionalStressModel
53 {
54  // Private member functions
55 
56  //- Disallow default bitwise copy construct
57  frictionalStressModel(const frictionalStressModel&);
58 
59  //- Disallow default bitwise assignment
60  void operator=(const frictionalStressModel&);
61 
62 
63 protected:
64 
65  // Protected data
66 
67  //- Reference to higher-level dictionary for re-read
68  const dictionary& dict_;
69 
70 
71 public:
72 
73  //- Runtime type information
74  TypeName("frictionalStressModel");
75 
76  // Declare runtime constructor selection table
78  (
79  autoPtr,
80  frictionalStressModel,
81  dictionary,
82  (
83  const dictionary& dict
84  ),
85  (dict)
86  );
87 
88 
89  // Constructors
90 
91  //- Construct from components
92  frictionalStressModel(const dictionary& dict);
93 
94 
95  // Selectors
96 
97  static autoPtr<frictionalStressModel> New
98  (
99  const dictionary& dict
100  );
101 
102 
103  //- Destructor
104  virtual ~frictionalStressModel();
105 
106 
107  // Member Functions
108 
109  virtual tmp<volScalarField> frictionalPressure
110  (
111  const phaseModel& phase,
112  const dimensionedScalar& alphaMinFriction,
114  ) const = 0;
115 
116  virtual tmp<volScalarField> frictionalPressurePrime
117  (
118  const phaseModel& phase,
119  const dimensionedScalar& alphaMinFriction,
121  ) const = 0;
122 
123  virtual tmp<volScalarField> nu
124  (
125  const phaseModel& phase,
126  const dimensionedScalar& alphaMinFriction,
128  const volScalarField& pf,
129  const volSymmTensorField& D
130  ) const = 0;
131 
132  virtual bool read() = 0;
133 };
134 
135 
136 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
137 
138 } // End namespace kineticTheoryModels
139 } // End namespace Foam
140 
141 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
142 
143 #endif
144 
145 // ************************************************************************* //
GeometricField< symmTensor, fvPatchField, volMesh > volSymmTensorField
Definition: volFieldsFwd.H:58
dictionary dict
declareRunTimeSelectionTable(autoPtr, frictionalStressModel, dictionary,(const dictionary &dict),(dict))
TypeName("frictionalStressModel")
Runtime type information.
GeometricField< scalar, fvPatchField, volMesh > volScalarField
Definition: volFieldsFwd.H:52
virtual tmp< volScalarField > frictionalPressurePrime(const phaseModel &phase, const dimensionedScalar &alphaMinFriction, const dimensionedScalar &alphaMax) const =0
virtual tmp< volScalarField > frictionalPressure(const phaseModel &phase, const dimensionedScalar &alphaMinFriction, const dimensionedScalar &alphaMax) const =0
dimensionedScalar alphaMax(laminarTransport.lookup("alphaMax"))
const dictionary & dict_
Reference to higher-level dictionary for re-read.
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.
static autoPtr< frictionalStressModel > New(const dictionary &dict)
Macros to ease declaration of run-time selection tables.
virtual tmp< volScalarField > nu(const phaseModel &phase, const dimensionedScalar &alphaMinFriction, const dimensionedScalar &alphaMax, const volScalarField &pf, const volSymmTensorField &D) const =0
Namespace for OpenFOAM.