#include <TriangleFEMForceField.h>


Public Types | |
| typedef core::componentmodel::behavior::ForceField < DataTypes > | Inherited |
| typedef DataTypes::VecCoord | VecCoord |
| typedef DataTypes::VecDeriv | VecDeriv |
| typedef DataTypes::Coord | Coord |
| typedef DataTypes::Deriv | Deriv |
| typedef Coord::value_type | Real |
| typedef sofa::core::componentmodel::topology::BaseMeshTopology::index_type | Index |
| typedef sofa::core::componentmodel::topology::BaseMeshTopology::Triangle | Element |
| typedef sofa::core::componentmodel::topology::BaseMeshTopology::SeqTriangles | VecElement |
Public Member Functions | |
| TriangleFEMForceField () | |
| virtual | ~TriangleFEMForceField () |
| 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) |
| 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. | |
| void | draw () |
| Render internal data of this object, for debugging purposes. | |
| Real | getPoisson () |
| void | setPoisson (Real val) |
| Real | getYoung () |
| void | setYoung (Real val) |
| Real | getDamping () |
| void | setDamping (Real val) |
| int | getMethod () |
| void | setMethod (int val) |
Data Fields | |
| int | method |
| Data< std::string > | f_method |
| Data< Real > | f_poisson |
| Data< Real > | f_young |
| Data< Real > | f_damping |
Static Public Attributes | |
| static const int | SMALL = 1 |
| Symbol of small displacements triangle solver. | |
| static const int | LARGE = 0 |
| Symbol of large displacements triangle solver. | |
Protected Types | |
| typedef Vec< 6, Real > | Displacement |
| the displacement vector | |
| typedef Mat< 3, 3, Real > | MaterialStiffness |
| the matrix of material stiffness | |
| typedef sofa::helper::vector < MaterialStiffness > | VecMaterialStiffness |
| a vector of material stiffness matrices | |
| typedef Mat< 6, 3, Real > | StrainDisplacement |
| the strain-displacement matrix | |
| typedef sofa::helper::vector < StrainDisplacement > | VecStrainDisplacement |
| a vector of strain-displacement matrices | |
| typedef Mat< 3, 3, Real > | Transformation |
| matrix for rigid transformations like rotations | |
Protected Member Functions | |
| virtual void | applyStiffness (VecCoord &f, Real h, const VecCoord &x) |
| f += Kx where K is the stiffness matrix and x a displacement | |
| void | computeStrainDisplacement (StrainDisplacement &J, Coord a, Coord b, Coord c) |
| void | computeMaterialStiffnesses () |
| void | computeForce (Displacement &F, const Displacement &Depl, const MaterialStiffness &K, const StrainDisplacement &J) |
| void | initSmall () |
| void | accumulateForceSmall (VecCoord &f, const VecCoord &p, Index elementIndex, bool implicit=false) |
| void | accumulateDampingSmall (VecCoord &f, Index elementIndex) |
| void | applyStiffnessSmall (VecCoord &f, Real h, const VecCoord &x) |
| void | initLarge () |
| void | computeRotationLarge (Transformation &r, const VecCoord &p, const Index &a, const Index &b, const Index &c) |
| void | accumulateForceLarge (VecCoord &f, const VecCoord &p, Index elementIndex, bool implicit=false) |
| void | accumulateDampingLarge (VecCoord &f, Index elementIndex) |
| void | applyStiffnessLarge (VecCoord &f, Real h, const VecCoord &x) |
Protected Attributes | |
| VecMaterialStiffness | _materialsStiffnesses |
| the material stiffness matrices vector | |
| VecStrainDisplacement | _strainDisplacements |
| the strain-displacement matrices vector | |
| sofa::core::componentmodel::topology::BaseMeshTopology * | _mesh |
| const VecElement * | _indexedElements |
| Data< VecCoord > | _initialPoints |
| the intial positions of the points | |
| sofa::helper::vector < helper::fixed_array< Coord, 3 > > | _rotatedInitialElements |
| The initials positions in its frame. | |
| sofa::helper::vector < Transformation > | _rotations |
Definition at line 65 of file TriangleFEMForceField.h.
| typedef DataTypes::Coord sofa::component::forcefield::TriangleFEMForceField< DataTypes >::Coord |
Reimplemented from sofa::core::componentmodel::behavior::ForceField< DataTypes >.
Definition at line 71 of file TriangleFEMForceField.h.
| typedef DataTypes::Deriv sofa::component::forcefield::TriangleFEMForceField< DataTypes >::Deriv |
Reimplemented from sofa::core::componentmodel::behavior::ForceField< DataTypes >.
Definition at line 72 of file TriangleFEMForceField.h.
typedef Vec<6, Real> sofa::component::forcefield::TriangleFEMForceField< DataTypes >::Displacement [protected] |
| typedef sofa::core::componentmodel::topology::BaseMeshTopology::Triangle sofa::component::forcefield::TriangleFEMForceField< DataTypes >::Element |
Definition at line 76 of file TriangleFEMForceField.h.
| typedef sofa::core::componentmodel::topology::BaseMeshTopology::index_type sofa::component::forcefield::TriangleFEMForceField< DataTypes >::Index |
Definition at line 75 of file TriangleFEMForceField.h.
| typedef core::componentmodel::behavior::ForceField<DataTypes> sofa::component::forcefield::TriangleFEMForceField< DataTypes >::Inherited |
Definition at line 68 of file TriangleFEMForceField.h.
typedef Mat<3, 3, Real> sofa::component::forcefield::TriangleFEMForceField< DataTypes >::MaterialStiffness [protected] |
| typedef Coord::value_type sofa::component::forcefield::TriangleFEMForceField< DataTypes >::Real |
Definition at line 73 of file TriangleFEMForceField.h.
typedef Mat<6, 3, Real> sofa::component::forcefield::TriangleFEMForceField< DataTypes >::StrainDisplacement [protected] |
typedef Mat<3, 3, Real > sofa::component::forcefield::TriangleFEMForceField< DataTypes >::Transformation [protected] |
matrix for rigid transformations like rotations
Definition at line 95 of file TriangleFEMForceField.h.
| typedef DataTypes::VecCoord sofa::component::forcefield::TriangleFEMForceField< DataTypes >::VecCoord |
Reimplemented from sofa::core::componentmodel::behavior::ForceField< DataTypes >.
Definition at line 69 of file TriangleFEMForceField.h.
| typedef DataTypes::VecDeriv sofa::component::forcefield::TriangleFEMForceField< DataTypes >::VecDeriv |
Reimplemented from sofa::core::componentmodel::behavior::ForceField< DataTypes >.
Definition at line 70 of file TriangleFEMForceField.h.
| typedef sofa::core::componentmodel::topology::BaseMeshTopology::SeqTriangles sofa::component::forcefield::TriangleFEMForceField< DataTypes >::VecElement |
Definition at line 77 of file TriangleFEMForceField.h.
typedef sofa::helper::vector<MaterialStiffness> sofa::component::forcefield::TriangleFEMForceField< DataTypes >::VecMaterialStiffness [protected] |
typedef sofa::helper::vector<StrainDisplacement> sofa::component::forcefield::TriangleFEMForceField< DataTypes >::VecStrainDisplacement [protected] |
| sofa::component::forcefield::TriangleFEMForceField< DataTypes >::TriangleFEMForceField | ( | ) | [inline] |
Definition at line 59 of file TriangleFEMForceField.cpp.
| sofa::component::forcefield::TriangleFEMForceField< DataTypes >::~TriangleFEMForceField | ( | ) | [inline, virtual] |
Definition at line 71 of file TriangleFEMForceField.cpp.
| void sofa::component::forcefield::TriangleFEMForceField< DataTypes >::accumulateDampingLarge | ( | VecCoord & | f, | |
| Index | elementIndex | |||
| ) | [inline, protected] |
Definition at line 593 of file TriangleFEMForceField.cpp.
Referenced by sofa::component::forcefield::TriangleFEMForceField< DataTypes >::addForce().
| void sofa::component::forcefield::TriangleFEMForceField< DataTypes >::accumulateDampingSmall | ( | VecCoord & | f, | |
| Index | elementIndex | |||
| ) | [inline, protected] |
Definition at line 407 of file TriangleFEMForceField.cpp.
Referenced by sofa::component::forcefield::TriangleFEMForceField< DataTypes >::addForce().
| void sofa::component::forcefield::TriangleFEMForceField< DataTypes >::accumulateForceLarge | ( | VecCoord & | f, | |
| const VecCoord & | p, | |||
| Index | elementIndex, | |||
| bool | implicit = false | |||
| ) | [inline, protected] |
Definition at line 535 of file TriangleFEMForceField.cpp.
References sofa::component::forcefield::TriangleFEMForceField< DataTypes >::_materialsStiffnesses, sofa::component::forcefield::TriangleFEMForceField< DataTypes >::_rotatedInitialElements, sofa::component::forcefield::TriangleFEMForceField< DataTypes >::_rotations, sofa::component::forcefield::TriangleFEMForceField< DataTypes >::_strainDisplacements, sofa::component::forcefield::TriangleFEMForceField< DataTypes >::computeForce(), sofa::component::forcefield::TriangleFEMForceField< DataTypes >::computeRotationLarge(), and sofa::component::forcefield::TriangleFEMForceField< DataTypes >::computeStrainDisplacement().
Referenced by sofa::component::forcefield::TriangleFEMForceField< DataTypes >::addForce().
| void sofa::component::forcefield::TriangleFEMForceField< DataTypes >::accumulateForceSmall | ( | VecCoord & | f, | |
| const VecCoord & | p, | |||
| Index | elementIndex, | |||
| bool | implicit = false | |||
| ) | [inline, protected] |
Definition at line 365 of file TriangleFEMForceField.cpp.
References sofa::component::forcefield::TriangleFEMForceField< DataTypes >::_initialPoints, sofa::component::forcefield::TriangleFEMForceField< DataTypes >::_materialsStiffnesses, sofa::component::forcefield::TriangleFEMForceField< DataTypes >::_strainDisplacements, sofa::component::forcefield::TriangleFEMForceField< DataTypes >::computeForce(), and sofa::component::forcefield::TriangleFEMForceField< DataTypes >::computeStrainDisplacement().
Referenced by sofa::component::forcefield::TriangleFEMForceField< DataTypes >::addForce().
| void sofa::component::forcefield::TriangleFEMForceField< DataTypes >::addDForce | ( | VecDeriv & | df, | |
| const VecDeriv & | dx | |||
| ) | [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 += K dx $
This method must be implemented by the component, and is usually called by the generic ForceField::addDForce() method.
Reimplemented from sofa::core::componentmodel::behavior::ForceField< DataTypes >.
Definition at line 194 of file TriangleFEMForceField.cpp.
References sofa::component::forcefield::TriangleFEMForceField< DataTypes >::applyStiffnessLarge(), sofa::component::forcefield::TriangleFEMForceField< DataTypes >::applyStiffnessSmall(), sofa::component::forcefield::TriangleFEMForceField< DataTypes >::method, and sofa::component::forcefield::TriangleFEMForceField< DataTypes >::SMALL.
| void sofa::component::forcefield::TriangleFEMForceField< 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 144 of file TriangleFEMForceField.cpp.
References sofa::component::forcefield::TriangleFEMForceField< DataTypes >::_indexedElements, sofa::component::forcefield::TriangleFEMForceField< DataTypes >::accumulateDampingLarge(), sofa::component::forcefield::TriangleFEMForceField< DataTypes >::accumulateDampingSmall(), sofa::component::forcefield::TriangleFEMForceField< DataTypes >::accumulateForceLarge(), sofa::component::forcefield::TriangleFEMForceField< DataTypes >::accumulateForceSmall(), sofa::component::forcefield::TriangleFEMForceField< DataTypes >::f_damping, sofa::core::objectmodel::Data< T >::getValue(), sofa::component::forcefield::TriangleFEMForceField< DataTypes >::method, and sofa::component::forcefield::TriangleFEMForceField< DataTypes >::SMALL.
| void sofa::component::forcefield::TriangleFEMForceField< DataTypes >::applyStiffness | ( | VecCoord & | f, | |
| Real | h, | |||
| const VecCoord & | x | |||
| ) | [inline, protected, virtual] |
f += Kx where K is the stiffness matrix and x a displacement
Definition at line 217 of file TriangleFEMForceField.cpp.
References sofa::component::forcefield::TriangleFEMForceField< DataTypes >::applyStiffnessLarge(), sofa::component::forcefield::TriangleFEMForceField< DataTypes >::applyStiffnessSmall(), sofa::component::forcefield::TriangleFEMForceField< DataTypes >::method, and sofa::component::forcefield::TriangleFEMForceField< DataTypes >::SMALL.
| void sofa::component::forcefield::TriangleFEMForceField< DataTypes >::applyStiffnessLarge | ( | VecCoord & | f, | |
| Real | h, | |||
| const VecCoord & | x | |||
| ) | [inline, protected] |
Definition at line 604 of file TriangleFEMForceField.cpp.
References sofa::component::forcefield::TriangleFEMForceField< DataTypes >::_indexedElements, sofa::component::forcefield::TriangleFEMForceField< DataTypes >::_materialsStiffnesses, sofa::component::forcefield::TriangleFEMForceField< DataTypes >::_rotations, sofa::component::forcefield::TriangleFEMForceField< DataTypes >::_strainDisplacements, and sofa::component::forcefield::TriangleFEMForceField< DataTypes >::computeForce().
Referenced by sofa::component::forcefield::TriangleFEMForceField< DataTypes >::addDForce(), and sofa::component::forcefield::TriangleFEMForceField< DataTypes >::applyStiffness().
| void sofa::component::forcefield::TriangleFEMForceField< DataTypes >::applyStiffnessSmall | ( | VecCoord & | f, | |
| Real | h, | |||
| const VecCoord & | x | |||
| ) | [inline, protected] |
Definition at line 418 of file TriangleFEMForceField.cpp.
References sofa::component::forcefield::TriangleFEMForceField< DataTypes >::_indexedElements, sofa::component::forcefield::TriangleFEMForceField< DataTypes >::_materialsStiffnesses, sofa::component::forcefield::TriangleFEMForceField< DataTypes >::_strainDisplacements, and sofa::component::forcefield::TriangleFEMForceField< DataTypes >::computeForce().
Referenced by sofa::component::forcefield::TriangleFEMForceField< DataTypes >::addDForce(), and sofa::component::forcefield::TriangleFEMForceField< DataTypes >::applyStiffness().
| void sofa::component::forcefield::TriangleFEMForceField< DataTypes >::computeForce | ( | Displacement & | F, | |
| const Displacement & | Depl, | |||
| const MaterialStiffness & | K, | |||
| const StrainDisplacement & | J | |||
| ) | [inline, protected] |
Definition at line 273 of file TriangleFEMForceField.cpp.
References sofa::defaulttype::Mat< L, C, real >::transpose().
Referenced by sofa::component::forcefield::TriangleFEMForceField< DataTypes >::accumulateForceLarge(), sofa::component::forcefield::TriangleFEMForceField< DataTypes >::accumulateForceSmall(), sofa::component::forcefield::TriangleFEMForceField< DataTypes >::applyStiffnessLarge(), and sofa::component::forcefield::TriangleFEMForceField< DataTypes >::applyStiffnessSmall().
| void sofa::component::forcefield::TriangleFEMForceField< DataTypes >::computeMaterialStiffnesses | ( | ) | [inline, protected] |
Definition at line 251 of file TriangleFEMForceField.cpp.
References sofa::component::forcefield::TriangleFEMForceField< DataTypes >::_indexedElements, sofa::component::forcefield::TriangleFEMForceField< DataTypes >::_materialsStiffnesses, sofa::component::forcefield::TriangleFEMForceField< DataTypes >::f_poisson, sofa::component::forcefield::TriangleFEMForceField< DataTypes >::f_young, and sofa::core::objectmodel::Data< T >::getValue().
Referenced by sofa::component::forcefield::TriangleFEMForceField< DataTypes >::init(), and sofa::component::forcefield::TriangleFEMForceField< DataTypes >::reinit().
| void sofa::component::forcefield::TriangleFEMForceField< DataTypes >::computeRotationLarge | ( | Transformation & | r, | |
| const VecCoord & | p, | |||
| const Index & | a, | |||
| const Index & | b, | |||
| const Index & | c | |||
| ) | [inline, protected] |
Definition at line 498 of file TriangleFEMForceField.cpp.
References cross().
Referenced by sofa::component::forcefield::TriangleFEMForceField< DataTypes >::accumulateForceLarge(), and sofa::component::forcefield::TriangleFEMForceField< DataTypes >::initLarge().
| void sofa::component::forcefield::TriangleFEMForceField< DataTypes >::computeStrainDisplacement | ( | StrainDisplacement & | J, | |
| Coord | a, | |||
| Coord | b, | |||
| Coord | c | |||
| ) | [inline, protected] |
Definition at line 231 of file TriangleFEMForceField.cpp.
References sofa::defaulttype::determinant().
Referenced by sofa::component::forcefield::TriangleFEMForceField< DataTypes >::accumulateForceLarge(), and sofa::component::forcefield::TriangleFEMForceField< DataTypes >::accumulateForceSmall().
| void sofa::component::forcefield::TriangleFEMForceField< DataTypes >::draw | ( | ) | [inline, virtual] |
Render internal data of this object, for debugging purposes.
Reimplemented from sofa::core::objectmodel::BaseObject.
Definition at line 649 of file TriangleFEMForceField.cpp.
References sofa::component::forcefield::TriangleFEMForceField< DataTypes >::_indexedElements, sofa::core::objectmodel::BaseObject::getContext(), sofa::core::componentmodel::behavior::MechanicalState< TDataTypes >::getX(), sofa::helper::gl::glVertexT(), and sofa::core::componentmodel::behavior::ForceField< DataTypes >::mstate.
| Real sofa::component::forcefield::TriangleFEMForceField< DataTypes >::getDamping | ( | ) | [inline] |
Definition at line 136 of file TriangleFEMForceField.h.
References sofa::component::forcefield::TriangleFEMForceField< DataTypes >::f_damping, and sofa::core::objectmodel::Data< T >::getValue().
| int sofa::component::forcefield::TriangleFEMForceField< DataTypes >::getMethod | ( | ) | [inline] |
Definition at line 138 of file TriangleFEMForceField.h.
References sofa::component::forcefield::TriangleFEMForceField< DataTypes >::method.
| Real sofa::component::forcefield::TriangleFEMForceField< DataTypes >::getPoisson | ( | ) | [inline] |
Definition at line 132 of file TriangleFEMForceField.h.
References sofa::component::forcefield::TriangleFEMForceField< DataTypes >::f_poisson, and sofa::core::objectmodel::Data< T >::getValue().
| double sofa::component::forcefield::TriangleFEMForceField< 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 210 of file TriangleFEMForceField.cpp.
| Real sofa::component::forcefield::TriangleFEMForceField< DataTypes >::getYoung | ( | ) | [inline] |
Definition at line 134 of file TriangleFEMForceField.h.
References sofa::component::forcefield::TriangleFEMForceField< DataTypes >::f_young, and sofa::core::objectmodel::Data< T >::getValue().
| void sofa::component::forcefield::TriangleFEMForceField< DataTypes >::init | ( | void | ) | [inline, virtual] |
Initialization method called at graph modification, during bottom-up traversal.
Reimplemented from sofa::core::objectmodel::BaseObject.
Definition at line 77 of file TriangleFEMForceField.cpp.
References sofa::component::forcefield::TriangleFEMForceField< DataTypes >::_indexedElements, sofa::component::forcefield::TriangleFEMForceField< DataTypes >::_initialPoints, sofa::component::forcefield::TriangleFEMForceField< DataTypes >::_mesh, sofa::component::forcefield::TriangleFEMForceField< DataTypes >::_rotations, sofa::component::forcefield::TriangleFEMForceField< DataTypes >::_strainDisplacements, sofa::component::forcefield::TriangleFEMForceField< DataTypes >::computeMaterialStiffnesses(), sofa::component::forcefield::TriangleFEMForceField< DataTypes >::f_method, sofa::core::objectmodel::BaseObject::getContext(), sofa::core::objectmodel::BaseContext::getMeshTopology(), sofa::core::objectmodel::Base::getName(), sofa::core::componentmodel::topology::BaseMeshTopology::getNbQuads(), sofa::core::componentmodel::topology::BaseMeshTopology::getQuad(), sofa::core::componentmodel::topology::BaseMeshTopology::getTriangles(), sofa::core::objectmodel::Data< T >::getValue(), sofa::core::componentmodel::behavior::MechanicalState< TDataTypes >::getX(), sofa::core::componentmodel::behavior::ForceField< DataTypes >::init(), sofa::component::forcefield::TriangleFEMForceField< DataTypes >::initLarge(), sofa::component::forcefield::TriangleFEMForceField< DataTypes >::initSmall(), sofa::component::forcefield::TriangleFEMForceField< DataTypes >::LARGE, sofa::component::forcefield::TriangleFEMForceField< DataTypes >::method, sofa::core::componentmodel::behavior::ForceField< DataTypes >::mstate, and sofa::component::forcefield::TriangleFEMForceField< DataTypes >::SMALL.
| void sofa::component::forcefield::TriangleFEMForceField< DataTypes >::initLarge | ( | ) | [inline, protected] |
Definition at line 460 of file TriangleFEMForceField.cpp.
References sofa::component::forcefield::TriangleFEMForceField< DataTypes >::_indexedElements, sofa::component::forcefield::TriangleFEMForceField< DataTypes >::_initialPoints, sofa::component::forcefield::TriangleFEMForceField< DataTypes >::_rotatedInitialElements, and sofa::component::forcefield::TriangleFEMForceField< DataTypes >::computeRotationLarge().
Referenced by sofa::component::forcefield::TriangleFEMForceField< DataTypes >::init(), and sofa::component::forcefield::TriangleFEMForceField< DataTypes >::reinit().
| void sofa::component::forcefield::TriangleFEMForceField< DataTypes >::initSmall | ( | ) | [inline, protected] |
Definition at line 354 of file TriangleFEMForceField.cpp.
Referenced by sofa::component::forcefield::TriangleFEMForceField< DataTypes >::init(), and sofa::component::forcefield::TriangleFEMForceField< DataTypes >::reinit().
| void sofa::component::forcefield::TriangleFEMForceField< DataTypes >::reinit | ( | ) | [inline, virtual] |
Update method called when variables used in precomputation are modified.
Reimplemented from sofa::core::objectmodel::BaseObject.
Definition at line 129 of file TriangleFEMForceField.cpp.
References sofa::component::forcefield::TriangleFEMForceField< DataTypes >::computeMaterialStiffnesses(), sofa::component::forcefield::TriangleFEMForceField< DataTypes >::f_method, sofa::core::objectmodel::Data< T >::getValue(), sofa::component::forcefield::TriangleFEMForceField< DataTypes >::initLarge(), sofa::component::forcefield::TriangleFEMForceField< DataTypes >::initSmall(), sofa::component::forcefield::TriangleFEMForceField< DataTypes >::LARGE, sofa::component::forcefield::TriangleFEMForceField< DataTypes >::method, and sofa::component::forcefield::TriangleFEMForceField< DataTypes >::SMALL.
| void sofa::component::forcefield::TriangleFEMForceField< DataTypes >::setDamping | ( | Real | val | ) | [inline] |
Definition at line 137 of file TriangleFEMForceField.h.
References sofa::component::forcefield::TriangleFEMForceField< DataTypes >::f_damping, and sofa::core::objectmodel::Data< T >::setValue().
| void sofa::component::forcefield::TriangleFEMForceField< DataTypes >::setMethod | ( | int | val | ) | [inline] |
Definition at line 139 of file TriangleFEMForceField.h.
References sofa::component::forcefield::TriangleFEMForceField< DataTypes >::method.
| void sofa::component::forcefield::TriangleFEMForceField< DataTypes >::setPoisson | ( | Real | val | ) | [inline] |
Definition at line 133 of file TriangleFEMForceField.h.
References sofa::component::forcefield::TriangleFEMForceField< DataTypes >::f_poisson, and sofa::core::objectmodel::Data< T >::setValue().
| void sofa::component::forcefield::TriangleFEMForceField< DataTypes >::setYoung | ( | Real | val | ) | [inline] |
Definition at line 135 of file TriangleFEMForceField.h.
References sofa::component::forcefield::TriangleFEMForceField< DataTypes >::f_young, and sofa::core::objectmodel::Data< T >::setValue().
const VecElement* sofa::component::forcefield::TriangleFEMForceField< DataTypes >::_indexedElements [protected] |
Definition at line 99 of file TriangleFEMForceField.h.
Referenced by sofa::component::forcefield::TriangleFEMForceField< DataTypes >::addForce(), sofa::component::forcefield::TriangleFEMForceField< DataTypes >::applyStiffnessLarge(), sofa::component::forcefield::TriangleFEMForceField< DataTypes >::applyStiffnessSmall(), sofa::component::forcefield::TriangleFEMForceField< DataTypes >::computeMaterialStiffnesses(), sofa::component::forcefield::TriangleFEMForceField< DataTypes >::draw(), sofa::component::forcefield::TriangleFEMForceField< DataTypes >::init(), and sofa::component::forcefield::TriangleFEMForceField< DataTypes >::initLarge().
Data< VecCoord > sofa::component::forcefield::TriangleFEMForceField< DataTypes >::_initialPoints [protected] |
the intial positions of the points
Definition at line 100 of file TriangleFEMForceField.h.
Referenced by sofa::component::forcefield::TriangleFEMForceField< DataTypes >::accumulateForceSmall(), sofa::component::forcefield::TriangleFEMForceField< DataTypes >::init(), and sofa::component::forcefield::TriangleFEMForceField< DataTypes >::initLarge().
VecMaterialStiffness sofa::component::forcefield::TriangleFEMForceField< DataTypes >::_materialsStiffnesses [protected] |
the material stiffness matrices vector
Definition at line 89 of file TriangleFEMForceField.h.
Referenced by sofa::component::forcefield::TriangleFEMForceField< DataTypes >::accumulateForceLarge(), sofa::component::forcefield::TriangleFEMForceField< DataTypes >::accumulateForceSmall(), sofa::component::forcefield::TriangleFEMForceField< DataTypes >::applyStiffnessLarge(), sofa::component::forcefield::TriangleFEMForceField< DataTypes >::applyStiffnessSmall(), and sofa::component::forcefield::TriangleFEMForceField< DataTypes >::computeMaterialStiffnesses().
sofa::core::componentmodel::topology::BaseMeshTopology* sofa::component::forcefield::TriangleFEMForceField< DataTypes >::_mesh [protected] |
Definition at line 98 of file TriangleFEMForceField.h.
Referenced by sofa::component::forcefield::TriangleFEMForceField< DataTypes >::init().
sofa::helper::vector< helper::fixed_array <Coord, 3> > sofa::component::forcefield::TriangleFEMForceField< DataTypes >::_rotatedInitialElements [protected] |
The initials positions in its frame.
Definition at line 161 of file TriangleFEMForceField.h.
Referenced by sofa::component::forcefield::TriangleFEMForceField< DataTypes >::accumulateForceLarge(), and sofa::component::forcefield::TriangleFEMForceField< DataTypes >::initLarge().
sofa::helper::vector< Transformation > sofa::component::forcefield::TriangleFEMForceField< DataTypes >::_rotations [protected] |
Definition at line 162 of file TriangleFEMForceField.h.
Referenced by sofa::component::forcefield::TriangleFEMForceField< DataTypes >::accumulateForceLarge(), sofa::component::forcefield::TriangleFEMForceField< DataTypes >::applyStiffnessLarge(), and sofa::component::forcefield::TriangleFEMForceField< DataTypes >::init().
VecStrainDisplacement sofa::component::forcefield::TriangleFEMForceField< DataTypes >::_strainDisplacements [protected] |
the strain-displacement matrices vector
Definition at line 93 of file TriangleFEMForceField.h.
Referenced by sofa::component::forcefield::TriangleFEMForceField< DataTypes >::accumulateForceLarge(), sofa::component::forcefield::TriangleFEMForceField< DataTypes >::accumulateForceSmall(), sofa::component::forcefield::TriangleFEMForceField< DataTypes >::applyStiffnessLarge(), sofa::component::forcefield::TriangleFEMForceField< DataTypes >::applyStiffnessSmall(), and sofa::component::forcefield::TriangleFEMForceField< DataTypes >::init().
| Data<Real> sofa::component::forcefield::TriangleFEMForceField< DataTypes >::f_damping |
Definition at line 130 of file TriangleFEMForceField.h.
Referenced by sofa::component::forcefield::TriangleFEMForceField< DataTypes >::addForce(), sofa::component::forcefield::TriangleFEMForceField< DataTypes >::getDamping(), and sofa::component::forcefield::TriangleFEMForceField< DataTypes >::setDamping().
| Data<std::string> sofa::component::forcefield::TriangleFEMForceField< DataTypes >::f_method |
Definition at line 127 of file TriangleFEMForceField.h.
Referenced by sofa::component::forcefield::TriangleFEMForceField< DataTypes >::init(), and sofa::component::forcefield::TriangleFEMForceField< DataTypes >::reinit().
| Data<Real> sofa::component::forcefield::TriangleFEMForceField< DataTypes >::f_poisson |
Definition at line 128 of file TriangleFEMForceField.h.
Referenced by sofa::component::forcefield::TriangleFEMForceField< DataTypes >::computeMaterialStiffnesses(), sofa::component::forcefield::TriangleFEMForceField< DataTypes >::getPoisson(), and sofa::component::forcefield::TriangleFEMForceField< DataTypes >::setPoisson().
| Data<Real> sofa::component::forcefield::TriangleFEMForceField< DataTypes >::f_young |
Definition at line 129 of file TriangleFEMForceField.h.
Referenced by sofa::component::forcefield::TriangleFEMForceField< DataTypes >::computeMaterialStiffnesses(), sofa::component::forcefield::TriangleFEMForceField< DataTypes >::getYoung(), and sofa::component::forcefield::TriangleFEMForceField< DataTypes >::setYoung().
const int sofa::component::forcefield::TriangleFEMForceField< DataTypes >::LARGE = 0 [static] |
Symbol of large displacements triangle solver.
Definition at line 80 of file TriangleFEMForceField.h.
Referenced by sofa::component::forcefield::TriangleFEMForceField< DataTypes >::init(), and sofa::component::forcefield::TriangleFEMForceField< DataTypes >::reinit().
| int sofa::component::forcefield::TriangleFEMForceField< DataTypes >::method |
Definition at line 126 of file TriangleFEMForceField.h.
Referenced by sofa::component::forcefield::TriangleFEMForceField< DataTypes >::addDForce(), sofa::component::forcefield::TriangleFEMForceField< DataTypes >::addForce(), sofa::component::forcefield::TriangleFEMForceField< DataTypes >::applyStiffness(), sofa::component::forcefield::TriangleFEMForceField< DataTypes >::getMethod(), sofa::component::forcefield::TriangleFEMForceField< DataTypes >::init(), sofa::component::forcefield::TriangleFEMForceField< DataTypes >::reinit(), and sofa::component::forcefield::TriangleFEMForceField< DataTypes >::setMethod().
const int sofa::component::forcefield::TriangleFEMForceField< DataTypes >::SMALL = 1 [static] |
Symbol of small displacements triangle solver.
Definition at line 79 of file TriangleFEMForceField.h.
Referenced by sofa::component::forcefield::TriangleFEMForceField< DataTypes >::addDForce(), sofa::component::forcefield::TriangleFEMForceField< DataTypes >::addForce(), sofa::component::forcefield::TriangleFEMForceField< DataTypes >::applyStiffness(), sofa::component::forcefield::TriangleFEMForceField< DataTypes >::init(), and sofa::component::forcefield::TriangleFEMForceField< DataTypes >::reinit().
1.5.7.1