#include <CudaTetrahedronFEMForceField.h>

Data Structures | |
| struct | GPUElement |
| Static data associated with each element. More... | |
| struct | GPUElementForce |
| Varying data associated with each element. More... | |
| struct | GPUElementState |
| Varying data associated with each element. More... | |
Public Types | |
| typedef gpu::cuda::CudaVectorTypes < TCoord, TDeriv, TReal > | DataTypes |
| typedef TetrahedronFEMForceField < DataTypes > | Main |
| typedef TetrahedronFEMForceFieldInternalData < DataTypes > | Data |
| typedef DataTypes::VecCoord | VecCoord |
| typedef DataTypes::VecDeriv | VecDeriv |
| typedef DataTypes::Coord | Coord |
| typedef DataTypes::Deriv | Deriv |
| typedef DataTypes::Real | Real |
| typedef Main::Element | Element |
| typedef Main::VecElement | VecElement |
| typedef Main::Index | Index |
| typedef Mat< 6, 6, Real > | MaterialStiffness |
| typedef Mat< 12, 6, Real > | StrainDisplacement |
| typedef gpu::cuda::CudaKernelsTetrahedronFEMForceField < DataTypes > | Kernels |
Public Member Functions | |
| TetrahedronFEMForceFieldInternalData () | |
| void | init (int nbe, int v0, int nbv, int nbelemperv) |
| int | size () const |
| void | setV (int vertex, int num, int index) |
| void | setE (int i, const Element &indices, const Coord &, const Coord &b, const Coord &c, const Coord &d, const MaterialStiffness &K, const StrainDisplacement &) |
Static Public Member Functions | |
| static void | reinit (Main *m) |
| static void | addForce (Main *m, VecDeriv &f, const VecCoord &x, const VecDeriv &) |
| static void | addDForce (Main *m, VecDeriv &df, const VecDeriv &dx, double kFactor, double bFactor) |
Data Fields | |
| gpu::cuda::CudaVector< GPUElement > | elems |
| gpu::cuda::CudaVector < GPUElementState > | state |
| gpu::cuda::CudaVector < GPUElementForce > | eforce |
| int | nbElement |
| number of elements | |
| int | vertex0 |
| index of the first vertex connected to an element | |
| int | nbVertex |
| number of vertices to process to compute all elements | |
| int | nbElementPerVertex |
| max number of elements connected to a vertex | |
| gpu::cuda::CudaVector< int > | velems |
| Index of elements attached to each points (layout per bloc of NBLOC vertices, with first element of each vertex, then second element, etc) Note that each integer is actually equat the the index of the element * 4 + the index of this vertex inside the tetrahedron. | |
Definition at line 58 of file CudaTetrahedronFEMForceField.h.
| typedef DataTypes::Coord sofa::component::forcefield::TetrahedronFEMForceFieldInternalData< gpu::cuda::CudaVectorTypes< TCoord, TDeriv, TReal > >::Coord |
Definition at line 66 of file CudaTetrahedronFEMForceField.h.
| typedef TetrahedronFEMForceFieldInternalData<DataTypes> sofa::component::forcefield::TetrahedronFEMForceFieldInternalData< gpu::cuda::CudaVectorTypes< TCoord, TDeriv, TReal > >::Data |
Definition at line 63 of file CudaTetrahedronFEMForceField.h.
| typedef gpu::cuda::CudaVectorTypes<TCoord,TDeriv,TReal> sofa::component::forcefield::TetrahedronFEMForceFieldInternalData< gpu::cuda::CudaVectorTypes< TCoord, TDeriv, TReal > >::DataTypes |
Definition at line 61 of file CudaTetrahedronFEMForceField.h.
| typedef DataTypes::Deriv sofa::component::forcefield::TetrahedronFEMForceFieldInternalData< gpu::cuda::CudaVectorTypes< TCoord, TDeriv, TReal > >::Deriv |
Definition at line 67 of file CudaTetrahedronFEMForceField.h.
| typedef Main::Element sofa::component::forcefield::TetrahedronFEMForceFieldInternalData< gpu::cuda::CudaVectorTypes< TCoord, TDeriv, TReal > >::Element |
Definition at line 70 of file CudaTetrahedronFEMForceField.h.
| typedef Main::Index sofa::component::forcefield::TetrahedronFEMForceFieldInternalData< gpu::cuda::CudaVectorTypes< TCoord, TDeriv, TReal > >::Index |
Definition at line 72 of file CudaTetrahedronFEMForceField.h.
| typedef gpu::cuda::CudaKernelsTetrahedronFEMForceField<DataTypes> sofa::component::forcefield::TetrahedronFEMForceFieldInternalData< gpu::cuda::CudaVectorTypes< TCoord, TDeriv, TReal > >::Kernels |
Definition at line 76 of file CudaTetrahedronFEMForceField.h.
| typedef TetrahedronFEMForceField<DataTypes> sofa::component::forcefield::TetrahedronFEMForceFieldInternalData< gpu::cuda::CudaVectorTypes< TCoord, TDeriv, TReal > >::Main |
Definition at line 62 of file CudaTetrahedronFEMForceField.h.
| typedef Mat<6, 6, Real> sofa::component::forcefield::TetrahedronFEMForceFieldInternalData< gpu::cuda::CudaVectorTypes< TCoord, TDeriv, TReal > >::MaterialStiffness |
Definition at line 73 of file CudaTetrahedronFEMForceField.h.
| typedef DataTypes::Real sofa::component::forcefield::TetrahedronFEMForceFieldInternalData< gpu::cuda::CudaVectorTypes< TCoord, TDeriv, TReal > >::Real |
Definition at line 68 of file CudaTetrahedronFEMForceField.h.
| typedef Mat<12, 6, Real> sofa::component::forcefield::TetrahedronFEMForceFieldInternalData< gpu::cuda::CudaVectorTypes< TCoord, TDeriv, TReal > >::StrainDisplacement |
Definition at line 74 of file CudaTetrahedronFEMForceField.h.
| typedef DataTypes::VecCoord sofa::component::forcefield::TetrahedronFEMForceFieldInternalData< gpu::cuda::CudaVectorTypes< TCoord, TDeriv, TReal > >::VecCoord |
Definition at line 64 of file CudaTetrahedronFEMForceField.h.
| typedef DataTypes::VecDeriv sofa::component::forcefield::TetrahedronFEMForceFieldInternalData< gpu::cuda::CudaVectorTypes< TCoord, TDeriv, TReal > >::VecDeriv |
Definition at line 65 of file CudaTetrahedronFEMForceField.h.
| typedef Main::VecElement sofa::component::forcefield::TetrahedronFEMForceFieldInternalData< gpu::cuda::CudaVectorTypes< TCoord, TDeriv, TReal > >::VecElement |
Definition at line 71 of file CudaTetrahedronFEMForceField.h.
| sofa::component::forcefield::TetrahedronFEMForceFieldInternalData< gpu::cuda::CudaVectorTypes< TCoord, TDeriv, TReal > >::TetrahedronFEMForceFieldInternalData | ( | ) | [inline] |
Definition at line 211 of file CudaTetrahedronFEMForceField.h.
| void sofa::component::forcefield::TetrahedronFEMForceFieldInternalData< gpu::cuda::CudaVectorTypes< TCoord, TDeriv, TReal > >::addDForce | ( | Main * | m, | |
| VecDeriv & | df, | |||
| const VecDeriv & | dx, | |||
| double | kFactor, | |||
| double | bFactor | |||
| ) | [inline, static] |
Definition at line 235 of file CudaTetrahedronFEMForceField.inl.
References sofa::helper::fixed_array< real, N >::data().
| void sofa::component::forcefield::TetrahedronFEMForceFieldInternalData< gpu::cuda::CudaVectorTypes< TCoord, TDeriv, TReal > >::addForce | ( | Main * | m, | |
| VecDeriv & | f, | |||
| const VecCoord & | x, | |||
| const VecDeriv & | v | |||
| ) | [inline, static] |
Definition at line 157 of file CudaTetrahedronFEMForceField.inl.
References sofa::defaulttype::Vec< N, real >::norm2(), and norm2().
| void sofa::component::forcefield::TetrahedronFEMForceFieldInternalData< gpu::cuda::CudaVectorTypes< TCoord, TDeriv, TReal > >::init | ( | int | nbe, | |
| int | v0, | |||
| int | nbv, | |||
| int | nbelemperv | |||
| ) | [inline] |
| void sofa::component::forcefield::TetrahedronFEMForceFieldInternalData< gpu::cuda::CudaVectorTypes< TCoord, TDeriv, TReal > >::reinit | ( | Main * | m | ) | [inline, static] |
Definition at line 85 of file CudaTetrahedronFEMForceField.inl.
| void sofa::component::forcefield::TetrahedronFEMForceFieldInternalData< gpu::cuda::CudaVectorTypes< TCoord, TDeriv, TReal > >::setE | ( | int | i, | |
| const Element & | indices, | |||
| const Coord & | , | |||
| const Coord & | b, | |||
| const Coord & | c, | |||
| const Coord & | d, | |||
| const MaterialStiffness & | K, | |||
| const StrainDisplacement & | ||||
| ) | [inline] |
| void sofa::component::forcefield::TetrahedronFEMForceFieldInternalData< gpu::cuda::CudaVectorTypes< TCoord, TDeriv, TReal > >::setV | ( | int | vertex, | |
| int | num, | |||
| int | index | |||
| ) | [inline] |
| int sofa::component::forcefield::TetrahedronFEMForceFieldInternalData< gpu::cuda::CudaVectorTypes< TCoord, TDeriv, TReal > >::size | ( | void | ) | const [inline] |
Definition at line 230 of file CudaTetrahedronFEMForceField.h.
| gpu::cuda::CudaVector<GPUElementForce> sofa::component::forcefield::TetrahedronFEMForceFieldInternalData< gpu::cuda::CudaVectorTypes< TCoord, TDeriv, TReal > >::eforce |
Definition at line 203 of file CudaTetrahedronFEMForceField.h.
| gpu::cuda::CudaVector<GPUElement> sofa::component::forcefield::TetrahedronFEMForceFieldInternalData< gpu::cuda::CudaVectorTypes< TCoord, TDeriv, TReal > >::elems |
Definition at line 183 of file CudaTetrahedronFEMForceField.h.
| int sofa::component::forcefield::TetrahedronFEMForceFieldInternalData< gpu::cuda::CudaVectorTypes< TCoord, TDeriv, TReal > >::nbElement |
| int sofa::component::forcefield::TetrahedronFEMForceFieldInternalData< gpu::cuda::CudaVectorTypes< TCoord, TDeriv, TReal > >::nbElementPerVertex |
max number of elements connected to a vertex
Definition at line 207 of file CudaTetrahedronFEMForceField.h.
| int sofa::component::forcefield::TetrahedronFEMForceFieldInternalData< gpu::cuda::CudaVectorTypes< TCoord, TDeriv, TReal > >::nbVertex |
number of vertices to process to compute all elements
Definition at line 206 of file CudaTetrahedronFEMForceField.h.
| gpu::cuda::CudaVector<GPUElementState> sofa::component::forcefield::TetrahedronFEMForceFieldInternalData< gpu::cuda::CudaVectorTypes< TCoord, TDeriv, TReal > >::state |
Definition at line 202 of file CudaTetrahedronFEMForceField.h.
| gpu::cuda::CudaVector<int> sofa::component::forcefield::TetrahedronFEMForceFieldInternalData< gpu::cuda::CudaVectorTypes< TCoord, TDeriv, TReal > >::velems |
Index of elements attached to each points (layout per bloc of NBLOC vertices, with first element of each vertex, then second element, etc) Note that each integer is actually equat the the index of the element * 4 + the index of this vertex inside the tetrahedron.
Definition at line 210 of file CudaTetrahedronFEMForceField.h.
| int sofa::component::forcefield::TetrahedronFEMForceFieldInternalData< gpu::cuda::CudaVectorTypes< TCoord, TDeriv, TReal > >::vertex0 |
index of the first vertex connected to an element
Definition at line 205 of file CudaTetrahedronFEMForceField.h.
1.5.7.1