DistortedSphereDragForce.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-2017 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::DistortedSphereDragForce
28 
29 Group
30  grpLagrangianIntermediateForceSubModels
31 
32 Description
33  Drag model based on assumption of distorted spheres according to:
34 
35  \verbatim
36  "Effects of Drop Drag and Breakup on Fuel Sprays"
37  Liu, A.B., Mather, D., Reitz, R.D.,
38  SAE Paper 930072,
39  SAE Transactions, Vol. 102, Section 3, Journal of Engines, 1993,
40  pp. 63-95
41  \endverbatim
42 
43 \*---------------------------------------------------------------------------*/
44 
45 #ifndef DistortedSphereDragForce_H
46 #define DistortedSphereDragForce_H
47 
48 #include "ParticleForce.H"
49 
50 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
51 
52 namespace Foam
53 {
54 /*---------------------------------------------------------------------------*\
55  Class DistortedSphereDragForce Declaration
56 \*---------------------------------------------------------------------------*/
57 
58 template<class CloudType>
60 :
61  public ParticleForce<CloudType>
62 {
63  // Private Member Functions
64 
65  //- Drag coefficient multiplied by Reynolds number
66  scalar CdRe(const scalar Re) const;
67 
68 
69 public:
70 
71  //- Runtime type information
72  TypeName("distortedSphereDrag");
73 
74 
75  // Constructors
76 
77  //- Construct from mesh
79  (
81  const fvMesh& mesh,
82  const dictionary& dict
83  );
84 
85  //- Construct copy
87 
88  //- Construct and return a clone
90  {
92  (
94  );
95  }
96 
97 
98  //- Destructor
99  virtual ~DistortedSphereDragForce();
100 
101 
102  // Member Functions
103 
104  // Evaluation
105 
106  //- Calculate the coupled force
107  virtual forceSuSp calcCoupled
108  (
109  const typename CloudType::parcelType& p,
110  const typename CloudType::parcelType::trackingData& td,
111  const scalar dt,
112  const scalar mass,
113  const scalar Re,
114  const scalar muc
115  ) const;
116 };
117 
118 
119 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
120 
121 } // End namespace Foam
122 
123 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
124 
125 #ifdef NoRepository
126  #include "DistortedSphereDragForce.C"
127 #endif
128 
129 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
130 
131 #endif
132 
133 // ************************************************************************* //
Foam::DistortedSphereDragForce::clone
virtual autoPtr< ParticleForce< CloudType > > clone() const
Construct and return a clone.
Definition: DistortedSphereDragForce.H:88
p
volScalarField & p
Definition: createFieldRefs.H:8
Foam::ParticleForce::owner
const CloudType & owner() const
Return const access to the cloud owner.
Definition: ParticleForceI.H:31
Foam::DistortedSphereDragForce::DistortedSphereDragForce
DistortedSphereDragForce(CloudType &owner, const fvMesh &mesh, const dictionary &dict)
Construct from mesh.
Definition: DistortedSphereDragForce.C:53
Foam::DistortedSphereDragForce
Drag model based on assumption of distorted spheres according to:
Definition: DistortedSphereDragForce.H:58
Foam::DistortedSphereDragForce::~DistortedSphereDragForce
virtual ~DistortedSphereDragForce()
Destructor.
Definition: DistortedSphereDragForce.C:76
Foam::forceSuSp
Helper container for force Su and Sp terms.
Definition: forceSuSp.H:64
Foam::ParticleForce
Abstract base class for particle forces.
Definition: ParticleForce.H:59
DistortedSphereDragForce.C
ParticleForce.H
Foam::DSMCCloud
Templated base class for dsmc cloud.
Definition: DSMCCloud.H:71
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:123
Foam::fvMesh
Mesh data needed to do the Finite Volume discretisation.
Definition: fvMesh.H:85
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::DistortedSphereDragForce::TypeName
TypeName("distortedSphereDrag")
Runtime type information.
Foam::DistortedSphereDragForce::calcCoupled
virtual forceSuSp calcCoupled(const typename CloudType::parcelType &p, const typename CloudType::parcelType::trackingData &td, const scalar dt, const scalar mass, const scalar Re, const scalar muc) const
Calculate the coupled force.
Definition: DistortedSphereDragForce.C:84
Foam::Re
scalarField Re(const UList< complex > &cf)
Extract real component.
Definition: complexField.C:159
Foam::DSMCCloud::parcelType
ParcelType parcelType
Type of parcel the cloud was instantiated for.
Definition: DSMCCloud.H:220
Foam::ParticleForce::mesh
const fvMesh & mesh() const
Return the mesh database.
Definition: ParticleForceI.H:45