diff --git a/python/dune/perftool/pdelab/driver.py b/python/dune/perftool/pdelab/driver.py index 228e4f5079c75c4d9004a61db1be3bd69a6f1d93..0dea6a074c95ba46f8f94f4adcac17a6a3976106 100644 --- a/python/dune/perftool/pdelab/driver.py +++ b/python/dune/perftool/pdelab/driver.py @@ -619,6 +619,18 @@ def name_vtkfile(): return "vtkfile" +@preamble +def print_matrix(): + t_go = type_gridoperator() + n_go = name_gridoperator() + v = name_vector() + return ["typedef typename {}::Traits::Jacobian M;".format(t_go), + "M m({});".format(n_go), + "{}.jacobian({},m);".format(n_go, v), + "using Dune::PDELab::Backend::native;", + "Dune::printmatrix(std::cout, native(m),\"global stiffness matrix\",\"row\",9,1);"] + + @preamble def vtkoutput(): include_file("dune/pdelab/gridfunctionspace/vtk.hh", filetag="driver") @@ -627,5 +639,6 @@ def vtkoutput(): vec = name_vector() vtkfile = name_vtkfile() dune_solve() + print_matrix() return ["Dune::PDELab::addSolutionToVTKWriter({}, {}, {});".format(vtkwriter, gfs, vec), "{}.write({}, Dune::VTK::appendedraw);".format(vtkwriter, vtkfile)]