Caribou
LLTSolver.h
1 #pragma once
2 
3 #include <SofaCaribou/Solver/EigenSparseSolver.h>
4 #include <sofa/helper/OptionsGroup.h>
5 
6 namespace SofaCaribou::solver {
7 
19 template <class EigenSolver>
20 class LLTSolver : public EigenSparseSolver<EigenSolver> {
21 public:
22  SOFA_CLASS(SOFA_TEMPLATE(LLTSolver, EigenSolver), SOFA_TEMPLATE(EigenSparseSolver, EigenSolver));
23 
24  template <typename T>
25  using Data = sofa::Data<T>;
26 
27  LLTSolver();
28 
29  // Get the backend name of the class derived from the EigenSolver template parameter
30  static std::string BackendName();
31 private:
33  Data<sofa::helper::OptionsGroup> d_backend;
34 };
35 
36 } // namespace SofaCaribou::solver
SofaCaribou::solver::LLTSolver
Implementation of a direct LLT sparse linear solver.
Definition: LLTSolver.h:20
SofaCaribou::solver::EigenSparseSolver
Base class for sparse direct solvers using Eigen as a backend solver.
Definition: EigenSparseSolver.h:29