#include <OdeSolverImpl.h>


Public Types | |
| typedef sofa::core::componentmodel::behavior::BaseMechanicalState::VecId | VecId |
| typedef sofa::core::componentmodel::behavior::MultiVector < OdeSolverImpl > | MultiVector |
| typedef sofa::core::componentmodel::behavior::MultiMatrix < OdeSolverImpl > | MultiMatrix |
| typedef sofa::core::componentmodel::behavior::MechanicalMatrix | MechanicalMatrix |
Public Member Functions | |
| virtual void | propagatePositionAndVelocity (double t, VecId x, VecId v) |
| Propagate the given state (time, position and velocity) through all mappings. | |
| virtual void | computeAcc (double t, VecId a, VecId x, VecId v) |
| Compute the acceleration corresponding to the given state (time, position and velocity). | |
| virtual void | computeContactAcc (double t, VecId a, VecId x, VecId v) |
Matrix operations using LinearSolver components | |
| virtual void | m_resetSystem () |
| virtual void | m_setSystemMBKMatrix (double mFact, double bFact, double kFact) |
| virtual void | m_setSystemRHVector (VecId v) |
| virtual void | m_setSystemLHVector (VecId v) |
| virtual void | m_solveSystem () |
| virtual void | m_print (std::ostream &out) |
Definition at line 136 of file OdeSolverImpl.h.
| typedef sofa::core::componentmodel::behavior::MechanicalMatrix sofa::simulation::OdeSolverImpl::MechanicalMatrix |
Definition at line 142 of file OdeSolverImpl.h.
| typedef sofa::core::componentmodel::behavior::MultiMatrix<OdeSolverImpl> sofa::simulation::OdeSolverImpl::MultiMatrix |
Definition at line 141 of file OdeSolverImpl.h.
| typedef sofa::core::componentmodel::behavior::MultiVector<OdeSolverImpl> sofa::simulation::OdeSolverImpl::MultiVector |
Definition at line 140 of file OdeSolverImpl.h.
| typedef sofa::core::componentmodel::behavior::BaseMechanicalState::VecId sofa::simulation::OdeSolverImpl::VecId |
Reimplemented from sofa::core::componentmodel::behavior::OdeSolver.
Definition at line 139 of file OdeSolverImpl.h.
Compute the acceleration corresponding to the given state (time, position and velocity).
Definition at line 190 of file OdeSolverImpl.cpp.
References sofa::simulation::SolverImpl::accFromF(), sofa::simulation::SolverImpl::computeForce(), sofa::core::objectmodel::BaseObject::f_printLog, sofa::core::componentmodel::behavior::BaseMechanicalState::VecId::force(), sofa::core::objectmodel::Data< T >::getValue(), sofa::simulation::SolverImpl::projectResponse(), and propagatePositionAndVelocity().
Referenced by sofa::component::odesolver::RungeKutta4Solver::solve(), and sofa::component::odesolver::RungeKutta2Solver::solve().
| void sofa::simulation::OdeSolverImpl::computeContactAcc | ( | double | t, | |
| VecId | a, | |||
| VecId | x, | |||
| VecId | v | |||
| ) | [virtual] |
Definition at line 222 of file OdeSolverImpl.cpp.
References sofa::simulation::SolverImpl::accFromF(), sofa::simulation::SolverImpl::computeContactForce(), sofa::core::objectmodel::BaseObject::f_printLog, sofa::core::componentmodel::behavior::BaseMechanicalState::VecId::force(), sofa::core::objectmodel::Data< T >::getValue(), sofa::simulation::SolverImpl::projectResponse(), and propagatePositionAndVelocity().
| void sofa::simulation::OdeSolverImpl::m_print | ( | std::ostream & | out | ) | [virtual] |
Definition at line 342 of file OdeSolverImpl.cpp.
References sofa::defaulttype::BaseMatrix::colSize(), sofa::defaulttype::BaseMatrix::element(), sofa::core::objectmodel::BaseContext::get(), sofa::core::objectmodel::Base::getClassName(), sofa::core::objectmodel::BaseObject::getContext(), sofa::core::componentmodel::behavior::LinearSolver::getSystemBaseMatrix(), sofa::defaulttype::BaseMatrix::rowSize(), and sofa::core::objectmodel::BaseContext::SearchDown.
| void sofa::simulation::OdeSolverImpl::m_resetSystem | ( | ) | [virtual] |
Definition at line 287 of file OdeSolverImpl.cpp.
References sofa::core::objectmodel::BaseContext::get(), sofa::core::objectmodel::Base::getClassName(), sofa::core::objectmodel::BaseObject::getContext(), sofa::core::componentmodel::behavior::LinearSolver::resetSystem(), and sofa::core::objectmodel::BaseContext::SearchDown.
| void sofa::simulation::OdeSolverImpl::m_setSystemLHVector | ( | VecId | v | ) | [virtual] |
Definition at line 320 of file OdeSolverImpl.cpp.
References sofa::core::objectmodel::BaseContext::get(), sofa::core::objectmodel::Base::getClassName(), sofa::core::objectmodel::BaseObject::getContext(), sofa::core::objectmodel::BaseContext::SearchDown, and sofa::core::componentmodel::behavior::LinearSolver::setSystemLHVector().
| void sofa::simulation::OdeSolverImpl::m_setSystemMBKMatrix | ( | double | mFact, | |
| double | bFact, | |||
| double | kFact | |||
| ) | [virtual] |
Definition at line 298 of file OdeSolverImpl.cpp.
References sofa::core::objectmodel::BaseContext::get(), sofa::core::objectmodel::Base::getClassName(), sofa::core::objectmodel::BaseObject::getContext(), sofa::core::objectmodel::BaseContext::SearchDown, and sofa::core::componentmodel::behavior::LinearSolver::setSystemMBKMatrix().
| void sofa::simulation::OdeSolverImpl::m_setSystemRHVector | ( | VecId | v | ) | [virtual] |
Definition at line 309 of file OdeSolverImpl.cpp.
References sofa::core::objectmodel::BaseContext::get(), sofa::core::objectmodel::Base::getClassName(), sofa::core::objectmodel::BaseObject::getContext(), sofa::core::objectmodel::BaseContext::SearchDown, and sofa::core::componentmodel::behavior::LinearSolver::setSystemRHVector().
| void sofa::simulation::OdeSolverImpl::m_solveSystem | ( | ) | [virtual] |
Definition at line 331 of file OdeSolverImpl.cpp.
References sofa::core::objectmodel::BaseContext::get(), sofa::core::objectmodel::Base::getClassName(), sofa::core::objectmodel::BaseObject::getContext(), sofa::core::objectmodel::BaseContext::SearchDown, and sofa::core::componentmodel::behavior::LinearSolver::solveSystem().
| void sofa::simulation::OdeSolverImpl::propagatePositionAndVelocity | ( | double | t, | |
| VecId | x, | |||
| VecId | v | |||
| ) | [virtual] |
Propagate the given state (time, position and velocity) through all mappings.
Implements sofa::core::componentmodel::behavior::OdeSolver.
Definition at line 135 of file OdeSolverImpl.cpp.
References sofa::core::objectmodel::BaseObject::getContext().
Referenced by computeAcc(), and computeContactAcc().
1.5.7.1