frictionalStressModel.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 | Copyright (C) 2011-2015 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 
40 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
41 
42 namespace Foam
43 {
44 namespace kineticTheoryModels
45 {
46 
47 /*---------------------------------------------------------------------------*\
48  Class frictionalStressModel Declaration
49 \*---------------------------------------------------------------------------*/
50 
51 class frictionalStressModel
52 {
53  // Private member functions
54 
55  //- Disallow default bitwise copy construct
56  frictionalStressModel(const frictionalStressModel&);
57 
58  //- Disallow default bitwise assignment
59  void operator=(const frictionalStressModel&);
60 
61 
62 protected:
63 
64  // Protected data
65 
66  //- Reference to higher-level dictionary for re-read
67  const dictionary& dict_;
68 
69 
70 public:
71 
72  //- Runtime type information
73  TypeName("frictionalStressModel");
74 
75  // Declare runtime constructor selection table
77  (
78  autoPtr,
79  frictionalStressModel,
80  dictionary,
81  (
82  const dictionary& dict
83  ),
84  (dict)
85  );
86 
87 
88  // Constructors
89 
90  //- Construct from components
91  frictionalStressModel(const dictionary& dict);
92 
93 
94  // Selectors
95 
96  static autoPtr<frictionalStressModel> New
97  (
98  const dictionary& dict
99  );
100 
101 
102  //- Destructor
103  virtual ~frictionalStressModel();
104 
105 
106  // Member Functions
107 
108  virtual tmp<volScalarField> frictionalPressure
109  (
110  const volScalarField& alpha1,
111  const dimensionedScalar& alphaMinFriction,
113  ) const = 0;
114 
115  virtual tmp<volScalarField> frictionalPressurePrime
116  (
117  const volScalarField& alpha1f,
118  const dimensionedScalar& alphaMinFriction,
120  ) const = 0;
121 
122  virtual tmp<volScalarField> nu
123  (
124  const volScalarField& alpha1,
125  const dimensionedScalar& alphaMinFriction,
127  const volScalarField& pf,
128  const volSymmTensorField& D
129  ) const = 0;
130 
131  virtual bool read() = 0;
132 };
133 
134 
135 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
136 
137 } // End namespace kineticTheoryModels
138 } // End namespace Foam
139 
140 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
141 
142 #endif
143 
144 // ************************************************************************* //
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
volScalarField & alpha1
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.