SOFA API  7226d276
Open source framework for multi-physics simuation
sofa::component::solidmechanics::fem::nonuniform::HexahedronCompositeFEMMapping< BasicMapping > Class Template Reference

#include <HexahedronCompositeFEMMapping.h>

Inheritance diagram for sofa::component::solidmechanics::fem::nonuniform::HexahedronCompositeFEMMapping< BasicMapping >:

Protected Attributes

bool _alreadyInit
 
type::vector< OutCoord > _finePos
 
OutVecCoord _p0
 
InVecCoord _qCoarse0
 
InVecCoord _qFine0
 
InVecCoord _qFine
 
type::vector< Transformation > _rotations
 
type::vector< Weight > _weights
 
type::vector< std::pair< int, type::fixed_array< Real, 8 > > > _finestBarycentricCoord
 
type::vector< std::map< int, Weight > > _finestWeights
 
SparseGridTopologyT * _sparseGrid
 
SparseGridTopologyT::SPtr _finestSparseGrid
 
HexahedronCompositeFEMForceFieldAndMassT * _forcefield
 

Public Member Functions

 SOFA_CLASS (SOFA_TEMPLATE(HexahedronCompositeFEMMapping, BasicMapping), BasicMapping)
 
virtual ~HexahedronCompositeFEMMapping ()
 
void init () override
 
void apply (const sofa::core::MechanicalParams *mparams, OutDataVecCoord &out, const InDataVecCoord &in) override
 
void applyJ (const sofa::core::MechanicalParams *mparams, OutDataVecDeriv &out, const InDataVecDeriv &in) override
 
void applyJT (const sofa::core::MechanicalParams *mparams, InDataVecDeriv &out, const OutDataVecDeriv &in) override
 
void applyJT (const sofa::core::ConstraintParams *, InDataMatrixDeriv &, const OutDataMatrixDeriv &) override
 
void draw (const core::visual::VisualParams *vparams) override
 

Protected Member Functions

 HexahedronCompositeFEMMapping ()
 

Attribute details

◆ _alreadyInit

◆ _finePos

◆ _finestBarycentricCoord

template<class BasicMapping >
type::vector< std::pair< int, type::fixed_array<Real,8> > > sofa::component::solidmechanics::fem::nonuniform::HexahedronCompositeFEMMapping< BasicMapping >::_finestBarycentricCoord
protected

◆ _finestSparseGrid

◆ _finestWeights

template<class BasicMapping >
type::vector< std::map< int, Weight > > sofa::component::solidmechanics::fem::nonuniform::HexahedronCompositeFEMMapping< BasicMapping >::_finestWeights
protected

◆ _forcefield

◆ _p0

◆ _qCoarse0

◆ _qFine

◆ _qFine0

◆ _rotations

◆ _sparseGrid

◆ _weights

Constructor details

◆ HexahedronCompositeFEMMapping()

◆ ~HexahedronCompositeFEMMapping()

Function details

◆ apply()

template<class BasicMapping >
void sofa::component::solidmechanics::fem::nonuniform::HexahedronCompositeFEMMapping< BasicMapping >::apply ( const sofa::core::MechanicalParams *  mparams,
OutDataVecCoord &  out,
const InDataVecCoord &  in 
)
override

◆ applyJ()

template<class BasicMapping >
void sofa::component::solidmechanics::fem::nonuniform::HexahedronCompositeFEMMapping< BasicMapping >::applyJ ( const sofa::core::MechanicalParams *  mparams,
OutDataVecDeriv &  out,
const InDataVecDeriv &  in 
)
override

◆ applyJT() [1/2]

template<class BasicMapping >
void sofa::component::solidmechanics::fem::nonuniform::HexahedronCompositeFEMMapping< BasicMapping >::applyJT ( const sofa::core::ConstraintParams *  ,
InDataMatrixDeriv &  ,
const OutDataMatrixDeriv &   
)
inlineoverride

◆ applyJT() [2/2]

template<class BasicMapping >
void sofa::component::solidmechanics::fem::nonuniform::HexahedronCompositeFEMMapping< BasicMapping >::applyJT ( const sofa::core::MechanicalParams *  mparams,
InDataVecDeriv &  out,
const OutDataVecDeriv &  in 
)
override

◆ draw()

template<class BasicMapping >
void sofa::component::solidmechanics::fem::nonuniform::HexahedronCompositeFEMMapping< BasicMapping >::draw ( const core::visual::VisualParams *  vparams)
override

◆ init()

template<class BasicMapping >
void sofa::component::solidmechanics::fem::nonuniform::HexahedronCompositeFEMMapping< BasicMapping >::init ( void  )
override

◆ SOFA_CLASS()