|
| MockFemElement (std::shared_ptr< FemElementStructs::FemElementParameter > elementData) |
|
void | addNode (size_t nodeId) |
|
double | getVolume (const OdeState &state) const override |
| Gets the element volume based on the input state (in m-3) More...
|
|
Vector | computeCartesianCoordinate (const OdeState &state, const Vector &barycentricCoordinate) const override |
|
Vector | computeNaturalCoordinate (const SurgSim::Math::OdeState &state, const Vector &globalCoordinate) const override |
|
void | initialize (const SurgSim::Math::OdeState &state) override |
| Initialize the FemElement once everything has been set. More...
|
|
bool | isInitialized () const |
|
| FemElement () |
| Constructor.
|
|
virtual | ~FemElement () |
| Virtual destructor.
|
|
size_t | getNumDofPerNode () const |
| Gets the number of degree of freedom per node. More...
|
|
size_t | getNumNodes () const |
| Gets the number of nodes connected by this element. More...
|
|
size_t | getNodeId (size_t elementNodeId) const |
| Gets the elementNodeId-th node id. More...
|
|
const std::vector< size_t > & | getNodeIds () const |
| Gets the node ids for this element. More...
|
|
void | setYoungModulus (double E) |
| Sets the Young modulus (in N.m-2) More...
|
|
double | getYoungModulus () const |
| Gets the Young modulus (in N.m-2) More...
|
|
void | setPoissonRatio (double nu) |
| Sets the Poisson ratio (unitless) More...
|
|
double | getPoissonRatio () const |
| Gets the Poisson ratio (unitless) More...
|
|
void | setMassDensity (double rho) |
| Sets the mass density (in Kg.m-3) More...
|
|
double | getMassDensity () const |
| Gets the mass density (in Kg.m-3) More...
|
|
double | getMass (const SurgSim::Math::OdeState &state) const |
| Gets the element mass based on the input state (in Kg) More...
|
|
virtual void | addForce (SurgSim::Math::Vector *F, double scale) const |
| Adds the element force (computed for a given state) to a complete system force vector F (assembly) More...
|
|
virtual void | addForce (SurgSim::Math::Vector *F) const |
|
virtual void | addMass (SurgSim::Math::SparseMatrix *M, double scale) const |
| Adds the element mass matrix M (computed for a given state) to a complete system mass matrix M (assembly) More...
|
|
virtual void | addMass (SurgSim::Math::SparseMatrix *M) const |
|
virtual void | addDamping (SurgSim::Math::SparseMatrix *D, double scale) const |
| Adds the element damping matrix D (= -df/dv) (comuted for a given state) to a complete system damping matrix D (assembly) More...
|
|
virtual void | addDamping (SurgSim::Math::SparseMatrix *D) const |
|
virtual void | addStiffness (SurgSim::Math::SparseMatrix *K, double scale) const |
| Adds the element stiffness matrix K (= -df/dx) (computed for a given state) to a complete system stiffness matrix K (assembly) More...
|
|
virtual void | addStiffness (SurgSim::Math::SparseMatrix *K) const |
|
virtual void | addFMDK (SurgSim::Math::Vector *F, SurgSim::Math::SparseMatrix *M, SurgSim::Math::SparseMatrix *D, SurgSim::Math::SparseMatrix *K) const |
| Adds the element force vector, mass, stiffness and damping matrices (computed for a given state) into a complete system data structure F, M, D, K (assembly) More...
|
|
virtual void | addMatVec (double alphaM, double alphaD, double alphaK, const SurgSim::Math::Vector &x, SurgSim::Math::Vector *F, SurgSim::Math::Vector *extractedX, SurgSim::Math::Vector *acumulator) const |
| Adds the element matrix-vector contribution F += (alphaM.M + alphaD.D + alphaK.K).x (computed for a given state) into a complete system data structure F (assembly) More...
|
|
bool | isValidCoordinate (const SurgSim::Math::Vector &naturalCoordinate) const |
| Determines whether a given natural coordinate is valid. More...
|
|
virtual SurgSim::Math::Vector | computeCartesianCoordinate (const SurgSim::Math::OdeState &state, const SurgSim::Math::Vector &naturalCoordinate) const =0 |
| Computes a given natural coordinate in cartesian coordinates. More...
|
|
virtual SurgSim::Math::Vector | computeNaturalCoordinate (const SurgSim::Math::OdeState &state, const SurgSim::Math::Vector &cartesianCoordinate) const =0 |
| Computes a natural coordinate given a global coordinate. More...
|
|
template<typename T , int Opt, typename StorageIndex > |
void | assembleMatrixBlocks (const Eigen::Ref< const Math::Matrix > &subMatrix, const std::vector< size_t > &blockIds, size_t blockSize, Eigen::SparseMatrix< T, Opt, StorageIndex > *matrix) const |
| Add a sub-matrix made of squared-blocks into a matrix that could be un-initialized. More...
|
|
template<typename T , int Opt, typename StorageIndex > |
void | assembleMatrixBlocksNoInitialize (const Eigen::Ref< const Math::Matrix > &subMatrix, const std::vector< size_t > &blockIds, size_t blockSize, Eigen::SparseMatrix< T, Opt, StorageIndex > *matrix) const |
| Add a sub-matrix made of squared-blocks into a matrix that is already initialized. More...
|
|
void | updateFMDK (const Math::OdeState &state, int options) |
| Update the FemElement based on the given state. More...
|
|