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;
Definition: Function.h:66
This class provides a generic interface for dof maps.
Definition: GenericDofMap.h:50
This class defines a common interface for vectors.
Definition: GenericVector.h:48
Solve problems cell-wise.
Definition: LocalSolver.h:64
void clear_factorization()
Reset (clear) any stored factorizations.
Definition: LocalSolver.cpp:318
void solve_local(GenericVector &x, const GenericVector &b, const GenericDofMap &dofmap_b) const
Definition: LocalSolver.cpp:92
void solve_local_rhs(Function &u) const
Definition: LocalSolver.cpp:82
void factorize()
Factorise the local LHS matrices for all cells and store in cache.
Definition: LocalSolver.cpp:242
void solve_global_rhs(Function &u) const
Definition: LocalSolver.cpp:65
LocalSolver(std::shared_ptr< const Form > a, std::shared_ptr< const Form > L, SolverType solver_type=SolverType::LU)
Definition: LocalSolver.cpp:47
SolverType
SolverType.
Definition: LocalSolver.h:68