From 1ca8a8f57f74104f781626690267b06bf4bdc2c7 Mon Sep 17 00:00:00 2001 From: Dominic Kempf <dominic.kempf@iwr.uni-heidelberg.de> Date: Tue, 19 Apr 2016 13:24:29 +0200 Subject: [PATCH] Add a print_matrix generator helpful for debugging --- python/dune/perftool/pdelab/driver.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/python/dune/perftool/pdelab/driver.py b/python/dune/perftool/pdelab/driver.py index 228e4f50..0dea6a07 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)] -- GitLab