SOFA API  1a4bb3e7
Open source framework for multi-physics simuation
sofa::core::behavior::DefaultMultiMatrixAccessor Class Reference

#include <DefaultMultiMatrixAccessor.h>

Inheritance diagram for sofa::core::behavior::DefaultMultiMatrixAccessor:

Protected Attributes

bool m_doPrintInfo {false}
 
linearalgebra::BaseMatrixglobalMatrix {nullptr}
 
Index globalDim {0}
 
std::map< const sofa::core::behavior::BaseMechanicalState *, unsigned int > realStateOffsets
 
std::map< const sofa::core::behavior::BaseMechanicalState *, linearalgebra::BaseMatrix * > mappedMatrices
 
std::map< const sofa::core::behavior::BaseMechanicalState *, MatrixRefdiagonalStiffnessBloc
 
std::map< std::pair< const sofa::core::behavior::BaseMechanicalState *, const sofa::core::behavior::BaseMechanicalState * >, InteractionMatrixRefinteractionStiffnessBloc
 
std::vector< sofa::core::BaseMapping * > mappingList
 

Public Member Functions

 DefaultMultiMatrixAccessor ()
 
 ~DefaultMultiMatrixAccessor () override
 
virtual void clear ()
 
virtual void setGlobalMatrix (linearalgebra::BaseMatrix *matrix)
 
void addMechanicalState (const sofa::core::behavior::BaseMechanicalState *mstate) override
 
void addMechanicalMapping (sofa::core::BaseMapping *mapping) override
 
void addMappedMechanicalState (const sofa::core::behavior::BaseMechanicalState *mstate) override
 
virtual void setupMatrices ()
 
Index getGlobalDimension () const override
 
int getGlobalOffset (const sofa::core::behavior::BaseMechanicalState *mstate) const override
 
MatrixRef getMatrix (const sofa::core::behavior::BaseMechanicalState *mstate) const override
 
InteractionMatrixRef getMatrix (const sofa::core::behavior::BaseMechanicalState *mstate1, const sofa::core::behavior::BaseMechanicalState *mstate2) const override
 
virtual void computeGlobalMatrix ()
 
void setDoPrintInfo (bool value)
 
- Public Member Functions inherited from sofa::core::behavior::MultiMatrixAccessor
virtual ~MultiMatrixAccessor ()
 

Static Public Member Functions

static linearalgebra::BaseMatrixcreateMatrix (const sofa::core::behavior::BaseMechanicalState *mstate1, const sofa::core::behavior::BaseMechanicalState *mstate2)
 
static linearalgebra::BaseMatrixcreateMatrixImpl (const sofa::core::behavior::BaseMechanicalState *mstate1, const sofa::core::behavior::BaseMechanicalState *mstate2, bool doPrintInfo)
 

Attribute details

◆ diagonalStiffnessBloc

std::map< const sofa::core::behavior::BaseMechanicalState*, MatrixRef > sofa::core::behavior::DefaultMultiMatrixAccessor::diagonalStiffnessBloc
mutableprotected

◆ globalDim

Index sofa::core::behavior::DefaultMultiMatrixAccessor::globalDim {0}
protected

◆ globalMatrix

linearalgebra::BaseMatrix* sofa::core::behavior::DefaultMultiMatrixAccessor::globalMatrix {nullptr}
protected

◆ interactionStiffnessBloc

std::map< std::pair<const sofa::core::behavior::BaseMechanicalState*, const sofa::core::behavior::BaseMechanicalState*>, InteractionMatrixRef > sofa::core::behavior::DefaultMultiMatrixAccessor::interactionStiffnessBloc
mutableprotected

◆ m_doPrintInfo

bool sofa::core::behavior::DefaultMultiMatrixAccessor::m_doPrintInfo {false}
protected

◆ mappedMatrices

std::map< const sofa::core::behavior::BaseMechanicalState*, linearalgebra::BaseMatrix* > sofa::core::behavior::DefaultMultiMatrixAccessor::mappedMatrices
mutableprotected

◆ mappingList

std::vector<sofa::core::BaseMapping*> sofa::core::behavior::DefaultMultiMatrixAccessor::mappingList
protected

◆ realStateOffsets

std::map< const sofa::core::behavior::BaseMechanicalState*, unsigned int > sofa::core::behavior::DefaultMultiMatrixAccessor::realStateOffsets
protected

Constructor details

◆ DefaultMultiMatrixAccessor()

sofa::core::behavior::DefaultMultiMatrixAccessor::DefaultMultiMatrixAccessor ( )

◆ ~DefaultMultiMatrixAccessor()

sofa::core::behavior::DefaultMultiMatrixAccessor::~DefaultMultiMatrixAccessor ( )
override

Function details

◆ addMappedMechanicalState()

void sofa::core::behavior::DefaultMultiMatrixAccessor::addMappedMechanicalState ( const sofa::core::behavior::BaseMechanicalState mstate)
overridevirtual

◆ addMechanicalMapping()

void sofa::core::behavior::DefaultMultiMatrixAccessor::addMechanicalMapping ( sofa::core::BaseMapping mapping)
overridevirtual

◆ addMechanicalState()

void sofa::core::behavior::DefaultMultiMatrixAccessor::addMechanicalState ( const sofa::core::behavior::BaseMechanicalState mstate)
overridevirtual

◆ clear()

void sofa::core::behavior::DefaultMultiMatrixAccessor::clear ( )
virtual

◆ computeGlobalMatrix()

void sofa::core::behavior::DefaultMultiMatrixAccessor::computeGlobalMatrix ( )
virtual

◆ createMatrix()

linearalgebra::BaseMatrix * sofa::core::behavior::DefaultMultiMatrixAccessor::createMatrix ( const sofa::core::behavior::BaseMechanicalState mstate1,
const sofa::core::behavior::BaseMechanicalState mstate2 
)
static

◆ createMatrixImpl()

linearalgebra::BaseMatrix * sofa::core::behavior::DefaultMultiMatrixAccessor::createMatrixImpl ( const sofa::core::behavior::BaseMechanicalState mstate1,
const sofa::core::behavior::BaseMechanicalState mstate2,
bool  doPrintInfo 
)
static

◆ getGlobalDimension()

DefaultMultiMatrixAccessor::Index sofa::core::behavior::DefaultMultiMatrixAccessor::getGlobalDimension ( ) const
overridevirtual

◆ getGlobalOffset()

int sofa::core::behavior::DefaultMultiMatrixAccessor::getGlobalOffset ( const sofa::core::behavior::BaseMechanicalState mstate) const
overridevirtual

◆ getMatrix() [1/2]

DefaultMultiMatrixAccessor::MatrixRef sofa::core::behavior::DefaultMultiMatrixAccessor::getMatrix ( const sofa::core::behavior::BaseMechanicalState mstate) const
overridevirtual

◆ getMatrix() [2/2]

DefaultMultiMatrixAccessor::InteractionMatrixRef sofa::core::behavior::DefaultMultiMatrixAccessor::getMatrix ( const sofa::core::behavior::BaseMechanicalState mstate1,
const sofa::core::behavior::BaseMechanicalState mstate2 
) const
overridevirtual

◆ setDoPrintInfo()

void sofa::core::behavior::DefaultMultiMatrixAccessor::setDoPrintInfo ( bool  value)
inline

◆ setGlobalMatrix()

void sofa::core::behavior::DefaultMultiMatrixAccessor::setGlobalMatrix ( linearalgebra::BaseMatrix matrix)
virtual

◆ setupMatrices()

void sofa::core::behavior::DefaultMultiMatrixAccessor::setupMatrices ( )
virtual