DOLFIN
DOLFIN C++ interface
|
23 #ifndef __MIXED_LINEAR_VARIATIONAL_SOLVER_H
24 #define __MIXED_LINEAR_VARIATIONAL_SOLVER_H
26 #include <dolfin/common/Variable.h>
27 #include <dolfin/la/LUSolver.h>
28 #include <dolfin/la/KrylovSolver.h>
34 class MixedLinearVariationalProblem;
35 class PETScNestMatrix;
42 typedef std::tuple<std::vector<std::shared_ptr<GenericMatrix>>,
43 std::vector<std::shared_ptr<GenericVector>>,
44 std::vector<std::shared_ptr<GenericVector>> > assembled_system_type;
55 void solve(assembled_system_type assembled_system);
62 p.
add(
"linear_solver",
"default");
63 p.
add(
"preconditioner",
"default");
64 p.
add(
"symmetric",
false);
66 p.
add(
"print_rhs",
false);
67 p.
add(
"print_matrix",
false);
77 std::shared_ptr<MixedLinearVariationalProblem> _problem;
Definition: Parameters.h:95
void add(std::string key)
Definition: Parameters.h:128
This class implements a solver for mixed linear variational problems.
Definition: MixedLinearVariationalSolver.h:40
Common base class for DOLFIN variables.
Definition: Variable.h:36
MixedLinearVariationalSolver()
Create linear variational solver for given problem.
Definition: MixedLinearVariationalSolver.cpp:49
static Parameters default_parameters()
Default parameter values.
Definition: MixedLinearVariationalSolver.h:58
static Parameters default_parameters()
Default parameter values.
Definition: KrylovSolver.cpp:32
static Parameters default_parameters()
Default parameter values.
Definition: LUSolver.h:68
assembled_system_type assemble_system()
Block-by-block assembly.
Definition: MixedLinearVariationalSolver.cpp:65
void solve()
Solve variational problem.
Definition: MixedLinearVariationalSolver.cpp:221