Also overloaded A.ident_zeros, which is needed for some variational problems. We then have to preassemble the system before calling backend.solve. Since this PR requires a lot of *arg and **kwarg manipulation, we might think about splitting SolveBlock into two blocks, namely SolveBlock and LinearSolveBlock. However, I think this is a subject for a seperate PR.
Added options for solver parameters in
project(u, V, solver_type="mumps")
solve(A, u.vector(), l, "solver_type", "prec_type")
Also overloaded
A.ident_zeros
, which is needed for some variational problems.We then have to preassemble the system before calling backend.solve.
Since this PR requires a lot of *arg and **kwarg manipulation, we might think about splitting
SolveBlock
into two blocks, namelySolveBlock
andLinearSolveBlock
. However, I think this is a subject for a seperate PR.