15#ifndef dealii_matrix_out_h
16# define dealii_matrix_out_h
25# ifdef DEAL_II_WITH_TRILINOS
137 template <
class Matrix>
140 const std::string &
name,
166 virtual const std::vector<Patch> &
173 virtual std::vector<std::string>
183 template <
class Matrix>
197 namespace MatrixOutImplementation
202 template <
typename number>
208 return matrix.el(i,
j);
216 template <
typename number>
222 return matrix.el(i,
j);
226# ifdef DEAL_II_WITH_TRILINOS
235 return matrix.el(i,
j);
249 return matrix.el(i,
j);
254# ifdef DEAL_II_WITH_PETSC
266 template <
class Matrix>
279template <
class Matrix>
291 if (
options.show_absolute_values ==
true)
310 if (
options.show_absolute_values ==
true)
322template <
class Matrix>
325 const std::string &name,
329 (matrix.n() %
options.block_size != 0 ? 1 : 0)),
331 (matrix.m() %
options.block_size != 0 ? 1 : 0));
350 patches[index].n_subdivisions = 1;
361 patches[index].vertices[0][1] = -
static_cast<signed int>(i);
363 patches[index].vertices[1][1] = -
static_cast<signed int>(i + 1);
364 patches[index].vertices[2][0] =
j + 1;
365 patches[index].vertices[2][1] = -
static_cast<signed int>(i);
366 patches[index].vertices[3][0] =
j + 1;
367 patches[index].vertices[3][1] = -
static_cast<signed int>(i + 1);
372 for (
auto &vertex :
patches[index].vertices)
375 patches[index].n_subdivisions = 1;
377 patches[index].data.reinit(1, 4);
virtual const std::vector< Patch > & get_patches() const override
void build_patches(const Matrix &matrix, const std::string &name, const Options options=Options(false, 1, false))
static double get_gridpoint_value(const Matrix &matrix, const size_type i, const size_type j, const Options &options)
std::vector< Patch > patches
types::global_dof_index size_type
virtual ~MatrixOut() override=default
virtual std::vector< std::string > get_dataset_names() const override
#define DEAL_II_NAMESPACE_OPEN
#define DEAL_II_NAMESPACE_CLOSE
constexpr const ReferenceCell Quadrilateral
double get_element(const ::SparseMatrix< number > &matrix, const types::global_dof_index i, const types::global_dof_index j)
::VectorizedArray< Number, width > min(const ::VectorizedArray< Number, width > &, const ::VectorizedArray< Number, width > &)
unsigned int global_dof_index
bool show_absolute_values