Go to the documentation of this file.
7 #ifndef INCLUDE_JET_GRID_SMOKE_SOLVER3_H_
8 #define INCLUDE_JET_GRID_SMOKE_SOLVER3_H_
168 size_t _smokeDensityDataId;
169 size_t _temperatureDataId;
170 double _smokeDiffusionCoefficient = 0.0;
171 double _temperatureDiffusionCoefficient = 0.0;
172 double _buoyancySmokeDensityFactor = -0.000625;
173 double _buoyancyTemperatureFactor = 5.0;
174 double _smokeDecayFactor = 0.001;
175 double _temperatureDecayFactor = 0.001;
177 void computeDiffusion(
double timeIntervalInSeconds);
179 void computeBuoyancyForce(
double timeIntervalInSeconds);
201 #endif // INCLUDE_JET_GRID_SMOKE_SOLVER3_H_
static Builder builder()
Returns builder fox GridSmokeSolver3.
GridSmokeSolver3(const Size3 &resolution, const Vector3D &gridSpacing, const Vector3D &gridOrigin)
Constructs solver with initial grid size.
double buoyancyTemperatureFactor() const
Returns the buoyancy factor which will be multiplied to the temperature.
Size3 resolution() const
Returns the resolution of the grid system data.
void computeExternalForces(double timeIntervalInSeconds) override
Computes the external force terms.
ScalarGrid3Ptr temperature() const
Returns temperature field.
ScalarGrid3Ptr smokeDensity() const
Returns smoke density field.
double smokeDecayFactor() const
Returns smoke decay factor.
3-D grid-based smoke solver.
Definition: grid_smoke_solver3.h:25
double smokeDiffusionCoefficient() const
Returns smoke diffusion coefficient.
void onEndAdvanceTimeStep(double timeIntervalInSeconds) override
Called at the end of a time-step.
std::shared_ptr< ScalarGrid3 > ScalarGrid3Ptr
Shared pointer for the ScalarGrid3 type.
Definition: scalar_grid3.h:193
void setTemperatureDiffusionCoefficient(double newValue)
Sets temperature diffusion coefficient.
double temperatureDiffusionCoefficient() const
Returns temperature diffusion coefficient.
virtual ~GridSmokeSolver3()
Destructor.
Definition: advection_solver2.h:18
GridSmokeSolver3 build() const
Builds GridSmokeSolver3.
Vector3D gridSpacing() const
Returns the grid spacing of the grid system data.
Base class for grid-based fluid solver builder.
Definition: grid_fluid_solver3.h:300
GridSmokeSolver3()
Default constructor.
3-D size class.
Definition: size3.h:19
Vector3D gridOrigin() const
Returns the origin of the grid system data.
double smokeTemperatureDecayFactor() const
Returns temperature decay factor.
Abstract base class for grid-based 3-D fluid solver.
Definition: grid_fluid_solver3.h:34
void setBuoyancySmokeDensityFactor(double newValue)
Sets the buoyancy factor which will be multiplied to the smoke density.
double buoyancySmokeDensityFactor() const
Returns the buoyancy factor which will be multiplied to the smoke density.
void setTemperatureDecayFactor(double newValue)
Sets the temperature decay factor.
Front-end to create GridSmokeSolver3 objects step by step.
Definition: grid_smoke_solver3.h:190
3-D vector class.
Definition: vector3.h:25
std::shared_ptr< GridSmokeSolver3 > GridSmokeSolver3Ptr
Shared pointer type for the GridSmokeSolver3.
Definition: grid_smoke_solver3.h:183
GridSmokeSolver3Ptr makeShared() const
Builds shared pointer of GridSmokeSolver3 instance.
void setSmokeDecayFactor(double newValue)
Sets the smoke decay factor.
void setBuoyancyTemperatureFactor(double newValue)
Sets the buoyancy factor which will be multiplied to the temperature.
void setSmokeDiffusionCoefficient(double newValue)
Sets smoke diffusion coefficient.