CollidingCloudI.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) 2011-2016 OpenFOAM Foundation
9  Copyright (C) 2019 OpenCFD Ltd.
10 -------------------------------------------------------------------------------
11 License
12  This file is part of OpenFOAM.
13 
14  OpenFOAM is free software: you can redistribute it and/or modify it
15  under the terms of the GNU General Public License as published by
16  the Free Software Foundation, either version 3 of the License, or
17  (at your option) any later version.
18 
19  OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
20  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
21  FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
22  for more details.
23 
24  You should have received a copy of the GNU General Public License
25  along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
26 
27 \*---------------------------------------------------------------------------*/
28 
29 // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
30 
31 template<class CloudType>
34 {
35  return *cloudCopyPtr_;
36 }
37 
38 
39 template<class CloudType>
40 inline const typename CloudType::particleType::constantProperties&
42 {
43  return constProps_;
44 }
45 
46 
47 template<class CloudType>
50 {
51  return *collisionModel_;
52 }
53 
54 
55 template<class CloudType>
58 {
59  return *collisionModel_;
60 }
61 
62 
63 template<class CloudType>
64 inline Foam::scalar
66 {
67  scalar rotationalKineticEnergy = 0.0;
68 
69  for (const parcelType& p : *this)
70  {
71  rotationalKineticEnergy +=
72  p.nParticle()*0.5*p.momentOfInertia()*(p.omega() & p.omega());
73  }
74 
75  return rotationalKineticEnergy;
76 }
77 
78 
79 // ************************************************************************* //
Foam::CollidingCloud
Adds coolisions to kinematic clouds.
Definition: CollidingCloud.H:65
p
volScalarField & p
Definition: createFieldRefs.H:8
Foam::CollidingCloud::rotationalKineticEnergyOfSystem
scalar rotationalKineticEnergyOfSystem() const
Total rotational kinetic energy in the system.
Definition: CollidingCloudI.H:65
Foam::CollidingCloud::constProps
const parcelType::constantProperties & constProps() const
Return the constant properties.
Definition: CollidingCloudI.H:41
Foam::CollidingCloud::cloudCopy
const CollidingCloud & cloudCopy() const
Return a reference to the cloud copy.
Definition: CollidingCloudI.H:33
Foam::CollidingParcel
Wrapper around kinematic parcel types to add collision modelling.
Definition: CollidingParcel.H:61
Foam::CollidingCloud::collision
const CollisionModel< CollidingCloud< CloudType > > & collision() const
Return const access to the collision model.
Definition: CollidingCloudI.H:49
Foam::CollisionModel
Templated collision model class.
Definition: CollidingCloud.H:58