10 #include "imstkInternalForceModelTypes.h" 13 #pragma warning( push ) 14 #pragma warning( disable : 4458 ) 15 #pragma warning( disable : 4100 ) 17 #include <forceModel.h> 19 #pragma warning( pop ) 55 virtual void getForceAndMatrix(
const Vectord& u, Vectord& internalForce, SparseMatrixd& tangentStiffnessMatrix);
virtual void getForceAndMatrix(const Vectord &u, Vectord &internalForce, SparseMatrixd &tangentStiffnessMatrix)
Compute both internal force internalForce and stiffness matrix tangentStiffnessMatrix at state ...
virtual void getTangentStiffnessMatrix(const Vectord &u, SparseMatrixd &tangentStiffnessMatrix)=0
Compute stiffness matrix tangentStiffnessMatrix at state .
virtual void setTangentStiffness(std::shared_ptr< vega::SparseMatrix > K)=0
Specify tangent stiffness matrix.
virtual void getTangentStiffnessMatrixTopology(vega::SparseMatrix **tangentStiffnessMatrix)=0
Build the sparsity pattern for stiffness matrix.
Base class for internal force model within the following context.
virtual void getInternalForce(const Vectord &u, Vectord &internalForce)=0
Compute internal force internalForce at state u.
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...