JohnsonJacksonParticleThetaFvPatchScalarField.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) 2014-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::JohnsonJacksonParticleThetaFvPatchScalarField
28 
29 Description
30  Robin condition for the particulate granular temperature.
31 
32  References:
33  \verbatim
34  "Multifluid Eulerian modeling of dense gas–solids fluidized bed
35  hydrodynamics: Influence of the dissipation parameters"
36  Reuge, N.,
37  Chemical Engineering Science
38  Volume 63, Issue 22, November 2008, pp. 5540-5551
39  \endverbatim
40 
41  \verbatim
42  "Frictional-collisional constitutive relations for granular materials,
43  with application to plane shearing"
44  Johnson, P.C., and Jackson, R.,
45  Journal of Fluid Mechanics
46  Volume 176, March 1987, pp. 67-93
47  \endverbatim
48 
49 SourceFiles
50  JohnsonJacksonParticleThetaFvPatchScalarField.C
51 
52 \*---------------------------------------------------------------------------*/
53 
54 #ifndef JohnsonJacksonParticleThetaFvPatchScalarField_H
55 #define JohnsonJacksonParticleThetaFvPatchScalarField_H
56 
57 #include "mixedFvPatchFields.H"
58 
59 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
60 
61 namespace Foam
62 {
63 
64 /*---------------------------------------------------------------------------*\
65  Class JohnsonJacksonParticleThetaFvPatchScalarField Declaration
66 \*---------------------------------------------------------------------------*/
67 
68 class JohnsonJacksonParticleThetaFvPatchScalarField
69 :
70  public mixedFvPatchScalarField
71 {
72  // Private data
73 
74  //- Particle-wall restitution coefficient
75  dimensionedScalar restitutionCoefficient_;
76 
77  //- Specularity coefficient
78  dimensionedScalar specularityCoefficient_;
79 
80 
81 public:
82 
83  //- Runtime type information
84  TypeName("JohnsonJacksonParticleTheta");
85 
86 
87  // Constructors
88 
89  //- Construct from patch and internal field
91  (
92  const fvPatch&,
93  const DimensionedField<scalar, volMesh>&
94  );
95 
96  //- Construct from patch, internal field and dictionary
98  (
99  const fvPatch&,
100  const DimensionedField<scalar, volMesh>&,
101  const dictionary&
102  );
103 
104  //- Construct by mapping onto a new patch
106  (
108  const fvPatch&,
109  const DimensionedField<scalar, volMesh>&,
110  const fvPatchFieldMapper&
111  );
112 
113  //- Construct as copy
115  (
117  );
118 
119  //- Construct and return a clone
120  virtual tmp<fvPatchScalarField> clone() const
121  {
123  (
125  );
126  }
127 
128  //- Construct as copy setting internal field reference
130  (
133  );
134 
135  //- Construct and return a clone setting internal field reference
137  (
139  ) const
140  {
142  (
144  );
145  }
146 
147 
148  // Member functions
149 
150  // Mapping functions
151 
152  //- Map (and resize as needed) from self given a mapping object
153  virtual void autoMap
154  (
155  const fvPatchFieldMapper&
156  );
157 
158  //- Reverse map the given fvPatchField onto this fvPatchField
159  virtual void rmap
160  (
161  const fvPatchScalarField&,
162  const labelList&
163  );
164 
165  //- Update the coefficients
166  virtual void updateCoeffs();
167 
168  //- Write
169  virtual void write(Ostream&) const;
170 };
171 
172 
173 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
174 
175 } // End namespace Foam
176 
177 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
178 
179 #endif
180 
181 // ************************************************************************* //
Foam::fvPatchField< scalar >
Foam::JohnsonJacksonParticleThetaFvPatchScalarField::rmap
virtual void rmap(const fvPatchScalarField &, const labelList &)
Reverse map the given fvPatchField onto this fvPatchField.
Definition: JohnsonJacksonParticleThetaFvPatchScalarField.C:152
Foam::JohnsonJacksonParticleThetaFvPatchScalarField::TypeName
TypeName("JohnsonJacksonParticleTheta")
Runtime type information.
Foam::tmp
A class for managing temporary objects.
Definition: PtrList.H:61
Foam::JohnsonJacksonParticleThetaFvPatchScalarField::JohnsonJacksonParticleThetaFvPatchScalarField
JohnsonJacksonParticleThetaFvPatchScalarField(const fvPatch &, const DimensionedField< scalar, volMesh > &)
Construct from patch and internal field.
Definition: JohnsonJacksonParticleThetaFvPatchScalarField.C:47
Foam::JohnsonJacksonParticleThetaFvPatchScalarField
Robin condition for the particulate granular temperature.
Definition: JohnsonJacksonParticleThetaFvPatchScalarField.H:66
Foam::JohnsonJacksonParticleThetaFvPatchScalarField::clone
virtual tmp< fvPatchScalarField > clone() const
Construct and return a clone.
Definition: JohnsonJacksonParticleThetaFvPatchScalarField.H:119
Foam::JohnsonJacksonParticleThetaFvPatchScalarField::write
virtual void write(Ostream &) const
Write.
Definition: JohnsonJacksonParticleThetaFvPatchScalarField.C:278
Foam::dimensionedScalar
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.
Definition: dimensionedScalarFwd.H:42
Foam
Namespace for OpenFOAM.
Definition: atmBoundaryLayer.C:33
Foam::JohnsonJacksonParticleThetaFvPatchScalarField::autoMap
virtual void autoMap(const fvPatchFieldMapper &)
Map (and resize as needed) from self given a mapping object.
Definition: JohnsonJacksonParticleThetaFvPatchScalarField.C:143
mixedFvPatchFields.H
Foam::List< label >
Foam::fvPatchFieldMapper
Foam::fvPatchFieldMapper.
Definition: fvPatchFieldMapper.H:47
Foam::Ostream
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
Definition: Ostream.H:56
Foam::JohnsonJacksonParticleThetaFvPatchScalarField::updateCoeffs
virtual void updateCoeffs()
Update the coefficients.
Definition: JohnsonJacksonParticleThetaFvPatchScalarField.C:161
Foam::DimensionedField
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
Definition: DimensionedField.H:54