iMSTK
Interactive Medical Simulation Toolkit
|
Force model for linear finite element formulation. More...
#include <imstkLinearFemForceModel.h>
Public Member Functions | |
LinearFemForceModel (std::shared_ptr< vega::VolumetricMesh > mesh, const bool withGravity=true, const double gravity=-9.81) | |
void | getInternalForce (const Vectord &u, Vectord &internalForce) override |
Compute the internal force. | |
void | getTangentStiffnessMatrix (const Vectord &u, SparseMatrixd &tangentStiffnessMatrix) override |
Get the tangent stiffness matrix. More... | |
void | getTangentStiffnessMatrixTopology (vega::SparseMatrix **tangentStiffnessMatrix) override |
Get the tangent stiffness matrix topology. | |
void | setTangentStiffness (std::shared_ptr< vega::SparseMatrix > K) override |
Set the tangent stiffness matrix. | |
![]() | |
virtual void | getForceAndMatrix (const Vectord &u, Vectord &internalForce, SparseMatrixd &tangentStiffnessMatrix) |
Compute both internal force internalForce and stiffness matrix tangentStiffnessMatrix at state . More... | |
Protected Attributes | |
std::shared_ptr< vega::SparseMatrix > | m_stiffnessMatrix |
std::shared_ptr< vega::StVKInternalForces > | m_stVKInternalForces |
vega::SparseMatrix * | m_stiffnessMatrixRawPtr |
Additional Inherited Members | |
![]() | |
static void | updateValuesFromMatrix (std::shared_ptr< vega::SparseMatrix > vegaMatrix, double *values) |
Update the values of the Eigen sparse matrix given the linearized array of data from the Vega matrix. More... | |
Force model for linear finite element formulation.
Definition at line 24 of file imstkLinearFemForceModel.h.
|
inlineoverridevirtual |
Get the tangent stiffness matrix.
Implements imstk::InternalForceModel.
Definition at line 48 of file imstkLinearFemForceModel.h.