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 as copy setting internal field reference
118  (
120  const DimensionedField<vector, volMesh>&
121  );
122 
123  //- Return a clone
124  virtual tmp<fvPatchField<vector>> clone() const
125  {
126  return fvPatchField<vector>::Clone(*this);
127  }
128 
129  //- Clone with an internal field reference
130  virtual tmp<fvPatchField<vector>> clone
131  (
132  const DimensionedField<vector, volMesh>& iF
133  ) const
134  {
135  return fvPatchField<vector>::Clone(*this, iF);
136  }
137 
138 
139  // Member functions
140 
141  // Mapping functions
142 
143  //- Map (and resize as needed) from self given a mapping object
144  virtual void autoMap
145  (
146  const fvPatchFieldMapper&
147  );
148 
149  //- Reverse map the given fvPatchField onto this fvPatchField
150  virtual void rmap
151  (
152  const fvPatchVectorField&,
153  const labelList&
154  );
155 
156  //- Update the coefficients
157  virtual void updateCoeffs();
158 
159  //- Write
160  virtual void write(Ostream&) const;
161 
162 };
163 
164 
165 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
166 
167 } // End namespace Foam
168 
169 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
170 
171 #endif
172 
173 // ************************************************************************* //
JohnsonJacksonParticleSlipFvPatchVectorField(const fvPatch &, const DimensionedField< vector, volMesh > &)
Construct from patch and internal field.
virtual tmp< fvPatchField< vector > > clone() const
Return a clone.
virtual void rmap(const fvPatchVectorField &, const labelList &)
Reverse map the given fvPatchField onto this fvPatchField.
static tmp< fvPatchField< Type > > Clone(const DerivedPatchField &pf, Args &&... args)
Clone a patch field, optionally with internal field reference etc.
Definition: fvPatchField.H:597
virtual void autoMap(const fvPatchFieldMapper &)
Map (and resize as needed) from self given a mapping object.
A FieldMapper for finite-volume patch fields.
An Ostream is an abstract base class for all output systems (streams, files, token lists...
Definition: Ostream.H:56
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.
TypeName("JohnsonJacksonParticleSlip")
Runtime type information.
Namespace for OpenFOAM.