1 /*---------------------------------------------------------------------------*\
3 \\ / F ield | foam-extend: Open Source CFD
4 \\ / O peration | Version: 3.2
5 \\ / A nd | Web: http://www.foam-extend.org
6 \\/ M anipulation | For copyright notice see file Copyright
7 -------------------------------------------------------------------------------
9 This file is part of foam-extend.
11 foam-extend 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 3 of the License, or (at your
14 option) any later version.
16 foam-extend is distributed in the hope that it will be useful, but
17 WITHOUT ANY WARRANTY; without even the implied warranty of
18 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
19 General Public License for more details.
21 You should have received a copy of the GNU General Public License
22 along with foam-extend. If not, see <http://www.gnu.org/licenses/>.
28 Provides a mechanism to calculate particle forces
29 Note: forces are force per unit mass (accelerations)
34 \*---------------------------------------------------------------------------*/
36 #ifndef particleForces_H
37 #define particleForces_H
39 #include "dictionary.H"
42 #include "volFieldsFwd.H"
44 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
49 // Forward class declarations
52 /*---------------------------------------------------------------------------*\
53 Class particleForces Declaration
54 \*---------------------------------------------------------------------------*/
60 //- Reference to the mesh database
63 //- The particleForces dictionary
64 const dictionary& dict_;
69 //- Velocity gradient field
70 const volTensorField* gradUPtr_;
73 // Forces to include in particle motion evaluation
81 //- Virtual mass force coefficient
85 Switch pressureGradient_;
90 //- Name of velucity field - default = "U"
98 //- Construct from mesh, dictionary and gravity
102 const dictionary& dict,
107 particleForces(const particleForces& f);
118 //- Return the particleForces dictionary
119 const dictionary& dict() const;
121 //- Return the gravity vector
122 const vector& g() const;
124 //- Return gravity force activate switch
125 Switch gravity() const;
127 //- Return virtual mass force activate switch
128 Switch virtualMass() const;
130 //- Return virtual mass force coefficient
133 //- Return pressure gradient force activate switch
134 Switch pressureGradient() const;
136 //- Return name of velocity field
137 const word& UName() const;
142 //- Cache carrier fields
143 void cacheFields(const bool store);
145 //- Calculate action/reaction forces between carrier and particles
156 //- Calculate external forces applied to the particles
157 vector calcNonCoupled
169 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
171 } // End namespace Foam
173 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
177 // ************************************************************************* //