Go to the documentation of this file.
7 #ifndef INCLUDE_JET_LEVEL_SET_LIQUID_SOLVER3_H_
8 #define INCLUDE_JET_LEVEL_SET_LIQUID_SOLVER3_H_
99 size_t _signedDistanceFieldId;
101 double _minReinitializeDistance = 10.0;
102 bool _isGlobalCompensationEnabled =
false;
103 double _lastKnownVolume = 0.0;
105 void reinitialize(
double currentCfl);
107 void extrapolateVelocityToAir(
double currentCfl);
109 void addVolume(
double volDiff);
131 #endif // INCLUDE_JET_LEVEL_SET_LIQUID_SOLVER3_H_
static Builder builder()
Returns builder fox LevelSetLiquidSolver3.
void setLevelSetSolver(const LevelSetSolver3Ptr &newSolver)
Sets the level set solver.
LevelSetLiquidSolver3(const Size3 &resolution, const Vector3D &gridSpacing, const Vector3D &gridOrigin)
Constructs solver with initial grid size.
Size3 resolution() const
Returns the resolution of the grid system data.
ScalarGrid3Ptr signedDistanceField() const
Returns signed-distance field.
LevelSetLiquidSolver3 build() const
Builds LevelSetLiquidSolver3.
Front-end to create LevelSetLiquidSolver3 objects step by step.
Definition: level_set_liquid_solver3.h:120
ScalarField3Ptr fluidSdf() const override
Returns fluid region as a signed-distance field.
Level set based 3-D liquid solver.
Definition: level_set_liquid_solver3.h:26
LevelSetLiquidSolver3()
Default constructor.
void setMinReinitializeDistance(double distance)
Sets minimum reinitialization distance.
std::shared_ptr< LevelSetSolver3 > LevelSetSolver3Ptr
Shared pointer type for the LevelSetSolver3.
Definition: level_set_solver3.h:84
void onEndAdvanceTimeStep(double timeIntervalInSeconds) override
Called at the end of the time-step.
std::shared_ptr< ScalarGrid3 > ScalarGrid3Ptr
Shared pointer for the ScalarGrid3 type.
Definition: scalar_grid3.h:193
LevelSetLiquidSolver3Ptr makeShared() const
Builds shared pointer of LevelSetLiquidSolver3 instance.
void setIsGlobalCompensationEnabled(bool isEnabled)
Enables (or disables) global compensation feature flag.
Definition: advection_solver2.h:18
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
std::shared_ptr< ScalarField3 > ScalarField3Ptr
Shared pointer for the ScalarField3 type.
Definition: scalar_field3.h:40
3-D size class.
Definition: size3.h:19
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 vector class.
Definition: vector3.h:25
LevelSetSolver3Ptr levelSetSolver() const
Returns the level set solver.
void computeAdvection(double timeIntervalInSeconds) override
Customizes advection step.
void onBeginAdvanceTimeStep(double timeIntervalInSeconds) override
Called at the beginning of the time-step.
virtual ~LevelSetLiquidSolver3()
Destructor.
double computeVolume() const
Returns liquid volume measured by smeared Heaviside function.
std::shared_ptr< LevelSetLiquidSolver3 > LevelSetLiquidSolver3Ptr
Shared pointer type for the LevelSetLiquidSolver3.
Definition: level_set_liquid_solver3.h:113