1 /*---------------------------------------------------------------------------*\
3 \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
5 \\ / A nd | Copyright held by original author
7 -------------------------------------------------------------------------------
9 This file is part of OpenFOAM.
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 the
13 Free Software Foundation; either version 2 of the License, or (at your
14 option) any later version.
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
21 You should have received a copy of the GNU General Public License
22 along with OpenFOAM; if not, write to the Free Software Foundation,
23 Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
29 Provides a mechanism to calculate particle forces
30 Note: forces are force per unit mass (accelerations)
35 \*---------------------------------------------------------------------------*/
37 #ifndef particleForces_H
38 #define particleForces_H
40 #include "dictionary.H"
43 #include "volFieldsFwd.H"
45 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
50 // Forward class declarations
53 /*---------------------------------------------------------------------------*\
54 Class particleForces Declaration
55 \*---------------------------------------------------------------------------*/
61 //- Reference to the mesh database
64 //- The particleForces dictionary
65 const dictionary& dict_;
70 //- Velocity gradient field
71 const volTensorField* gradUPtr_;
74 // Forces to include in particle motion evaluation
82 //- Virtual mass force coefficient
86 Switch pressureGradient_;
91 //- Name of velucity field - default = "U"
99 //- Construct from mesh, dictionary and gravity
103 const dictionary& dict,
108 particleForces(const particleForces& f);
119 //- Return the particleForces dictionary
120 const dictionary& dict() const;
122 //- Return the gravity vector
123 const vector& g() const;
125 //- Return gravity force activate switch
126 Switch gravity() const;
128 //- Return virtual mass force activate switch
129 Switch virtualMass() const;
131 //- Return virtual mass force coefficient
134 //- Return pressure gradient force activate switch
135 Switch pressureGradient() const;
137 //- Return name of velocity field
138 const word& UName() const;
143 //- Cache carrier fields
144 void cacheFields(const bool store);
146 //- Calculate action/reaction forces between carrier and particles
157 //- Calculate external forces applied to the particles
158 vector calcNonCoupled
170 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
172 } // End namespace Foam
174 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
178 // ************************************************************************* //