mantaflow  0.10
A framework for fluid simulation
vortexpart.h
Go to the documentation of this file.
1 
2 /******************************************************************************
3  *
4  * MantaFlow fluid solver framework
5  * Copyright 2011 Tobias Pfaff, Nils Thuerey
6  *
7  * This program is free software, distributed under the terms of the
8  * GNU General Public License (GPL)
9  * http://www.gnu.org/licenses
10  *
11  * Vortex particles
12  * (warning, the vortex methods are currently experimental, and not fully supported!)
13  *
14  ******************************************************************************/
15 
16 #ifndef _VORTEXPART_H
17 #define _VORTEXPART_H
18 
19 #include "particle.h"
20 
21 namespace Manta {
22 class Mesh;
23 
25  VortexParticleData() : pos(0.0),vorticity(0.0),sigma(0),flag(0) {}
26  VortexParticleData(const Vec3& p, const Vec3& v, Real sig) : pos(p),vorticity(v),sigma(sig),flag(0) {}
27  Vec3 pos, vorticity;
28  Real sigma;
29  int flag;
30  static ParticleBase::SystemType getType() { return ParticleBase::VORTEX; }
31 };
32 
35 PYTHON class VortexParticleSystem : public ParticleSystem<VortexParticleData> {
36 public:
37  PYTHON() VortexParticleSystem(FluidSolver* parent);
38 
39  PYTHON() void advectSelf(Real scale=1.0, int integrationMode=IntRK4);
40  PYTHON() void applyToMesh(Mesh& mesh, Real scale=1.0, int integrationMode=IntRK4);
41 
42  virtual ParticleBase* clone();
43 };
44 
45 } // namespace
46 
47 
48 #endif
49 
50 
Definition: commonkernels.h:22
Definition: vortexpart.h:35
Basic inlined vector class.
Definition: vectorbase.h:71
Main class for particle systems.
Definition: particle.h:100
Definition: particle.h:32
Triangle mesh class.
Definition: mesh.h:126
Definition: vortexpart.h:24
Definition: fluidsolver.h:28