#include <TetrahedronFEMForceField.h>


Full system matrix assembly support | |
| typedef std::pair< int, Real > | Col_Value |
| typedef vector< Col_Value > | CompressedValue |
| typedef vector< CompressedValue > | CompressedMatrix |
| CompressedMatrix | _stiffnesses |
Public Types | |
| enum | { SMALL = 0, LARGE = 1, POLAR = 2 } |
| typedef DataTypes::VecCoord | VecCoord |
| typedef DataTypes::VecDeriv | VecDeriv |
| typedef DataTypes::VecReal | VecReal |
| typedef VecCoord | Vector |
| typedef DataTypes::Coord | Coord |
| typedef DataTypes::Deriv | Deriv |
| typedef Coord::value_type | Real |
| typedef core::componentmodel::topology::BaseMeshTopology::index_type | Index |
| typedef core::componentmodel::topology::BaseMeshTopology::Tetra | Element |
| typedef core::componentmodel::topology::BaseMeshTopology::SeqTetras | VecElement |
Public Member Functions | |
| void | getRotation (Transformation &R, unsigned int nodeIdx) |
| TetrahedronFEMForceField () | |
| void | parse (core::objectmodel::BaseObjectDescription *arg) |
| Parse the given description to assign values to this object's fields and potentially other parameters. | |
| void | setPoissonRatio (Real val) |
| void | setYoungModulus (Real val) |
| void | setMethod (std::string methodName) |
| void | setMethod (int val) |
| void | setUpdateStiffnessMatrix (bool val) |
| void | setComputeGlobalMatrix (bool val) |
| virtual void | init () |
| Initialization method called at graph modification, during bottom-up traversal. | |
| virtual void | reinit () |
| Update method called when variables used in precomputation are modified. | |
| virtual void | addForce (VecDeriv &f, const VecCoord &x, const VecDeriv &v) |
| Given the current position and velocity states, update the current force vector by computing and adding the forces associated with this ForceField. | |
| virtual void | addDForce (VecDeriv &df, const VecDeriv &dx, double kFactor, double bFactor) |
| Compute the force derivative given a small displacement from the position and velocity used in the previous call to addForce(). | |
| virtual double | getPotentialEnergy (const VecCoord &x) |
| Get the potential energy associated to this ForceField. | |
| virtual void | addKToMatrix (sofa::defaulttype::BaseMatrix *, SReal, unsigned int &) |
| Compute the system matrix corresponding to k K. | |
| void | draw () |
| Render internal data of this object, for debugging purposes. | |
Data Fields | |
| DataPtr< VecCoord > | f_initialPoints |
| the intial positions of the points | |
| int | method |
| Data< std::string > | f_method |
| the computation method of the displacements | |
| Real | _poissonRatio |
| DataPtr< Real > | f_poissonRatio |
| Real | _youngModulus |
| DataPtr< Real > | f_youngModulus |
| VecReal | _localStiffnessFactor |
| DataPtr< VecReal > | f_localStiffnessFactor |
| bool | _updateStiffnessMatrix |
| DataPtr< bool > | f_updateStiffnessMatrix |
| bool | _assembling |
| DataPtr< bool > | f_assembling |
Protected Types | |
| typedef vector< MaterialStiffness > | VecMaterialStiffness |
| Vector of material stiffness of each tetrahedron. | |
| typedef vector < StrainDisplacement > | VecStrainDisplacement |
| a vector of strain-displacement matrices | |
Per element (tetrahedron) data | |
| typedef VecNoInit< 12, Real > | Displacement |
| Displacement vector (deformation of the 4 corners of a tetrahedron. | |
| typedef Mat< 6, 6, Real > | MaterialStiffness |
| Material stiffness matrix of a tetrahedron. | |
| typedef Mat< 12, 6, Real > | StrainDisplacement |
| Strain-displacement matrix. | |
| typedef MatNoInit< 3, 3, Real > | Transformation |
| Rigid transformation (rotation) matrix. | |
| typedef Mat< 12, 12, Real > | StiffnessMatrix |
| Stiffness matrix ( = RJKJtRt with K the Material stiffness matrix, J the strain-displacement matrix, and R the transformation matrix if any ). | |
Protected Member Functions | |
| void | computeStrainDisplacement (StrainDisplacement &J, Coord a, Coord b, Coord c, Coord d) |
| Real | peudo_determinant_for_coef (const Mat< 2, 3, Real > &M) |
| void | computeStiffnessMatrix (StiffnessMatrix &S, StiffnessMatrix &SR, const MaterialStiffness &K, const StrainDisplacement &J, const Transformation &Rot) |
| void | computeMaterialStiffness (int i, Index &a, Index &b, Index &c, Index &d) |
| void | computeForce (Displacement &F, const Displacement &Depl, const MaterialStiffness &K, const StrainDisplacement &J) |
| void | computeForce (Displacement &F, const Displacement &Depl, const MaterialStiffness &K, const StrainDisplacement &J, double fact) |
| void | initSmall (int i, Index &a, Index &b, Index &c, Index &d) |
| void | accumulateForceSmall (Vector &f, const Vector &p, typename VecElement::const_iterator elementIt, Index elementIndex) |
| void | applyStiffnessSmall (Vector &f, const Vector &x, int i=0, Index a=0, Index b=1, Index c=2, Index d=3, double fact=1.0) |
| void | initLarge (int i, Index &a, Index &b, Index &c, Index &d) |
| void | computeRotationLarge (Transformation &r, const Vector &p, const Index &a, const Index &b, const Index &c) |
| void | accumulateForceLarge (Vector &f, const Vector &p, typename VecElement::const_iterator elementIt, Index elementIndex) |
| void | applyStiffnessLarge (Vector &f, const Vector &x, int i=0, Index a=0, Index b=1, Index c=2, Index d=3, double fact=1.0) |
| void | initPolar (int i, Index &a, Index &b, Index &c, Index &d) |
| void | accumulateForcePolar (Vector &f, const Vector &p, typename VecElement::const_iterator elementIt, Index elementIndex) |
| void | applyStiffnessPolar (Vector &f, const Vector &x, int i=0, Index a=0, Index b=1, Index c=2, Index d=3, double fact=1.0) |
| void | handleTopologyChange () |
| Handle topological Changes. | |
Protected Attributes | |
| VecMaterialStiffness | _materialsStiffnesses |
| Vector of material stiffness matrices of each tetrahedron. | |
| VecStrainDisplacement | _strainDisplacements |
| the strain-displacement matrices vector | |
| SReal | m_potentialEnergy |
| core::componentmodel::topology::BaseMeshTopology * | _mesh |
| const VecElement * | _indexedElements |
| VecCoord | _initialPoints |
| the intial positions of the points | |
| bool | needUpdateTopology |
| TetrahedronFEMForceFieldInternalData < DataTypes > | data |
| vector< helper::fixed_array < Coord, 4 > > | _rotatedInitialElements |
| The initials positions in its frame. | |
| vector< Transformation > | _rotations |
| vector< Transformation > | _initialRotations |
| vector< Transformation > | _initialTransformation |
| vector< unsigned int > | _rotationIdx |
Friends | |
| class | TetrahedronFEMForceFieldInternalData< DataTypes > |
Definition at line 72 of file TetrahedronFEMForceField.h.
typedef std::pair<int,Real> sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::Col_Value [protected] |
Definition at line 124 of file TetrahedronFEMForceField.h.
typedef vector< CompressedValue > sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::CompressedMatrix [protected] |
Definition at line 126 of file TetrahedronFEMForceField.h.
typedef vector< Col_Value > sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::CompressedValue [protected] |
Definition at line 125 of file TetrahedronFEMForceField.h.
| typedef DataTypes::Coord sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::Coord |
Reimplemented from sofa::core::componentmodel::behavior::ForceField< DataTypes >.
Definition at line 79 of file TetrahedronFEMForceField.h.
| typedef DataTypes::Deriv sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::Deriv |
Reimplemented from sofa::core::componentmodel::behavior::ForceField< DataTypes >.
Definition at line 80 of file TetrahedronFEMForceField.h.
typedef VecNoInit<12, Real> sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::Displacement [protected] |
Displacement vector (deformation of the 4 corners of a tetrahedron.
Definition at line 97 of file TetrahedronFEMForceField.h.
| typedef core::componentmodel::topology::BaseMeshTopology::Tetra sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::Element |
Definition at line 84 of file TetrahedronFEMForceField.h.
| typedef core::componentmodel::topology::BaseMeshTopology::index_type sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::Index |
Definition at line 83 of file TetrahedronFEMForceField.h.
typedef Mat<6, 6, Real> sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::MaterialStiffness [protected] |
Material stiffness matrix of a tetrahedron.
Definition at line 100 of file TetrahedronFEMForceField.h.
| typedef Coord::value_type sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::Real |
Definition at line 81 of file TetrahedronFEMForceField.h.
typedef Mat<12, 12, Real> sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::StiffnessMatrix [protected] |
Stiffness matrix ( = RJKJtRt with K the Material stiffness matrix, J the strain-displacement matrix, and R the transformation matrix if any ).
Definition at line 109 of file TetrahedronFEMForceField.h.
typedef Mat<12, 6, Real> sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::StrainDisplacement [protected] |
typedef MatNoInit<3, 3, Real> sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::Transformation [protected] |
| typedef DataTypes::VecCoord sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::VecCoord |
Reimplemented from sofa::core::componentmodel::behavior::ForceField< DataTypes >.
Definition at line 75 of file TetrahedronFEMForceField.h.
| typedef DataTypes::VecDeriv sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::VecDeriv |
Reimplemented from sofa::core::componentmodel::behavior::ForceField< DataTypes >.
Definition at line 76 of file TetrahedronFEMForceField.h.
| typedef core::componentmodel::topology::BaseMeshTopology::SeqTetras sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::VecElement |
Definition at line 85 of file TetrahedronFEMForceField.h.
typedef vector<MaterialStiffness> sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::VecMaterialStiffness [protected] |
Vector of material stiffness of each tetrahedron.
Definition at line 114 of file TetrahedronFEMForceField.h.
| typedef DataTypes::VecReal sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::VecReal |
Definition at line 77 of file TetrahedronFEMForceField.h.
typedef vector<StrainDisplacement> sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::VecStrainDisplacement [protected] |
| typedef VecCoord sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::Vector |
Definition at line 78 of file TetrahedronFEMForceField.h.
| anonymous enum |
| SMALL | Symbol of small displacements tetrahedron solver. |
| LARGE | Symbol of large displacements tetrahedron solver. |
| POLAR |
Definition at line 87 of file TetrahedronFEMForceField.h.
| sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::TetrahedronFEMForceField | ( | ) | [inline] |
Definition at line 161 of file TetrahedronFEMForceField.h.
| void sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::accumulateForceLarge | ( | Vector & | f, | |
| const Vector & | p, | |||
| typename VecElement::const_iterator | elementIt, | |||
| Index | elementIndex | |||
| ) | [inline, protected] |
Definition at line 661 of file TetrahedronFEMForceField.inl.
References sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::_assembling, sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::_materialsStiffnesses, sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::_rotatedInitialElements, sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::_rotations, sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::_stiffnesses, sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::_strainDisplacements, sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::_updateStiffnessMatrix, sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::computeForce(), sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::computeRotationLarge(), and sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::computeStiffnessMatrix().
Referenced by sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::addForce().
| void sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::accumulateForcePolar | ( | Vector & | f, | |
| const Vector & | p, | |||
| typename VecElement::const_iterator | elementIt, | |||
| Index | elementIndex | |||
| ) | [inline, protected] |
Definition at line 866 of file TetrahedronFEMForceField.inl.
References sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::_assembling, sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::_materialsStiffnesses, sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::_rotatedInitialElements, sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::_rotations, sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::_strainDisplacements, sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::_updateStiffnessMatrix, sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::computeForce(), sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::computeStrainDisplacement(), and sofa::helper::polar_decomp().
Referenced by sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::addForce().
| void sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::accumulateForceSmall | ( | Vector & | f, | |
| const Vector & | p, | |||
| typename VecElement::const_iterator | elementIt, | |||
| Index | elementIndex | |||
| ) | [inline, protected] |
Definition at line 440 of file TetrahedronFEMForceField.inl.
References sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::_assembling, sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::_initialPoints, sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::_materialsStiffnesses, sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::_stiffnesses, sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::_strainDisplacements, sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::computeForce(), and sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::computeStiffnessMatrix().
Referenced by sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::addForce().
| void sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::addDForce | ( | VecDeriv & | df, | |
| const VecDeriv & | dx, | |||
| double | kFactor, | |||
| double | bFactor | |||
| ) | [inline, virtual] |
Compute the force derivative given a small displacement from the position and velocity used in the previous call to addForce().
The derivative should be directly derived from the computations done by addForce. Any forces neglected in addDForce will be integrated explicitly (i.e. using its value at the beginning of the timestep).
If the ForceField can be represented as a matrix, this method computes $ df += kFactor K dx + bFactor B dx $
This method must be implemented by the component, and is usually called by the generic ForceField::addDForce() method.
To support old components that implement the deprecated addForce method without scalar coefficients, it defaults to using a temporaty vector to compute $ K dx $ and then manually scaling all values by kFactor.
Reimplemented from sofa::core::componentmodel::behavior::ForceField< DataTypes >.
Definition at line 1246 of file TetrahedronFEMForceField.inl.
References sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::_indexedElements, sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::applyStiffnessLarge(), sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::applyStiffnessPolar(), sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::applyStiffnessSmall(), sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::LARGE, sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::method, sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::POLAR, and sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::SMALL.
| void sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::addForce | ( | VecDeriv & | f, | |
| const VecCoord & | x, | |||
| const VecDeriv & | v | |||
| ) | [inline, virtual] |
Given the current position and velocity states, update the current force vector by computing and adding the forces associated with this ForceField.
If the ForceField can be represented as a matrix, this method computes $ f += B v + K x $
This method must be implemented by the component, and is usually called by the generic ForceField::addForce() method.
Implements sofa::core::componentmodel::behavior::ForceField< DataTypes >.
Definition at line 1203 of file TetrahedronFEMForceField.inl.
References sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::_indexedElements, sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::accumulateForceLarge(), sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::accumulateForcePolar(), sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::accumulateForceSmall(), sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::LARGE, sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::method, sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::needUpdateTopology, sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::POLAR, sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::reinit(), and sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::SMALL.
| void sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::addKToMatrix | ( | sofa::defaulttype::BaseMatrix * | matrix, | |
| SReal | kFact, | |||
| unsigned int & | offset | |||
| ) | [inline, virtual] |
Compute the system matrix corresponding to k K.
| matrix | matrix to add the result to | |
| kFact | coefficient for stiffness contributions (i.e. DOFs term in the ODE) | |
| offset | current row/column offset |
Reimplemented from sofa::core::componentmodel::behavior::BaseForceField.
Definition at line 1398 of file TetrahedronFEMForceField.inl.
References sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::_indexedElements, sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::_materialsStiffnesses, sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::_rotations, sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::_strainDisplacements, sofa::defaulttype::BaseMatrix::add(), sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::computeStiffnessMatrix(), sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::method, and sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::SMALL.
| void sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::applyStiffnessLarge | ( | Vector & | f, | |
| const Vector & | x, | |||
| int | i = 0, |
|||
| Index | a = 0, |
|||
| Index | b = 1, |
|||
| Index | c = 2, |
|||
| Index | d = 3, |
|||
| double | fact = 1.0 | |||
| ) | [inline, protected] |
Definition at line 790 of file TetrahedronFEMForceField.inl.
References sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::_materialsStiffnesses, sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::_rotations, sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::_strainDisplacements, and sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::computeForce().
Referenced by sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::addDForce().
| void sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::applyStiffnessPolar | ( | Vector & | f, | |
| const Vector & | x, | |||
| int | i = 0, |
|||
| Index | a = 0, |
|||
| Index | b = 1, |
|||
| Index | c = 2, |
|||
| Index | d = 3, |
|||
| double | fact = 1.0 | |||
| ) | [inline, protected] |
Definition at line 922 of file TetrahedronFEMForceField.inl.
References sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::_materialsStiffnesses, sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::_rotations, sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::_strainDisplacements, and sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::computeForce().
Referenced by sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::addDForce().
| void sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::applyStiffnessSmall | ( | Vector & | f, | |
| const Vector & | x, | |||
| int | i = 0, |
|||
| Index | a = 0, |
|||
| Index | b = 1, |
|||
| Index | c = 2, |
|||
| Index | d = 3, |
|||
| double | fact = 1.0 | |||
| ) | [inline, protected] |
Definition at line 541 of file TetrahedronFEMForceField.inl.
References sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::_materialsStiffnesses, sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::_strainDisplacements, and sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::computeForce().
Referenced by sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::addDForce().
| void sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::computeForce | ( | Displacement & | F, | |
| const Displacement & | Depl, | |||
| const MaterialStiffness & | K, | |||
| const StrainDisplacement & | J, | |||
| double | fact | |||
| ) | [inline, protected] |
Definition at line 322 of file TetrahedronFEMForceField.inl.
| void sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::computeForce | ( | Displacement & | F, | |
| const Displacement & | Depl, | |||
| const MaterialStiffness & | K, | |||
| const StrainDisplacement & | J | |||
| ) | [inline, protected] |
Definition at line 217 of file TetrahedronFEMForceField.inl.
Referenced by sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::accumulateForceLarge(), sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::accumulateForcePolar(), sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::accumulateForceSmall(), sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::applyStiffnessLarge(), sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::applyStiffnessPolar(), and sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::applyStiffnessSmall().
| void sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::computeMaterialStiffness | ( | int | i, | |
| Index & | a, | |||
| Index & | b, | |||
| Index & | c, | |||
| Index & | d | |||
| ) | [inline, protected] |
Definition at line 170 of file TetrahedronFEMForceField.inl.
References sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::_indexedElements, sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::_initialPoints, sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::_localStiffnessFactor, sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::_materialsStiffnesses, sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::_poissonRatio, sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::_youngModulus, cross(), and dot().
Referenced by sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::reinit().
| void sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::computeRotationLarge | ( | Transformation & | r, | |
| const Vector & | p, | |||
| const Index & | a, | |||
| const Index & | b, | |||
| const Index & | c | |||
| ) | [inline, protected] |
Definition at line 575 of file TetrahedronFEMForceField.inl.
References cross().
Referenced by sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::accumulateForceLarge(), and sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::initLarge().
| void sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::computeStiffnessMatrix | ( | StiffnessMatrix & | S, | |
| StiffnessMatrix & | SR, | |||
| const MaterialStiffness & | K, | |||
| const StrainDisplacement & | J, | |||
| const Transformation & | Rot | |||
| ) | [inline, protected] |
Definition at line 147 of file TetrahedronFEMForceField.inl.
References sofa::defaulttype::Mat< L, C, real >::clear(), and sofa::defaulttype::Mat< L, C, real >::transpose().
Referenced by sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::accumulateForceLarge(), sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::accumulateForceSmall(), and sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::addKToMatrix().
| void sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::computeStrainDisplacement | ( | StrainDisplacement & | J, | |
| Coord | a, | |||
| Coord | b, | |||
| Coord | c, | |||
| Coord | d | |||
| ) | [inline, protected] |
Definition at line 60 of file TetrahedronFEMForceField.inl.
References sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::peudo_determinant_for_coef().
Referenced by sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::accumulateForcePolar(), sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::initLarge(), sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::initPolar(), and sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::initSmall().
| void sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::draw | ( | ) | [inline, virtual] |
Render internal data of this object, for debugging purposes.
Reimplemented from sofa::core::objectmodel::BaseObject.
Definition at line 1309 of file TetrahedronFEMForceField.inl.
References sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::_indexedElements, sofa::core::objectmodel::BaseObject::getContext(), sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::getRotation(), sofa::core::componentmodel::behavior::MechanicalState< TDataTypes >::getX(), sofa::helper::gl::glVertexT(), and sofa::core::componentmodel::behavior::ForceField< DataTypes >::mstate.
| double sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::getPotentialEnergy | ( | const VecCoord & | x | ) | [inline, virtual] |
Get the potential energy associated to this ForceField.
Used to extimate the total energy of the system by some post-stabilization techniques.
This method must be implemented by the component, and is usually called by the generic ForceField::getPotentialEnergy() method.
Implements sofa::core::componentmodel::behavior::ForceField< DataTypes >.
Definition at line 1298 of file TetrahedronFEMForceField.inl.
| void sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::getRotation | ( | Transformation & | R, | |
| unsigned int | nodeIdx | |||
| ) | [inline] |
Definition at line 606 of file TetrahedronFEMForceField.inl.
References sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::_initialRotations, sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::_rotationIdx, and sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::_rotations.
Referenced by sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::draw(), sofa::component::constraint::PrecomputedConstraintCorrection< TDataTypes >::rotateConstraints(), and sofa::component::constraint::PrecomputedConstraintCorrection< TDataTypes >::rotateResponse().
| void sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::handleTopologyChange | ( | ) | [inline, protected, virtual] |
Handle topological Changes.
Reimplemented from sofa::core::objectmodel::BaseObject.
Definition at line 257 of file TetrahedronFEMForceField.h.
References sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::needUpdateTopology.
| void sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::init | ( | void | ) | [inline, virtual] |
Initialization method called at graph modification, during bottom-up traversal.
Reimplemented from sofa::core::objectmodel::BaseObject.
Definition at line 988 of file TetrahedronFEMForceField.inl.
References sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::_indexedElements, sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::_mesh, sofa::core::objectmodel::DataPtr< T >::beginEdit(), sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::f_assembling, sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::f_initialPoints, sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::f_localStiffnessFactor, sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::f_poissonRatio, sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::f_updateStiffnessMatrix, sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::f_youngModulus, sofa::core::objectmodel::BaseObject::getContext(), sofa::core::componentmodel::topology::BaseMeshTopology::getHexa(), sofa::core::objectmodel::BaseContext::getMeshTopology(), sofa::core::componentmodel::topology::BaseMeshTopology::getNbHexas(), sofa::component::topology::GridTopology::getNx(), sofa::component::topology::GridTopology::getNy(), sofa::component::topology::GridTopology::getNz(), sofa::core::componentmodel::topology::BaseMeshTopology::getTetras(), and sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::reinit().
| void sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::initLarge | ( | int | i, | |
| Index & | a, | |||
| Index & | b, | |||
| Index & | c, | |||
| Index & | d | |||
| ) | [inline, protected] |
Definition at line 625 of file TetrahedronFEMForceField.inl.
References sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::_initialPoints, sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::_initialRotations, sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::_rotatedInitialElements, sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::_rotationIdx, sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::_strainDisplacements, sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::computeRotationLarge(), and sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::computeStrainDisplacement().
Referenced by sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::reinit().
| void sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::initPolar | ( | int | i, | |
| Index & | a, | |||
| Index & | b, | |||
| Index & | c, | |||
| Index & | d | |||
| ) | [inline, protected] |
Definition at line 837 of file TetrahedronFEMForceField.inl.
References sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::_initialPoints, sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::_initialRotations, sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::_initialTransformation, sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::_rotatedInitialElements, sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::_rotationIdx, sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::_strainDisplacements, sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::computeStrainDisplacement(), and sofa::helper::polar_decomp().
Referenced by sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::reinit().
| void sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::initSmall | ( | int | i, | |
| Index & | a, | |||
| Index & | b, | |||
| Index & | c, | |||
| Index & | d | |||
| ) | [inline, protected] |
Definition at line 434 of file TetrahedronFEMForceField.inl.
References sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::_initialPoints, sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::_strainDisplacements, and sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::computeStrainDisplacement().
Referenced by sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::reinit().
| void sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::parse | ( | core::objectmodel::BaseObjectDescription * | arg | ) | [inline, virtual] |
Parse the given description to assign values to this object's fields and potentially other parameters.
Reimplemented from sofa::core::objectmodel::Base.
Definition at line 981 of file TetrahedronFEMForceField.inl.
References sofa::core::objectmodel::BaseObjectDescription::getAttribute(), and sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::setComputeGlobalMatrix().
| TetrahedronFEMForceField< DataTypes >::Real sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::peudo_determinant_for_coef | ( | const Mat< 2, 3, Real > & | M | ) | [inline, protected] |
Definition at line 141 of file TetrahedronFEMForceField.inl.
Referenced by sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::computeStrainDisplacement().
| void sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::reinit | ( | ) | [inline, virtual] |
Update method called when variables used in precomputation are modified.
Reimplemented from sofa::core::objectmodel::BaseObject.
Definition at line 1131 of file TetrahedronFEMForceField.inl.
References sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::_assembling, sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::_indexedElements, sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::_initialPoints, sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::_initialRotations, sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::_initialTransformation, sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::_materialsStiffnesses, sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::_rotatedInitialElements, sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::_rotationIdx, sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::_rotations, sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::_stiffnesses, sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::_strainDisplacements, sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::computeMaterialStiffness(), sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::f_initialPoints, sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::f_method, sofa::core::objectmodel::Data< T >::getValue(), sofa::core::componentmodel::behavior::MechanicalState< TDataTypes >::getX0(), sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::initLarge(), sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::initPolar(), sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::initSmall(), sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::LARGE, sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::method, sofa::core::componentmodel::behavior::ForceField< DataTypes >::mstate, sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::POLAR, sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::setMethod(), and sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::SMALL.
Referenced by sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::addForce(), and sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::init().
| void sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::setComputeGlobalMatrix | ( | bool | val | ) | [inline] |
Definition at line 209 of file TetrahedronFEMForceField.h.
References sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::f_assembling, and sofa::core::objectmodel::DataPtr< T >::setValue().
Referenced by main(), and sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::parse().
| void sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::setMethod | ( | int | val | ) | [inline] |
Definition at line 196 of file TetrahedronFEMForceField.h.
References sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::f_method, sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::method, sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::POLAR, sofa::core::objectmodel::Data< T >::setValue(), and sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::SMALL.
| void sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::setMethod | ( | std::string | methodName | ) | [inline] |
Definition at line 184 of file TetrahedronFEMForceField.h.
References sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::LARGE, sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::POLAR, and sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::SMALL.
Referenced by main(), and sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::reinit().
| void sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::setPoissonRatio | ( | Real | val | ) | [inline] |
Definition at line 180 of file TetrahedronFEMForceField.h.
References sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::f_poissonRatio.
Referenced by main().
| void sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::setUpdateStiffnessMatrix | ( | bool | val | ) | [inline] |
Definition at line 207 of file TetrahedronFEMForceField.h.
References sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::f_updateStiffnessMatrix, and sofa::core::objectmodel::DataPtr< T >::setValue().
Referenced by main().
| void sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::setYoungModulus | ( | Real | val | ) | [inline] |
Definition at line 182 of file TetrahedronFEMForceField.h.
References sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::f_youngModulus.
Referenced by main().
friend class TetrahedronFEMForceFieldInternalData< DataTypes > [friend] |
Definition at line 140 of file TetrahedronFEMForceField.h.
| bool sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::_assembling |
Definition at line 158 of file TetrahedronFEMForceField.h.
Referenced by sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::accumulateForceLarge(), sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::accumulateForcePolar(), sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::accumulateForceSmall(), and sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::reinit().
const VecElement* sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::_indexedElements [protected] |
Definition at line 134 of file TetrahedronFEMForceField.h.
Referenced by sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::addDForce(), sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::addForce(), sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::addKToMatrix(), sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::computeMaterialStiffness(), sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::draw(), sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::init(), and sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::reinit().
VecCoord sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::_initialPoints [protected] |
the intial positions of the points
Definition at line 135 of file TetrahedronFEMForceField.h.
Referenced by sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::accumulateForceSmall(), sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::computeMaterialStiffness(), sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::initLarge(), sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::initPolar(), sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::initSmall(), and sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::reinit().
vector<Transformation> sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::_initialRotations [protected] |
Definition at line 244 of file TetrahedronFEMForceField.h.
Referenced by sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::getRotation(), sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::initLarge(), sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::initPolar(), and sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::reinit().
vector<Transformation> sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::_initialTransformation [protected] |
Definition at line 251 of file TetrahedronFEMForceField.h.
Referenced by sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::initPolar(), and sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::reinit().
| VecReal sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::_localStiffnessFactor |
Definition at line 154 of file TetrahedronFEMForceField.h.
Referenced by sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::computeMaterialStiffness().
VecMaterialStiffness sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::_materialsStiffnesses [protected] |
Vector of material stiffness matrices of each tetrahedron.
Definition at line 118 of file TetrahedronFEMForceField.h.
Referenced by sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::accumulateForceLarge(), sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::accumulateForcePolar(), sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::accumulateForceSmall(), sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::addKToMatrix(), sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::applyStiffnessLarge(), sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::applyStiffnessPolar(), sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::applyStiffnessSmall(), sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::computeMaterialStiffness(), and sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::reinit().
core::componentmodel::topology::BaseMeshTopology* sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::_mesh [protected] |
Definition at line 133 of file TetrahedronFEMForceField.h.
Referenced by sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::init().
| Real sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::_poissonRatio |
Definition at line 150 of file TetrahedronFEMForceField.h.
Referenced by sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::computeMaterialStiffness().
vector<helper::fixed_array<Coord,4> > sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::_rotatedInitialElements [protected] |
The initials positions in its frame.
Definition at line 242 of file TetrahedronFEMForceField.h.
Referenced by sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::accumulateForceLarge(), sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::accumulateForcePolar(), sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::initLarge(), sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::initPolar(), and sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::reinit().
vector<unsigned int> sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::_rotationIdx [protected] |
Definition at line 252 of file TetrahedronFEMForceField.h.
Referenced by sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::getRotation(), sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::initLarge(), sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::initPolar(), and sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::reinit().
vector<Transformation> sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::_rotations [protected] |
Definition at line 243 of file TetrahedronFEMForceField.h.
Referenced by sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::accumulateForceLarge(), sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::accumulateForcePolar(), sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::addKToMatrix(), sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::applyStiffnessLarge(), sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::applyStiffnessPolar(), sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::getRotation(), and sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::reinit().
CompressedMatrix sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::_stiffnesses [protected] |
Definition at line 128 of file TetrahedronFEMForceField.h.
Referenced by sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::accumulateForceLarge(), sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::accumulateForceSmall(), and sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::reinit().
VecStrainDisplacement sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::_strainDisplacements [protected] |
the strain-displacement matrices vector
Definition at line 119 of file TetrahedronFEMForceField.h.
Referenced by sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::accumulateForceLarge(), sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::accumulateForcePolar(), sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::accumulateForceSmall(), sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::addKToMatrix(), sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::applyStiffnessLarge(), sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::applyStiffnessPolar(), sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::applyStiffnessSmall(), sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::initLarge(), sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::initPolar(), sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::initSmall(), and sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::reinit().
| bool sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::_updateStiffnessMatrix |
| Real sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::_youngModulus |
Definition at line 152 of file TetrahedronFEMForceField.h.
Referenced by sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::computeMaterialStiffness().
TetrahedronFEMForceFieldInternalData<DataTypes> sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::data [protected] |
Definition at line 139 of file TetrahedronFEMForceField.h.
| DataPtr<bool> sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::f_assembling |
Definition at line 159 of file TetrahedronFEMForceField.h.
Referenced by sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::init(), and sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::setComputeGlobalMatrix().
| DataPtr< VecCoord > sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::f_initialPoints |
the intial positions of the points
Definition at line 147 of file TetrahedronFEMForceField.h.
Referenced by sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::init(), and sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::reinit().
| DataPtr<VecReal> sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::f_localStiffnessFactor |
Definition at line 155 of file TetrahedronFEMForceField.h.
Referenced by sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::init().
| Data<std::string> sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::f_method |
the computation method of the displacements
Definition at line 149 of file TetrahedronFEMForceField.h.
Referenced by sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::reinit(), and sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::setMethod().
| DataPtr<Real> sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::f_poissonRatio |
Definition at line 151 of file TetrahedronFEMForceField.h.
Referenced by sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::init(), and sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::setPoissonRatio().
| DataPtr<bool> sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::f_updateStiffnessMatrix |
Definition at line 157 of file TetrahedronFEMForceField.h.
Referenced by sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::init(), and sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::setUpdateStiffnessMatrix().
| DataPtr<Real> sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::f_youngModulus |
Definition at line 153 of file TetrahedronFEMForceField.h.
Referenced by sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::init(), and sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::setYoungModulus().
SReal sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::m_potentialEnergy [protected] |
Definition at line 131 of file TetrahedronFEMForceField.h.
| int sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::method |
Definition at line 148 of file TetrahedronFEMForceField.h.
Referenced by sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::addDForce(), sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::addForce(), sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::addKToMatrix(), sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::reinit(), and sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::setMethod().
bool sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::needUpdateTopology [protected] |
Definition at line 137 of file TetrahedronFEMForceField.h.
Referenced by sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::addForce(), and sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::handleTopologyChange().
1.5.7.1