18 #ifndef __LOCAL_SOLVER_H 19 #define __LOCAL_SOLVER_H 23 #include <Eigen/Cholesky> 24 #include <Eigen/Dense> 76 LocalSolver(std::shared_ptr<const Form> a, std::shared_ptr<const Form> L,
126 std::shared_ptr<const Form> _a, _formL;
132 std::vector<Eigen::PartialPivLU<Eigen::Matrix<double, Eigen::Dynamic,
134 Eigen::RowMajor>>> _lu_cache;
137 std::vector<Eigen::LLT<Eigen::Matrix<double, Eigen::Dynamic,
139 Eigen::RowMajor>>> _cholesky_cache;
void factorize()
Factorise the local LHS matrices for all cells and store in cache.
Definition: LocalSolver.cpp:242
void solve_local(GenericVector &x, const GenericVector &b, const GenericDofMap &dofmap_b) const
Definition: LocalSolver.cpp:92
This class provides a generic interface for dof maps.
Definition: GenericDofMap.h:49
SolverType
SolverType.
Definition: LocalSolver.h:68
void solve_local_rhs(Function &u) const
Definition: LocalSolver.cpp:82
LocalSolver(std::shared_ptr< const Form > a, std::shared_ptr< const Form > L, SolverType solver_type=SolverType::LU)
Definition: LocalSolver.cpp:47
void solve_global_rhs(Function &u) const
Definition: LocalSolver.cpp:65
Definition: Function.h:65
void clear_factorization()
Reset (clear) any stored factorizations.
Definition: LocalSolver.cpp:318
This class defines a common interface for vectors.
Definition: GenericVector.h:47
Solve problems cell-wise.
Definition: LocalSolver.h:63