|
| SOFA_ABSTRACT_CLASS (SOFA_TEMPLATE3(MatrixLinearSolver, Matrix, Vector, NoThreadManager), SOFA_TEMPLATE2(BaseMatrixLinearSolver, Matrix, Vector)) |
|
| MatrixLinearSolver () |
|
| ~MatrixLinearSolver () override |
|
void | init () override |
| Initialization method called at graph creation and modification, during top-down traversal. More...
|
|
void | resetSystem () override |
| Reset the current linear system. More...
|
|
void | resizeSystem (Size n) |
| Reset the current linear system. More...
|
|
void | setSystemMBKMatrix (const core::MechanicalParams *mparams) override |
|
void | rebuildSystem (SReal massFactor, SReal forceFactor) override |
| Rebuild the system using a mass and force factor. More...
|
|
void | setSystemRHVector (core::MultiVecDerivId v) override |
| Set the linear system right-hand term vector, from the values contained in the (Mechanical/Physical)State objects. More...
|
|
void | setSystemLHVector (core::MultiVecDerivId v) override |
|
Matrix * | getSystemMatrix () override |
| Get the linear system matrix, or nullptr if this solver does not build it. More...
|
|
Vector * | getSystemRHVector () |
| Get the linear system right-hand term vector, or nullptr if this solver does not build it. More...
|
|
Vector * | getSystemLHVector () |
| Get the linear system left-hand term vector, or nullptr if this solver does not build it. More...
|
|
linearalgebra::BaseMatrix * | getSystemBaseMatrix () override |
| Get the linear system matrix, or nullptr if this solver does not build it. More...
|
|
linearalgebra::BaseVector * | getSystemRHBaseVector () override |
| Get the linear system right-hand term vector, or nullptr if this solver does not build it. More...
|
|
linearalgebra::BaseVector * | getSystemLHBaseVector () override |
| Get the linear system left-hand term vector, or nullptr if this solver does not build it. More...
|
|
sofa::component::linearsystem::TypedMatrixLinearSystem< Matrix, Vector > * | getLinearSystem () const |
| Returns the linear system component associated to the linear solver. More...
|
|
void | solveSystem () override |
| Solve the system as constructed using the previous methods. More...
|
|
void | applySystemSolution () |
| Apply the solution of the system to all the objects. More...
|
|
void | invertSystem () override |
| Invert the system, this method is optional because it's call when solveSystem() is called for the first time. More...
|
|
void | prepareVisitor (simulation::Visitor *v) |
|
void | prepareVisitor (simulation::BaseMechanicalVisitor *v) |
|
template<class T > |
void | executeVisitor (T v) |
|
template<class T > |
void | executeVisitor (T *v) |
|
bool | isAsyncSolver () override |
| Indicate if the solver update the system in parallel. More...
|
|
void | invert (Matrix &) override |
|
void | solve (Matrix &M, Vector &solution, Vector &rh) override=0 |
|
virtual bool | addJMInvJtLocal (Matrix *, ResMatrixType *result, const JMatrixType *J, SReal fact) |
|
virtual bool | addMInvJtLocal (Matrix *, ResMatrixType *result, const JMatrixType *J, SReal fact) |
|
bool | addJMInvJt (linearalgebra::BaseMatrix *result, linearalgebra::BaseMatrix *J, SReal fact) override |
|
bool | addMInvJt (linearalgebra::BaseMatrix *result, linearalgebra::BaseMatrix *J, SReal fact) override |
|
bool | buildComplianceMatrix (const core::ConstraintParams *cparams, linearalgebra::BaseMatrix *result, SReal fact) override |
|
void | applyConstraintForce (const sofa::core::ConstraintParams *cparams, sofa::core::MultiVecDerivId dx, const linearalgebra::BaseVector *f) override |
| Apply the contactforce dx = Minv * J^t * f and store the result in dx VecId. More...
|
|
void | computeResidual (const core::ExecParams *params, linearalgebra::BaseVector *f) override |
|
MatrixInvertData * | getMatrixInvertData (linearalgebra::BaseMatrix *m) |
|
| SOFA_CLASS (SOFA_TEMPLATE2(BaseMatrixLinearSolver, Matrix, Vector), sofa::core::behavior::LinearSolver) |
|
| SOFA_ABSTRACT_CLASS (LinearSolver, BaseLinearSolver) |
|
virtual bool | supportNonSymmetricSystem () const |
| Returns true if the solver supports non-symmetric systems. More...
|
|
virtual bool | hasUpdatedMatrix () |
| Indicate if the solver updated the system after the last call of setSystemMBKMatrix (should return true if isParallelSolver return false) More...
|
|
virtual void | updateSystemMatrix () |
| This function is use for the preconditioner it must be called at each time step event if setSystemMBKMatrix is not called. More...
|
|
virtual void | init_partial_solve () |
|
virtual void | partial_solve (std::list< linearalgebra::BaseMatrix::Index > &, std::list< linearalgebra::BaseMatrix::Index > &, bool) |
|
virtual linearalgebra::BaseMatrix * | getSystemInverseBaseMatrix () |
| Get the linear system inverse matrix, or nullptr if this solver does not build it. More...
|
|
virtual bool | readFile (std::istream &) |
| Read the Matrix solver from a file. More...
|
|
virtual bool | writeFile (std::ostream &) |
| Read the Matrix solver from a file. More...
|
|
virtual void | freezeSystemMatrix () |
| Ask the solver to no longer update the system matrix. More...
|
|
| SOFA_ABSTRACT_CLASS (BaseLinearSolver, objectmodel::BaseObject) |
|
bool | insertInNode (objectmodel::BaseNode *node) override |
|
bool | removeInNode (objectmodel::BaseNode *node) override |
|
| SOFA_CLASS (BaseObject, Base) |
|
virtual void | draw (const core::visual::VisualParams *) |
| Render internal data of this object, for debugging purposes. More...
|
|
virtual void | computeBBox (const core::ExecParams *, bool=false) |
|
void | setSrc (const std::string &v, std::vector< std::string > *attributeList=nullptr) |
| Sets a source Object and parses it to collect dependent Data. More...
|
|
void | setSrc (const std::string &v, const BaseObject *loader, std::vector< std::string > *attributeList=nullptr) |
|
Base * | findLinkDestClass (const BaseClass *destType, const std::string &path, const BaseLink *link) override |
|
virtual std::string | getPathName () const override |
| Return the full path name of this object. More...
|
|
SReal | getTime () const |
| Current time. More...
|
|
const BaseContext * | getContext () const |
|
BaseContext * | getContext () |
|
const BaseObject * | getMaster () const |
|
BaseObject * | getMaster () |
|
const VecSlaves & | getSlaves () const |
|
BaseObject * | getSlave (const std::string &name) const |
|
virtual void | addSlave (BaseObject::SPtr s) |
|
virtual void | removeSlave (BaseObject::SPtr s) |
|
virtual void | handleEvent (Event *) |
| Handle an event. More...
|
|
virtual void | handleTopologyChange () |
|
virtual void | handleTopologyChange (core::topology::Topology *t) |
|
void | parse (BaseObjectDescription *arg) override |
| Parse the given description to assign values to this object's fields and potentially other parameters. More...
|
|
virtual void | bwdInit () |
| Initialization method called at graph creation and modification, during bottom-up traversal. More...
|
|
virtual void | reinit () |
| Update method called when variables used in precomputation are modified. More...
|
|
void | updateInternal () |
| Update method called when variables (used to compute other internal variables) are modified. More...
|
|
virtual void | storeResetState () |
| Save the initial state for later uses in reset() More...
|
|
virtual void | reset () |
| Reset to initial state. More...
|
|
virtual void | cleanup () |
|
virtual const BaseClass * | getClass () const |
|
void | addDeprecatedAttribute (lifecycle::DeprecatedData *attribute) |
|
void | addUpdateCallback (const std::string &name, std::initializer_list< BaseData * > inputs, std::function< sofa::core::objectmodel::ComponentState(const DataTracker &)> function, std::initializer_list< BaseData * > outputs) |
|
void | addOutputsToCallback (const std::string &name, std::initializer_list< BaseData * > outputs) |
|
const std::string & | getName () const |
| Accessor to the object name. More...
|
|
void | setName (const std::string &n) |
| Set the name of this object. More...
|
|
void | setName (const std::string &n, int counter) |
| Set the name of this object, adding an integer counter. More...
|
|
std::string | getTypeName () const |
| Get the type name of this object (i.e. class and template types) More...
|
|
virtual std::string | getClassName () const |
| Get the class name of this object. More...
|
|
virtual std::string | getTemplateName () const final |
| Get the template type names (if any) used to instantiate this object. More...
|
|
std::string | getNameSpaceName () const |
| Get the template type names (if any) used to instantiate this object. More...
|
|
void | setDefinitionSourceFileName (const std::string &sourceFileName) |
| Set the source filename (where the component is implemented) More...
|
|
const std::string & | getDefinitionSourceFileName () const |
| Get the source filename (where the component is implemented) More...
|
|
void | setDefinitionSourceFilePos (const int) |
| Set the source location (where the component is implemented) More...
|
|
int | getDefinitionSourceFilePos () const |
| Get the source location (where the component is implemented) More...
|
|
void | setInstanciationSourceFileName (const std::string &sourceFileName) |
|
const std::string & | getInstanciationSourceFileName () const |
|
void | setInstanciationSourceFilePos (const int) |
|
int | getInstanciationSourceFilePos () const |
|
void | addMessage (const sofa::helper::logging::Message &m) const |
|
size_t | countLoggedMessages (sofa::helper::logging::Message::TypeSet t=sofa::helper::logging::Message::AnyTypes) const |
|
const std::deque< sofa::helper::logging::Message > & | getLoggedMessages () const |
|
const std::string | getLoggedMessagesAsString (sofa::helper::logging::Message::TypeSet t=sofa::helper::logging::Message::AnyTypes) const |
|
void | clearLoggedMessages () const |
|
bool | notMuted () const |
|
const sofa::core::objectmodel::TagSet & | getTags () const |
| Represents the subsets the object belongs to. More...
|
|
bool | hasTag (Tag t) const |
| Return true if the object belong to the given subset. More...
|
|
void | addTag (Tag t) |
| Add a subset qualification to the object. More...
|
|
void | removeTag (Tag t) |
| Remove a subset qualification to the object. More...
|
|
ComponentState | getComponentState () const |
|
bool | isComponentStateValid () const |
|
virtual bool | parseField (const std::string &attribute, const std::string &value) |
| Assign one field value (Data or Link) More...
|
|
virtual bool | hasField (const std::string &attribute) const |
| Check if a given Data field or Link exists. More...
|
|
void | parseFields (const std::list< std::string > &str) |
| Assign the field values stored in the given list of name + value pairs of strings. More...
|
|
virtual void | parseFields (const std::map< std::string, std::string * > &str) |
| Assign the field values stored in the given map of name -> value pairs. More...
|
|
void | writeDatas (std::map< std::string, std::string * > &str) |
| Write the current field values to the given map of name -> value pairs. More...
|
|
void | writeDatas (std::ostream &out, const std::string &separator=" ") |
|
BaseData * | findData (const std::string &name) const |
|
std::vector< BaseData * > | findGlobalField (const std::string &name) const |
| Find data fields given a name: several can be found as we look into the alias map. More...
|
|
BaseLink * | findLink (const std::string &name) const |
|
std::vector< BaseLink * > | findLinks (const std::string &name) const |
| Find link fields given a name: several can be found as we look into the alias map. More...
|
|
virtual void | updateLinks (bool logErrors=true) |
| Update pointers in case the pointed-to objects have appeared. More...
|
|
template<class T > |
BaseData::BaseInitData | initData (::sofa::core::objectmodel::Data< T > *field, const char *name, const char *help, ::sofa::core::objectmodel::BaseData::DataFlags dataflags) |
| Helper method used to initialize a data field containing a value of type T. More...
|
|
template<class T > |
BaseData::BaseInitData | initData (Data< T > *field, const char *name, const char *help, bool isDisplayed=true, bool isReadOnly=false) |
| Helper method used to initialize a data field containing a value of type T. More...
|
|
template<class T > |
Data< T >::InitData | initData (Data< T > *field, const T &value, const char *name, const char *help, bool isDisplayed=true, bool isReadOnly=false) |
| Helper method used to initialize a data field containing a value of type T. More...
|
|
void | addData (BaseData *f, const std::string &name) |
|
void | addData (BaseData *f) |
|
void | removeData (BaseData *f) |
| Remove a data field. More...
|
|
void | addAlias (BaseData *field, const char *alias) |
| Add an alias to a Data. More...
|
|
void | addLink (BaseLink *l) |
| Add a link. More...
|
|
void | addAlias (BaseLink *link, const char *alias) |
| Add an alias to a Link. More...
|
|
const VecData & | getDataFields () const |
| Accessor to the vector containing all the fields of this object. More...
|
|
const MapData & | getDataAliases () const |
| Accessor to the map containing all the aliases of this object. More...
|
|
const VecLink & | getLinks () const |
| Accessor to the vector containing all the fields of this object. More...
|
|
const MapLink & | getLinkAliases () const |
| Accessor to the map containing all the aliases of this object. More...
|
|
virtual bool | findDataLinkDest (BaseData *&ptr, const std::string &path, const BaseLink *link) |
|
template<class T > |
bool | findLinkDest (T *&ptr, const std::string &path, const BaseLink *link) |
|