FreeFOAM The Cross-Platform CFD Toolkit
VariableHardSphere.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 | Copyright (C) 2009-2010 OpenCFD Ltd.
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 Class
24  Foam::VariableHardSphere
25 
26 Description
27  Variable Hard Sphere BinaryCollision Model
28 
29 \*---------------------------------------------------------------------------*/
30 
31 #ifndef VariableHardSphere_H
32 #define VariableHardSphere_H
33 
35 
36 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
37 
38 namespace Foam
39 {
40 /*---------------------------------------------------------------------------*\
41  Class VariableHardSphere Declaration
42 \*---------------------------------------------------------------------------*/
43 
44 template<class CloudType>
46 :
47  public BinaryCollisionModel<CloudType>
48 {
49  // Private data
50 
51  //- Reference temperature
52  const scalar Tref_;
53 
54 
55 public:
56 
57  //- Runtime type information
58  TypeName("VariableHardSphere");
59 
60 
61  // Constructors
62 
63  //- Construct from dictionary
65  (
66  const dictionary& dict,
67  CloudType& cloud
68  );
69 
70 
71  // Destructor
72  virtual ~VariableHardSphere();
73 
74 
75  // Member Functions
76 
77  //- Return the collision cross section * relative velocity product
78  virtual scalar sigmaTcR
79  (
80  label typeIdP,
81  label typeIdQ,
82  const vector& UP,
83  const vector& UQ
84  ) const;
85 
86  //- Apply collision
87  virtual void collide
88  (
89  label typeIdP,
90  label typeIdQ,
91  vector& UP,
92  vector& UQ,
93  scalar& EiP,
94  scalar& EiQ
95  );
96 };
97 
98 
99 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
100 
101 } // End namespace Foam
102 
103 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
104 
105 #ifdef NoRepository
106 # include "VariableHardSphere.C"
107 #endif
108 
109 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
110 
111 #endif
112 
113 // ************************ vim: set sw=4 sts=4 et: ************************ //