JohnsonJacksonParticleSlipFvPatchVectorField.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::JohnsonJacksonParticleSlipFvPatchVectorField
28 
29 Description
30  Partial slip boundary condition for the particulate velocity.
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  JohnsonJacksonParticleSlipFvPatchVectorField.C
51 
52 \*---------------------------------------------------------------------------*/
53 
54 #ifndef JohnsonJacksonParticleSlipFvPatchVectorField_H
55 #define JohnsonJacksonParticleSlipFvPatchVectorField_H
56 
58 
59 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
60 
61 namespace Foam
62 {
63 
64 /*---------------------------------------------------------------------------*\
65  Class JohnsonJacksonParticleSlipFvPatchVectorField Declaration
66 \*---------------------------------------------------------------------------*/
67 
68 class JohnsonJacksonParticleSlipFvPatchVectorField
69 :
70  public partialSlipFvPatchVectorField
71 {
72  // Private data
73 
74  //- Specularity coefficient
75  dimensionedScalar specularityCoefficient_;
76 
77 
78 public:
79 
80  //- Runtime type information
81  TypeName("JohnsonJacksonParticleSlip");
82 
83 
84  // Constructors
85 
86  //- Construct from patch and internal field
88  (
89  const fvPatch&,
90  const DimensionedField<vector, volMesh>&
91  );
92 
93  //- Construct from patch, internal field and dictionary
95  (
96  const fvPatch&,
97  const DimensionedField<vector, volMesh>&,
98  const dictionary&
99  );
100 
101  //- Construct by mapping onto a new patch
103  (
105  const fvPatch&,
106  const DimensionedField<vector, volMesh>&,
107  const fvPatchFieldMapper&
108  );
109 
110  //- Construct as copy
112  (
114  );
115 
116  //- Construct and return a clone
117  virtual tmp<fvPatchVectorField> clone() const
118  {
120  (
122  );
123  }
124 
125  //- Construct as copy setting internal field reference
127  (
130  );
131 
132  //- Construct and return a clone setting internal field reference
134  (
136  ) const
137  {
139  (
141  );
142  }
143 
144 
145  // Member functions
146 
147  // Mapping functions
148 
149  //- Map (and resize as needed) from self given a mapping object
150  virtual void autoMap
151  (
152  const fvPatchFieldMapper&
153  );
154 
155  //- Reverse map the given fvPatchField onto this fvPatchField
156  virtual void rmap
157  (
158  const fvPatchVectorField&,
159  const labelList&
160  );
161 
162  //- Update the coefficients
163  virtual void updateCoeffs();
164 
165  //- Write
166  virtual void write(Ostream&) const;
167 
168 };
169 
170 
171 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
172 
173 } // End namespace Foam
174 
175 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
176 
177 #endif
178 
179 // ************************************************************************* //
Foam::fvPatchField< vector >
Foam::JohnsonJacksonParticleSlipFvPatchVectorField::JohnsonJacksonParticleSlipFvPatchVectorField
JohnsonJacksonParticleSlipFvPatchVectorField(const fvPatch &, const DimensionedField< vector, volMesh > &)
Construct from patch and internal field.
Definition: JohnsonJacksonParticleSlipFvPatchVectorField.C:48
partialSlipFvPatchFields.H
Foam::JohnsonJacksonParticleSlipFvPatchVectorField::rmap
virtual void rmap(const fvPatchVectorField &, const labelList &)
Reverse map the given fvPatchField onto this fvPatchField.
Definition: JohnsonJacksonParticleSlipFvPatchVectorField.C:136
Foam::tmp
A class for managing temporary objects.
Definition: PtrList.H:61
Foam::JohnsonJacksonParticleSlipFvPatchVectorField
Partial slip boundary condition for the particulate velocity.
Definition: JohnsonJacksonParticleSlipFvPatchVectorField.H:66
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::JohnsonJacksonParticleSlipFvPatchVectorField::autoMap
virtual void autoMap(const fvPatchFieldMapper &)
Map (and resize as needed) from self given a mapping object.
Definition: JohnsonJacksonParticleSlipFvPatchVectorField.C:127
Foam::List< label >
Foam::JohnsonJacksonParticleSlipFvPatchVectorField::write
virtual void write(Ostream &) const
Write.
Definition: JohnsonJacksonParticleSlipFvPatchVectorField.C:239
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::JohnsonJacksonParticleSlipFvPatchVectorField::TypeName
TypeName("JohnsonJacksonParticleSlip")
Runtime type information.
Foam::JohnsonJacksonParticleSlipFvPatchVectorField::updateCoeffs
virtual void updateCoeffs()
Update the coefficients.
Definition: JohnsonJacksonParticleSlipFvPatchVectorField.C:145
Foam::DimensionedField
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
Definition: DimensionedField.H:54
Foam::JohnsonJacksonParticleSlipFvPatchVectorField::clone
virtual tmp< fvPatchVectorField > clone() const
Construct and return a clone.
Definition: JohnsonJacksonParticleSlipFvPatchVectorField.H:116