iMSTK
Interactive Medical Simulation Toolkit
|
Public Member Functions | |
void | configure (const std::shared_ptr< SphModelConfig > ¶ms) |
Set simulation parameters. | |
bool | initialize () override |
Initialize the dynamical model. | |
void | resetToInitialState () override |
Reset the current state to the initial state. | |
const std::shared_ptr< SphModelConfig > & | getParameters () const |
Get the simulation parameters. | |
void | setTimeStep (const double timeStep) override |
Set the default time step size, valid only if using a fixed time step for integration. | |
void | setDefaultTimeStep (const double timeStep) |
Set the default time step size, valid only if using a fixed time step for integration. | |
double | getTimeStep () const override |
Returns the time step size. | |
void | setInitialVelocities (const size_t numParticles, const Vec3d &initialVelocities) |
double | getParticlePressure (const double density) |
void | findNearestParticleToVertex (const VecDataArray< double, 3 > &points, const std::vector< std::vector< size_t >> &indices) |
Write the state to external file. More... | |
void | setBoundaryConditions (std::shared_ptr< SphBoundaryConditions > sphBoundaryConditions) |
std::shared_ptr< SphBoundaryConditions > | getBoundaryConditions () |
void | setRestDensity (const double restDensity) |
std::shared_ptr< TaskNode > | getFindParticleNeighborsNode () const |
std::shared_ptr< TaskNode > | getComputeDensityNode () const |
std::shared_ptr< TaskNode > | getComputePressureNode () const |
std::shared_ptr< TaskNode > | getComputeSurfaceTensionNode () const |
std::shared_ptr< TaskNode > | getComputeTimeStepSizeNode () const |
std::shared_ptr< TaskNode > | getSumAccelsNode () const |
std::shared_ptr< TaskNode > | getIntegrateNode () const |
std::shared_ptr< TaskNode > | getComputeViscosityNode () const |
std::shared_ptr< TaskNode > | getUpdateVelocityNode () const |
std::shared_ptr< TaskNode > | getMoveParticlesNode () const |
![]() | |
DynamicalModel (DynamicalModelType type=DynamicalModelType::None) | |
std::shared_ptr< SphState > | getInitialState () const |
Return the initial state of the problem. | |
std::shared_ptr< SphState > | getCurrentState () const |
Return the current state of the problem. | |
std::shared_ptr< SphState > | getPreviousState () const |
Return the previous state of the problem. | |
void | resetToInitialState () override |
Reset the current state to the initial state. | |
![]() | |
std::shared_ptr< TaskGraph > | getTaskGraph () const |
const DynamicalModelType & | getType () const |
Get the type of the object. | |
virtual void | updatePhysicsGeometry () |
Update the geometry of the model. | |
void | setModelGeometry (std::shared_ptr< Geometry > geometry) |
Sets the model geometry. | |
bool | isGeometryValid (const std::shared_ptr< Geometry > geometry) |
Checks if the given geometry is a valid geometry type for the model. | |
std::shared_ptr< Geometry > | getModelGeometry () const |
Gets the model geometry. | |
void | initGraphEdges () |
Initializes the edges of the graph. | |
std::size_t | getNumDegreeOfFreedom () const |
Get/Set the number of degrees of freedom. | |
void | setNumDegreeOfFreedom (const size_t nDof) |
virtual void | setTimeStepSizeType (const TimeSteppingType type) |
Get/Set the type of approach used to update the time step size after every frame. | |
TimeSteppingType | getTimeStepSizeType () const |
Protected Member Functions | |
void | initGraphEdges (std::shared_ptr< TaskNode > source, std::shared_ptr< TaskNode > sink) override |
Setup SPH compute graph connectivity. | |
![]() | |
AbstractDynamicalModel (DynamicalModelType type=DynamicalModelType::None) | |
Protected Attributes | |
std::shared_ptr< TaskNode > | m_findParticleNeighborsNode = nullptr |
std::shared_ptr< TaskNode > | m_computeDensityNode = nullptr |
std::shared_ptr< TaskNode > | m_computePressureAccelNode = nullptr |
std::shared_ptr< TaskNode > | m_computeSurfaceTensionNode = nullptr |
std::shared_ptr< TaskNode > | m_computeTimeStepSizeNode = nullptr |
std::shared_ptr< TaskNode > | m_sumAccelsNode = nullptr |
std::shared_ptr< TaskNode > | m_integrateNode = nullptr |
std::shared_ptr< TaskNode > | m_updateVelocityNode = nullptr |
std::shared_ptr< TaskNode > | m_computeViscosityNode = nullptr |
std::shared_ptr< TaskNode > | m_moveParticlesNode = nullptr |
std::shared_ptr< TaskNode > | m_normalizeDensityNode = nullptr |
std::shared_ptr< TaskNode > | m_collectNeighborDensityNode = nullptr |
![]() | |
std::shared_ptr< SphState > | m_initialState |
Initial state. | |
std::shared_ptr< SphState > | m_currentState |
Current state. | |
std::shared_ptr< SphState > | m_previousState |
Previous state. | |
![]() | |
DynamicalModelType | m_type |
Mathematical model type. | |
std::size_t | m_numDof |
Total number of degree of freedom. | |
std::shared_ptr< Geometry > | m_geometry = nullptr |
Physics geometry of the model. | |
std::set< std::string > | m_validGeometryTypes |
Valid geometry types of this model. | |
TimeSteppingType | m_timeStepSizeType = TimeSteppingType::Fixed |
std::shared_ptr< TaskGraph > | m_taskGraph = nullptr |
Additional Inherited Members | |
![]() | |
enum | StateUpdateType { Displacement, Velocity, DeltaDisplacement, DeltaVelocity, None } |
Type of the update of the state of the body. | |
Definition at line 81 of file imstkSphModel.h.
void imstk::SphModel::findNearestParticleToVertex | ( | const VecDataArray< double, 3 > & | points, |
const std::vector< std::vector< size_t >> & | indices | ||
) |
Write the state to external file.
Definition at line 786 of file imstkSphModel.cpp.