#include <CudaTetrahedronFEMForceField.h>

Data Fields | |
index of the 4 connected vertices | |
| int | ia [BSIZE] |
| int | ib [BSIZE] |
| int | ic [BSIZE] |
| int | id [BSIZE] |
material stiffness matrix | |
| Real | gamma_bx2 [BSIZE] |
| Real | mu2_bx2 [BSIZE] |
initial position of the vertices in the local (rotated) coordinate system | |
| Real | bx [BSIZE] |
| Real | cx [BSIZE] |
| Real | cy [BSIZE] |
| Real | dx [BSIZE] |
| Real | dy [BSIZE] |
| Real | dz [BSIZE] |
| Real | Jbx_bx [BSIZE] |
| strain-displacement matrix | |
| Real | Jby_bx [BSIZE] |
| Real | Jbz_bx [BSIZE] |
Only supports the LARGE computation method, allowing for several simplifications.
For each element ABCD, the original algorithm computes the
rotation matrix R as follow:
This matrix is used to compute the initial position of each element in the local rotated coordinate frame, with the origin on A, as follow:
The material stiffness is handled by a
matrix K computed as follow:
The
Strain-displacement matrix is computed from the rotated initial positions abcd as follow:
Given the zeros in abcd, we have:
Also, as the sum of applied forces must be zero, we know that:
The forces will be computed using
. We can apply a scaling factor to J if we divide K by its square:
.
This allows us to do all computations from the values
. Including the 4 vertex indices, this represents 15 values.
Definition at line 155 of file CudaTetrahedronFEMForceField.h.
| Real sofa::component::forcefield::TetrahedronFEMForceFieldInternalData< gpu::cuda::CudaVectorTypes< TCoord, TDeriv, TReal > >::GPUElement::bx[BSIZE] |
Definition at line 172 of file CudaTetrahedronFEMForceField.h.
| Real sofa::component::forcefield::TetrahedronFEMForceFieldInternalData< gpu::cuda::CudaVectorTypes< TCoord, TDeriv, TReal > >::GPUElement::cx[BSIZE] |
Definition at line 172 of file CudaTetrahedronFEMForceField.h.
| Real sofa::component::forcefield::TetrahedronFEMForceFieldInternalData< gpu::cuda::CudaVectorTypes< TCoord, TDeriv, TReal > >::GPUElement::cy[BSIZE] |
Definition at line 173 of file CudaTetrahedronFEMForceField.h.
| Real sofa::component::forcefield::TetrahedronFEMForceFieldInternalData< gpu::cuda::CudaVectorTypes< TCoord, TDeriv, TReal > >::GPUElement::dx[BSIZE] |
Definition at line 173 of file CudaTetrahedronFEMForceField.h.
| Real sofa::component::forcefield::TetrahedronFEMForceFieldInternalData< gpu::cuda::CudaVectorTypes< TCoord, TDeriv, TReal > >::GPUElement::dy[BSIZE] |
Definition at line 173 of file CudaTetrahedronFEMForceField.h.
| Real sofa::component::forcefield::TetrahedronFEMForceFieldInternalData< gpu::cuda::CudaVectorTypes< TCoord, TDeriv, TReal > >::GPUElement::dz[BSIZE] |
Definition at line 173 of file CudaTetrahedronFEMForceField.h.
| Real sofa::component::forcefield::TetrahedronFEMForceFieldInternalData< gpu::cuda::CudaVectorTypes< TCoord, TDeriv, TReal > >::GPUElement::gamma_bx2[BSIZE] |
Definition at line 166 of file CudaTetrahedronFEMForceField.h.
| int sofa::component::forcefield::TetrahedronFEMForceFieldInternalData< gpu::cuda::CudaVectorTypes< TCoord, TDeriv, TReal > >::GPUElement::ia[BSIZE] |
Definition at line 160 of file CudaTetrahedronFEMForceField.h.
| int sofa::component::forcefield::TetrahedronFEMForceFieldInternalData< gpu::cuda::CudaVectorTypes< TCoord, TDeriv, TReal > >::GPUElement::ib[BSIZE] |
Definition at line 160 of file CudaTetrahedronFEMForceField.h.
| int sofa::component::forcefield::TetrahedronFEMForceFieldInternalData< gpu::cuda::CudaVectorTypes< TCoord, TDeriv, TReal > >::GPUElement::ic[BSIZE] |
Definition at line 160 of file CudaTetrahedronFEMForceField.h.
| int sofa::component::forcefield::TetrahedronFEMForceFieldInternalData< gpu::cuda::CudaVectorTypes< TCoord, TDeriv, TReal > >::GPUElement::id[BSIZE] |
Definition at line 160 of file CudaTetrahedronFEMForceField.h.
| Real sofa::component::forcefield::TetrahedronFEMForceFieldInternalData< gpu::cuda::CudaVectorTypes< TCoord, TDeriv, TReal > >::GPUElement::Jbx_bx[BSIZE] |
| Real sofa::component::forcefield::TetrahedronFEMForceFieldInternalData< gpu::cuda::CudaVectorTypes< TCoord, TDeriv, TReal > >::GPUElement::Jby_bx[BSIZE] |
Definition at line 179 of file CudaTetrahedronFEMForceField.h.
| Real sofa::component::forcefield::TetrahedronFEMForceFieldInternalData< gpu::cuda::CudaVectorTypes< TCoord, TDeriv, TReal > >::GPUElement::Jbz_bx[BSIZE] |
Definition at line 179 of file CudaTetrahedronFEMForceField.h.
| Real sofa::component::forcefield::TetrahedronFEMForceFieldInternalData< gpu::cuda::CudaVectorTypes< TCoord, TDeriv, TReal > >::GPUElement::mu2_bx2[BSIZE] |
Definition at line 166 of file CudaTetrahedronFEMForceField.h.
1.5.7.1