23 #include "GenericLinearSolver.h" 24 #include <dolfin/common/MPI.h> 30 class GenericLinearOperator;
40 LUSolver(MPI_Comm comm, std::string method=
"default");
43 LUSolver(std::string method=
"default");
47 std::shared_ptr<const GenericLinearOperator> A,
48 std::string method=
"default");
51 LUSolver(std::shared_ptr<const GenericLinearOperator> A,
52 std::string method=
"default");
58 void set_operator(std::shared_ptr<const GenericLinearOperator> A);
71 p.
add(
"report",
true);
72 p.
add(
"verbose",
false);
73 p.
add(
"symmetric",
false);
79 {
return "lu_solver"; }
85 this->parameters.
update(parameters);
86 solver->parameters.update(parameters);
92 void init(MPI_Comm comm, std::string method);
95 std::shared_ptr<GenericLinearSolver> solver;
virtual void update_parameters(const Parameters ¶meters)
Definition: LUSolver.h:83
void add(std::string key)
Definition: Parameters.h:128
std::string parameter_type() const
Return parameter type: "krylov_solver" or "lu_solver".
Definition: LUSolver.h:78
static Parameters default_parameters()
Default parameter values.
Definition: LUSolver.h:68
Definition: GenericLinearOperator.h:42
LU solver for the built-in LA backends.
Definition: LUSolver.h:35
LUSolver(MPI_Comm comm, std::string method="default")
Constructor.
Definition: LUSolver.cpp:28
std::size_t solve(GenericVector &x, const GenericVector &b)
Solve linear system Ax = b.
Definition: LUSolver.cpp:67
void set_operator(std::shared_ptr< const GenericLinearOperator > A)
Set operator (matrix)
Definition: LUSolver.cpp:60
Parameters parameters
Parameters.
Definition: Variable.h:74
Definition: Parameters.h:94
~LUSolver()
Destructor.
Definition: LUSolver.cpp:55
This class provides a general solver for linear systems Ax = b.
Definition: GenericLinearSolver.h:37
void update(const Parameters ¶meters)
Update parameters with another set of parameters.
Definition: Parameters.cpp:245
This class defines a common interface for vectors.
Definition: GenericVector.h:47