absolute.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) 2013-2014 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::CorrectionLimitingMethods::absolute
28 
29 Group
30  grpLagrangianIntermediateMPPICCorrectionLimitingMethods
31 
32 Description
33  Correction limiting method based on the absolute particle velocity.
34 
35  This method that limits the velocity correction to that of a rebound with a
36  coefficient of restitution \f$e\f$. The absolute velocity of the particle
37  is used when calculating the magnitude of the limited correction.
38  The direction is calculated using the relative velocity.
39 
40 SourceFiles
41  absolute.C
42 
43 \*---------------------------------------------------------------------------*/
44 
45 #ifndef absolute_H
46 #define absolute_H
47 
49 
50 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
51 
52 namespace Foam
53 {
54 namespace CorrectionLimitingMethods
55 {
56 
57 /*---------------------------------------------------------------------------*\
58  Class absolute Declaration
59 \*---------------------------------------------------------------------------*/
60 
61 class absolute
62 :
64 {
65 protected:
66 
67  // Protected data
68 
69  //- Coefficient of restitution
70  scalar e_;
71 
72 
73 public:
74 
75  //- Runtime type information
76  TypeName("absolute");
77 
78 
79  // Constructors
80 
81  //- Construct from components
82  absolute(const dictionary& dict);
83 
84  //- Construct as copy
85  absolute(const absolute& cl);
86 
87  //- Construct and return a clone
89  {
91  (
92  new absolute(*this)
93  );
94  }
95 
96 
97  //- Destructor
98  virtual ~absolute();
99 
100 
101  // Member Functions
102 
103  //- Return the limited velocity
104  virtual vector limitedVelocity
105  (
106  const vector uP,
107  const vector dU,
108  const vector uMean
109  ) const;
110 };
111 
112 
113 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
114 
115 } // End namespace CorrectionLimitingMethods
116 } // End namespace Foam
117 
118 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
119 
120 #endif
121 
122 // ************************************************************************* //
Foam::CorrectionLimitingMethods::absolute::limitedVelocity
virtual vector limitedVelocity(const vector uP, const vector dU, const vector uMean) const
Return the limited velocity.
Definition: absolute.C:71
Foam::CorrectionLimitingMethods::absolute::e_
scalar e_
Coefficient of restitution.
Definition: absolute.H:69
Foam::CorrectionLimitingMethods::absolute::clone
virtual autoPtr< CorrectionLimitingMethod > clone() const
Construct and return a clone.
Definition: absolute.H:87
Foam::CorrectionLimitingMethods::absolute::~absolute
virtual ~absolute()
Destructor.
Definition: absolute.C:64
Foam::CorrectionLimitingMethods::absolute::absolute
absolute(const dictionary &dict)
Construct from components.
Definition: absolute.C:48
Foam::CorrectionLimitingMethod
Base class for correction limiting methods.
Definition: CorrectionLimitingMethod.H:55
Foam::CorrectionLimitingMethods::absolute::TypeName
TypeName("absolute")
Runtime type information.
dict
dictionary dict
Definition: searchingEngine.H:14
Foam::dictionary
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Definition: dictionary.H:121
Foam
Namespace for OpenFOAM.
Definition: atmBoundaryLayer.C:33
Foam::autoPtr
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
Definition: HashPtrTable.H:53
Foam::Vector< scalar >
CorrectionLimitingMethod.H
Foam::CorrectionLimitingMethods::absolute
Correction limiting method based on the absolute particle velocity.
Definition: absolute.H:60