SOFA API  6dc60b15
Open source framework for multi-physics simuation
sofa::component::linearsolver::DefaultMultiMatrixAccessor Class Reference

#include <DefaultMultiMatrixAccessor.h>

Inheritance diagram for sofa::component::linearsolver::DefaultMultiMatrixAccessor:

Protected Attributes

bool m_doPrintInfo {false}
 
defaulttype::BaseMatrixglobalMatrix {nullptr}
 
Index globalDim {0}
 
std::map< const sofa::core::behavior::BaseMechanicalState *, unsigned intrealStateOffsets
 
std::map< const sofa::core::behavior::BaseMechanicalState *, defaulttype::BaseMatrix * > mappedMatrices
 
std::map< const sofa::core::behavior::BaseMechanicalState *, MatrixRefdiagonalStiffnessBloc
 
std::map< std::pair< const sofa::core::behavior::BaseMechanicalState *, const sofa::core::behavior::BaseMechanicalState * >, InteractionMatrixRef > interactionStiffnessBloc
 
std::vector< sofa::core::BaseMapping * > mappingList
 

Public Member Functions

 DefaultMultiMatrixAccessor ()
 
 ~DefaultMultiMatrixAccessor () override
 
virtual void clear ()
 
virtual void setGlobalMatrix (defaulttype::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 defaulttype::BaseMatrixcreateMatrix (const sofa::core::behavior::BaseMechanicalState *mstate1, const sofa::core::behavior::BaseMechanicalState *mstate2)
 
static defaulttype::BaseMatrixcreateMatrixImpl (const sofa::core::behavior::BaseMechanicalState *mstate1, const sofa::core::behavior::BaseMechanicalState *mstate2, bool doPrintInfo)
 

Attribute details

std::map< const sofa::core::behavior::BaseMechanicalState*, MatrixRef > sofa::component::linearsolver::DefaultMultiMatrixAccessor::diagonalStiffnessBloc
mutableprotected
Index sofa::component::linearsolver::DefaultMultiMatrixAccessor::globalDim {0}
protected
defaulttype::BaseMatrix* sofa::component::linearsolver::DefaultMultiMatrixAccessor::globalMatrix {nullptr}
protected
std::map< std::pair<const sofa::core::behavior::BaseMechanicalState*, const sofa::core::behavior::BaseMechanicalState*>, InteractionMatrixRef > sofa::component::linearsolver::DefaultMultiMatrixAccessor::interactionStiffnessBloc
mutableprotected
bool sofa::component::linearsolver::DefaultMultiMatrixAccessor::m_doPrintInfo {false}
protected
std::map< const sofa::core::behavior::BaseMechanicalState*, defaulttype::BaseMatrix* > sofa::component::linearsolver::DefaultMultiMatrixAccessor::mappedMatrices
mutableprotected
std::vector<sofa::core::BaseMapping*> sofa::component::linearsolver::DefaultMultiMatrixAccessor::mappingList
protected
std::map< const sofa::core::behavior::BaseMechanicalState*, unsigned int > sofa::component::linearsolver::DefaultMultiMatrixAccessor::realStateOffsets
protected

Constructor details

sofa::component::linearsolver::DefaultMultiMatrixAccessor::DefaultMultiMatrixAccessor ( )
sofa::component::linearsolver::DefaultMultiMatrixAccessor::~DefaultMultiMatrixAccessor ( )
override

Function details

void sofa::component::linearsolver::DefaultMultiMatrixAccessor::addMappedMechanicalState ( const sofa::core::behavior::BaseMechanicalState mstate)
overridevirtual
void sofa::component::linearsolver::DefaultMultiMatrixAccessor::addMechanicalMapping ( sofa::core::BaseMapping mapping)
overridevirtual
void sofa::component::linearsolver::DefaultMultiMatrixAccessor::addMechanicalState ( const sofa::core::behavior::BaseMechanicalState mstate)
overridevirtual
void sofa::component::linearsolver::DefaultMultiMatrixAccessor::clear ( )
virtual
void sofa::component::linearsolver::DefaultMultiMatrixAccessor::computeGlobalMatrix ( )
virtual
defaulttype::BaseMatrix * sofa::component::linearsolver::DefaultMultiMatrixAccessor::createMatrix ( const sofa::core::behavior::BaseMechanicalState mstate1,
const sofa::core::behavior::BaseMechanicalState mstate2 
)
static
defaulttype::BaseMatrix * sofa::component::linearsolver::DefaultMultiMatrixAccessor::createMatrixImpl ( const sofa::core::behavior::BaseMechanicalState mstate1,
const sofa::core::behavior::BaseMechanicalState mstate2,
bool  doPrintInfo 
)
static
DefaultMultiMatrixAccessor::Index sofa::component::linearsolver::DefaultMultiMatrixAccessor::getGlobalDimension ( ) const
overridevirtual
int sofa::component::linearsolver::DefaultMultiMatrixAccessor::getGlobalOffset ( const sofa::core::behavior::BaseMechanicalState mstate) const
overridevirtual
DefaultMultiMatrixAccessor::MatrixRef sofa::component::linearsolver::DefaultMultiMatrixAccessor::getMatrix ( const sofa::core::behavior::BaseMechanicalState mstate) const
overridevirtual
DefaultMultiMatrixAccessor::InteractionMatrixRef sofa::component::linearsolver::DefaultMultiMatrixAccessor::getMatrix ( const sofa::core::behavior::BaseMechanicalState mstate1,
const sofa::core::behavior::BaseMechanicalState mstate2 
) const
overridevirtual
void sofa::component::linearsolver::DefaultMultiMatrixAccessor::setDoPrintInfo ( bool  value)
inline
void sofa::component::linearsolver::DefaultMultiMatrixAccessor::setGlobalMatrix ( defaulttype::BaseMatrix matrix)
virtual
void sofa::component::linearsolver::DefaultMultiMatrixAccessor::setupMatrices ( )
virtual