Go to the documentation of this file.
7 #ifndef INCLUDE_JET_PIC_SOLVER3_H_
8 #define INCLUDE_JET_PIC_SOLVER3_H_
84 size_t _signedDistanceFieldId;
88 void extrapolateVelocityToAir();
90 void buildSignedDistanceField();
92 void updateParticleEmitter(
double timeIntervalInSeconds);
114 #endif // INCLUDE_JET_PIC_SOLVER3_H_
Size3 resolution() const
Returns the resolution of the grid system data.
std::shared_ptr< ParticleSystemData3 > ParticleSystemData3Ptr
Shared pointer type of ParticleSystemData3.
Definition: particle_system_data3.h:250
void onInitialize() override
Initializes the simulator.
std::shared_ptr< ParticleEmitter3 > ParticleEmitter3Ptr
Shared pointer for the ParticleEmitter3 type.
Definition: particle_emitter3.h:79
void setParticleEmitter(const ParticleEmitter3Ptr &newEmitter)
Sets the particle emitter.
virtual void moveParticles(double timeIntervalInSeconds)
Moves particles.
virtual void transferFromGridsToParticles()
Transfers velocity field from grids to particles.
const ParticleEmitter3Ptr & particleEmitter() const
Returns the particle emitter.
std::shared_ptr< ScalarGrid3 > ScalarGrid3Ptr
Shared pointer for the ScalarGrid3 type.
Definition: scalar_grid3.h:193
void computeAdvection(double timeIntervalInSeconds) override
Computes the advection term of the fluid solver.
ScalarGrid3Ptr signedDistanceField() const
Returns the signed-distance field of particles.
Definition: advection_solver2.h:18
Vector3D gridSpacing() const
Returns the grid spacing of the grid system data.
std::shared_ptr< PicSolver3 > PicSolver3Ptr
Shared pointer type for the PicSolver3.
Definition: pic_solver3.h:96
Base class for grid-based fluid solver builder.
Definition: grid_fluid_solver3.h:300
PicSolver3()
Default constructor.
PicSolver3(const Size3 &resolution, const Vector3D &gridSpacing, const Vector3D &gridOrigin)
Constructs solver with initial grid size.
Front-end to create PicSolver3 objects step by step.
Definition: pic_solver3.h:103
void onBeginAdvanceTimeStep(double timeIntervalInSeconds) override
Invoked before a simulation time-step begins.
PicSolver3 build() const
Builds PicSolver3.
std::shared_ptr< ScalarField3 > ScalarField3Ptr
Shared pointer for the ScalarField3 type.
Definition: scalar_field3.h:40
static Builder builder()
Returns builder fox PicSolver3.
3-D size class.
Definition: size3.h:19
PicSolver3Ptr makeShared() const
Builds shared pointer of PicSolver3 instance.
Vector3D gridOrigin() const
Returns the origin of the grid system data.
Abstract base class for grid-based 3-D fluid solver.
Definition: grid_fluid_solver3.h:34
3-D Particle-in-Cell (PIC) implementation.
Definition: pic_solver3.h:26
Array3< char > _vMarkers
Definition: pic_solver3.h:59
3-D vector class.
Definition: vector3.h:25
Array3< char > _uMarkers
Definition: pic_solver3.h:58
3-D array class.
Definition: array3.h:43
virtual ~PicSolver3()
Default destructor.
const ParticleSystemData3Ptr & particleSystemData() const
Returns the particle system data.
Array3< char > _wMarkers
Definition: pic_solver3.h:60
ScalarField3Ptr fluidSdf() const override
Returns the signed-distance field of the fluid.
virtual void transferFromParticlesToGrids()
Transfers velocity field from particles to grids.