All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
GradientDispersionRAS.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-2020 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::GradientDispersionRAS
26 
27 Description
28  The velocity is perturbed in the direction of -grad(k), with a
29  Gaussian random number distribution with variance sigma.
30  where sigma is defined below
31 
32 \*---------------------------------------------------------------------------*/
33 
34 #ifndef GradientDispersionRAS_H
35 #define GradientDispersionRAS_H
36 
37 #include "DispersionRASModel.H"
38 
39 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
40 
41 namespace Foam
42 {
43 
44 /*---------------------------------------------------------------------------*\
45  Class GradientDispersionRAS Declaration
46 \*---------------------------------------------------------------------------*/
47 
48 template<class CloudType>
50 :
51  public DispersionRASModel<CloudType>
52 {
53 protected:
54 
55  // Protected data
56 
57  // Locally cached turbulence fields
58 
59  //- Gradient of k
61 
62  //- Take ownership of the grad(k)
63  mutable bool ownGradK_;
64 
65 
66 public:
67 
68  //- Runtime type information
69  TypeName("gradientDispersionRAS");
70 
71 
72  // Constructors
73 
74  //- Construct from components
76 
77  //- Construct copy
79 
80  //- Construct and return a clone
82  {
84  (
86  );
87  }
88 
89 
90  //- Destructor
91  virtual ~GradientDispersionRAS();
92 
93 
94  // Member Functions
95 
96  //- Cache carrier fields
97  virtual void cacheFields(const bool store);
98 
99  //- Update (disperse particles)
100  virtual vector update
101  (
102  const scalar dt,
103  const label celli,
104  const vector& U,
105  const vector& Uc,
106  vector& UTurb,
107  scalar& tTurb
108  );
109 };
110 
111 
112 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
113 
114 } // End namespace Foam
115 
116 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
117 
118 #ifdef NoRepository
119  #include "GradientDispersionRAS.C"
120 #endif
121 
122 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
123 
124 #endif
125 
126 // ************************************************************************* //
The velocity is perturbed in the direction of -grad(k), with a Gaussian random number distribution wi...
virtual ~GradientDispersionRAS()
Destructor.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
Definition: label.H:59
A list of keyword definitions, which are a keyword followed by any number of values (e...
Definition: dictionary.H:156
bool ownGradK_
Take ownership of the grad(k)
const dictionary & dict() const
Return const access to the cloud dictionary.
Definition: subModelBase.C:110
const CloudType & owner() const
Return const access to the owner cloud.
const volVectorField * gradkPtr_
Gradient of k.
U
Definition: pEqn.H:72
virtual autoPtr< DispersionModel< CloudType > > clone() const
Construct and return a clone.
GradientDispersionRAS(const dictionary &dict, CloudType &owner)
Construct from components.
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
Definition: PtrList.H:52
virtual vector update(const scalar dt, const label celli, const vector &U, const vector &Uc, vector &UTurb, scalar &tTurb)
Update (disperse particles)
TypeName("gradientDispersionRAS")
Runtime type information.
Base class for particle dispersion models based on RAS turbulence.
Templated base class for dsmc cloud.
Definition: DSMCCloud.H:75
virtual void cacheFields(const bool store)
Cache carrier fields.
Namespace for OpenFOAM.