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"; }
92 void init(MPI_Comm comm, std::string method);
95 std::shared_ptr<GenericLinearSolver> solver;
Definition: GenericLinearOperator.h:43
This class provides a general solver for linear systems Ax = b.
Definition: GenericLinearSolver.h:38
This class defines a common interface for vectors.
Definition: GenericVector.h:48
LU solver for the built-in LA backends.
Definition: LUSolver.h:36
static Parameters default_parameters()
Default parameter values.
Definition: LUSolver.h:68
void set_operator(std::shared_ptr< const GenericLinearOperator > A)
Set operator (matrix)
Definition: LUSolver.cpp:60
std::string parameter_type() const
Return parameter type: "krylov_solver" or "lu_solver".
Definition: LUSolver.h:78
std::size_t solve(GenericVector &x, const GenericVector &b)
Solve linear system Ax = b.
Definition: LUSolver.cpp:67
virtual void update_parameters(const Parameters ¶meters)
Definition: LUSolver.h:83
LUSolver(MPI_Comm comm, std::string method="default")
Constructor.
Definition: LUSolver.cpp:28
~LUSolver()
Destructor.
Definition: LUSolver.cpp:55
Definition: Parameters.h:95
void update(const Parameters ¶meters)
Update parameters with another set of parameters.
Definition: Parameters.cpp:245
void add(std::string key)
Definition: Parameters.h:128
Parameters parameters
Parameters.
Definition: Variable.h:74