From 0d8a132d8bab8e502a6900aee4dd0bb9246a3492 Mon Sep 17 00:00:00 2001 From: kronbichler Date: Wed, 13 Jan 2010 15:57:21 +0000 Subject: [PATCH] Add a print function for Trilinos block vector. git-svn-id: https://svn.dealii.org/trunk@20362 0785d39b-7218-0410-832d-ea1e28bc413d --- .../lac/include/lac/trilinos_block_vector.h | 16 +++++++++ deal.II/lac/source/trilinos_block_vector.cc | 34 +++++++++++++++++++ 2 files changed, 50 insertions(+) diff --git a/deal.II/lac/include/lac/trilinos_block_vector.h b/deal.II/lac/include/lac/trilinos_block_vector.h index be5006675d..0b7e7bf068 100644 --- a/deal.II/lac/include/lac/trilinos_block_vector.h +++ b/deal.II/lac/include/lac/trilinos_block_vector.h @@ -361,6 +361,14 @@ namespace TrilinosWrappers */ void swap (BlockVector &v); + /** + * Print to a stream. + */ + void print (std::ostream &out, + const unsigned int precision = 3, + const bool scientific = true, + const bool across = true) const; + /** * Exception */ @@ -827,6 +835,14 @@ namespace TrilinosWrappers */ void swap (BlockVector &v); + /** + * Print to a stream. + */ + void print (std::ostream &out, + const unsigned int precision = 3, + const bool scientific = true, + const bool across = true) const; + /** * Exception */ diff --git a/deal.II/lac/source/trilinos_block_vector.cc b/deal.II/lac/source/trilinos_block_vector.cc index b4c4d038a8..f353f7b4f9 100644 --- a/deal.II/lac/source/trilinos_block_vector.cc +++ b/deal.II/lac/source/trilinos_block_vector.cc @@ -181,6 +181,23 @@ namespace TrilinosWrappers components[i].compress(); } + + + void BlockVector::print (std::ostream &out, + const unsigned int precision, + const bool scientific, + const bool across) const + { + for (unsigned int i=0;in_blocks();++i) + { + if (across) + out << 'C' << i << ':'; + else + out << "Component " << i << std::endl; + this->components[i].print(out, precision, scientific, across); + } + } + } /* end of namespace MPI */ @@ -334,6 +351,23 @@ namespace TrilinosWrappers return *this; } + + + void BlockVector::print (std::ostream &out, + const unsigned int precision, + const bool scientific, + const bool across) const + { + for (unsigned int i=0;in_blocks();++i) + { + if (across) + out << 'C' << i << ':'; + else + out << "Component " << i << std::endl; + this->components[i].print(out, precision, scientific, across); + } + } + } -- 2.39.5