3 #include <SofaCaribou/Ode/NewtonRaphsonSolver.h>
4 #include <SofaBaseLinearSolver/DefaultMultiMatrixAccessor.h>
5 #include <sofa/core/objectmodel/Data.h>
7 namespace SofaCaribou::ode {
41 using Data = sofa::core::objectmodel::Data<T>;
46 void assemble_rhs_vector(
const sofa::core::MechanicalParams & mechanical_parameters,
47 const sofa::core::behavior::MultiMatrixAccessor & matrix_accessor,
48 sofa::core::MultiVecDerivId & f_id,
49 sofa::defaulttype::BaseVector * f)
final;
52 void assemble_system_matrix(
const sofa::core::MechanicalParams & mechanical_parameters,
53 sofa::component::linearsolver::DefaultMultiMatrixAccessor & matrix_accessor,
54 sofa::defaulttype::BaseMatrix * A)
final;
57 void propagate_position_increment(
const sofa::core::MechanicalParams & mechanical_parameters,
58 const sofa::core::behavior::MultiMatrixAccessor & matrix_accessor,
59 const sofa::defaulttype::BaseVector * dx,
60 sofa::core::MultiVecCoordId & x_id,
61 sofa::core::MultiVecDerivId & v_id,
62 sofa::core::MultiVecDerivId & dx_id)
final;