sofa::component::forcefield::TetrahedronFEMForceFieldInternalData< gpu::cuda::CudaVectorTypes< TCoord, TDeriv, TReal > > Class Template Reference

#include <CudaTetrahedronFEMForceField.h>

Collaboration diagram for sofa::component::forcefield::TetrahedronFEMForceFieldInternalData< gpu::cuda::CudaVectorTypes< TCoord, TDeriv, TReal > >:

Collaboration graph
[legend]

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.

Detailed Description

template<class TCoord, class TDeriv, class TReal>
class sofa::component::forcefield::TetrahedronFEMForceFieldInternalData< gpu::cuda::CudaVectorTypes< TCoord, TDeriv, TReal > >

Definition at line 58 of file CudaTetrahedronFEMForceField.h.


Member Typedef Documentation

template<class TCoord , class TDeriv , class TReal >
typedef DataTypes::Coord sofa::component::forcefield::TetrahedronFEMForceFieldInternalData< gpu::cuda::CudaVectorTypes< TCoord, TDeriv, TReal > >::Coord

Definition at line 66 of file CudaTetrahedronFEMForceField.h.

template<class TCoord , class TDeriv , class TReal >
typedef TetrahedronFEMForceFieldInternalData<DataTypes> sofa::component::forcefield::TetrahedronFEMForceFieldInternalData< gpu::cuda::CudaVectorTypes< TCoord, TDeriv, TReal > >::Data

Definition at line 63 of file CudaTetrahedronFEMForceField.h.

template<class TCoord , class TDeriv , class TReal >
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.

template<class TCoord , class TDeriv , class TReal >
typedef DataTypes::Deriv sofa::component::forcefield::TetrahedronFEMForceFieldInternalData< gpu::cuda::CudaVectorTypes< TCoord, TDeriv, TReal > >::Deriv

Definition at line 67 of file CudaTetrahedronFEMForceField.h.

template<class TCoord , class TDeriv , class TReal >
typedef Main::Element sofa::component::forcefield::TetrahedronFEMForceFieldInternalData< gpu::cuda::CudaVectorTypes< TCoord, TDeriv, TReal > >::Element

Definition at line 70 of file CudaTetrahedronFEMForceField.h.

template<class TCoord , class TDeriv , class TReal >
typedef Main::Index sofa::component::forcefield::TetrahedronFEMForceFieldInternalData< gpu::cuda::CudaVectorTypes< TCoord, TDeriv, TReal > >::Index

Definition at line 72 of file CudaTetrahedronFEMForceField.h.

template<class TCoord , class TDeriv , class TReal >
typedef gpu::cuda::CudaKernelsTetrahedronFEMForceField<DataTypes> sofa::component::forcefield::TetrahedronFEMForceFieldInternalData< gpu::cuda::CudaVectorTypes< TCoord, TDeriv, TReal > >::Kernels

Definition at line 76 of file CudaTetrahedronFEMForceField.h.

template<class TCoord , class TDeriv , class TReal >
typedef TetrahedronFEMForceField<DataTypes> sofa::component::forcefield::TetrahedronFEMForceFieldInternalData< gpu::cuda::CudaVectorTypes< TCoord, TDeriv, TReal > >::Main

Definition at line 62 of file CudaTetrahedronFEMForceField.h.

template<class TCoord , class TDeriv , class TReal >
typedef Mat<6, 6, Real> sofa::component::forcefield::TetrahedronFEMForceFieldInternalData< gpu::cuda::CudaVectorTypes< TCoord, TDeriv, TReal > >::MaterialStiffness

Definition at line 73 of file CudaTetrahedronFEMForceField.h.

template<class TCoord , class TDeriv , class TReal >
typedef DataTypes::Real sofa::component::forcefield::TetrahedronFEMForceFieldInternalData< gpu::cuda::CudaVectorTypes< TCoord, TDeriv, TReal > >::Real

Definition at line 68 of file CudaTetrahedronFEMForceField.h.

template<class TCoord , class TDeriv , class TReal >
typedef Mat<12, 6, Real> sofa::component::forcefield::TetrahedronFEMForceFieldInternalData< gpu::cuda::CudaVectorTypes< TCoord, TDeriv, TReal > >::StrainDisplacement

Definition at line 74 of file CudaTetrahedronFEMForceField.h.

template<class TCoord , class TDeriv , class TReal >
typedef DataTypes::VecCoord sofa::component::forcefield::TetrahedronFEMForceFieldInternalData< gpu::cuda::CudaVectorTypes< TCoord, TDeriv, TReal > >::VecCoord

Definition at line 64 of file CudaTetrahedronFEMForceField.h.

template<class TCoord , class TDeriv , class TReal >
typedef DataTypes::VecDeriv sofa::component::forcefield::TetrahedronFEMForceFieldInternalData< gpu::cuda::CudaVectorTypes< TCoord, TDeriv, TReal > >::VecDeriv

Definition at line 65 of file CudaTetrahedronFEMForceField.h.

template<class TCoord , class TDeriv , class TReal >
typedef Main::VecElement sofa::component::forcefield::TetrahedronFEMForceFieldInternalData< gpu::cuda::CudaVectorTypes< TCoord, TDeriv, TReal > >::VecElement

Definition at line 71 of file CudaTetrahedronFEMForceField.h.


Constructor & Destructor Documentation

template<class TCoord , class TDeriv , class TReal >
sofa::component::forcefield::TetrahedronFEMForceFieldInternalData< gpu::cuda::CudaVectorTypes< TCoord, TDeriv, TReal > >::TetrahedronFEMForceFieldInternalData (  )  [inline]

Definition at line 211 of file CudaTetrahedronFEMForceField.h.


Member Function Documentation

template<class TCoord , class TDeriv , class TReal >
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]

template<class TCoord , class TDeriv , class TReal >
void sofa::component::forcefield::TetrahedronFEMForceFieldInternalData< gpu::cuda::CudaVectorTypes< TCoord, TDeriv, TReal > >::addForce ( Main *  m,
VecDeriv &  f,
const VecCoord &  x,
const VecDeriv &  v 
) [inline, static]

template<class TCoord , class TDeriv , class TReal >
void sofa::component::forcefield::TetrahedronFEMForceFieldInternalData< gpu::cuda::CudaVectorTypes< TCoord, TDeriv, TReal > >::init ( int  nbe,
int  v0,
int  nbv,
int  nbelemperv 
) [inline]

Definition at line 212 of file CudaTetrahedronFEMForceField.h.

References BSIZE.

template<class TCoord , class TDeriv , class TReal >
void sofa::component::forcefield::TetrahedronFEMForceFieldInternalData< gpu::cuda::CudaVectorTypes< TCoord, TDeriv, TReal > >::reinit ( Main *  m  )  [inline, static]

Definition at line 85 of file CudaTetrahedronFEMForceField.inl.

template<class TCoord , class TDeriv , class TReal >
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]

Definition at line 242 of file CudaTetrahedronFEMForceField.h.

References BSIZE.

template<class TCoord , class TDeriv , class TReal >
void sofa::component::forcefield::TetrahedronFEMForceFieldInternalData< gpu::cuda::CudaVectorTypes< TCoord, TDeriv, TReal > >::setV ( int  vertex,
int  num,
int  index 
) [inline]

Definition at line 231 of file CudaTetrahedronFEMForceField.h.

References BSIZE.

template<class TCoord , class TDeriv , class TReal >
int sofa::component::forcefield::TetrahedronFEMForceFieldInternalData< gpu::cuda::CudaVectorTypes< TCoord, TDeriv, TReal > >::size ( void   )  const [inline]

Definition at line 230 of file CudaTetrahedronFEMForceField.h.


Field Documentation

template<class TCoord , class TDeriv , class TReal >
gpu::cuda::CudaVector<GPUElementForce> sofa::component::forcefield::TetrahedronFEMForceFieldInternalData< gpu::cuda::CudaVectorTypes< TCoord, TDeriv, TReal > >::eforce

Definition at line 203 of file CudaTetrahedronFEMForceField.h.

template<class TCoord , class TDeriv , class TReal >
gpu::cuda::CudaVector<GPUElement> sofa::component::forcefield::TetrahedronFEMForceFieldInternalData< gpu::cuda::CudaVectorTypes< TCoord, TDeriv, TReal > >::elems

Definition at line 183 of file CudaTetrahedronFEMForceField.h.

template<class TCoord , class TDeriv , class TReal >
int sofa::component::forcefield::TetrahedronFEMForceFieldInternalData< gpu::cuda::CudaVectorTypes< TCoord, TDeriv, TReal > >::nbElement

number of elements

Definition at line 204 of file CudaTetrahedronFEMForceField.h.

template<class TCoord , class TDeriv , class TReal >
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.

template<class TCoord , class TDeriv , class TReal >
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.

template<class TCoord , class TDeriv , class TReal >
gpu::cuda::CudaVector<GPUElementState> sofa::component::forcefield::TetrahedronFEMForceFieldInternalData< gpu::cuda::CudaVectorTypes< TCoord, TDeriv, TReal > >::state

Definition at line 202 of file CudaTetrahedronFEMForceField.h.

template<class TCoord , class TDeriv , class TReal >
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.

template<class TCoord , class TDeriv , class TReal >
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.


The documentation for this class was generated from the following files:

Generated on Sun Nov 23 04:20:21 2008 for Sofa by  doxygen 1.5.7.1