From 96f543d6ef0dae3d67ec3e7496747380fd31f2ad Mon Sep 17 00:00:00 2001 From: bangerth Date: Fri, 22 Aug 2008 19:39:29 +0000 Subject: [PATCH] Enable the use of the Trilinos block vector and block sparse matrix classes. git-svn-id: https://svn.dealii.org/trunk@16656 0785d39b-7218-0410-832d-ea1e28bc413d --- deal.II/deal.II/include/fe/fe_values.h | 61 +++---- deal.II/deal.II/source/dofs/dof_accessor.cc | 151 +++++++++--------- .../deal.II/source/dofs/dof_constraints.cc | 6 +- deal.II/deal.II/source/fe/fe_values.cc | 40 ++--- 4 files changed, 130 insertions(+), 128 deletions(-) diff --git a/deal.II/deal.II/include/fe/fe_values.h b/deal.II/deal.II/include/fe/fe_values.h index c5e0dd5d09..d9d2506f03 100644 --- a/deal.II/deal.II/include/fe/fe_values.h +++ b/deal.II/deal.II/include/fe/fe_values.h @@ -28,6 +28,7 @@ #include #include #include +#include #include #include #include @@ -1927,16 +1928,16 @@ class FEValuesBase : protected FEValuesData, get_interpolated_dof_values (const TrilinosWrappers::Vector &in, Vector &out) const = 0; -// /** -// * Call -// * @p get_interpolated_dof_values -// * of the iterator with the -// * given arguments. -// */ -// virtual -// void -// get_interpolated_dof_values (const TrilinosWrappers::BlockVector &in, -// Vector &out) const = 0; + /** + * Call + * @p get_interpolated_dof_values + * of the iterator with the + * given arguments. + */ + virtual + void + get_interpolated_dof_values (const TrilinosWrappers::BlockVector &in, + Vector &out) const = 0; #endif }; @@ -2069,16 +2070,16 @@ class FEValuesBase : protected FEValuesData, get_interpolated_dof_values (const TrilinosWrappers::Vector &in, Vector &out) const; -// /** -// * Call -// * @p get_interpolated_dof_values -// * of the iterator with the -// * given arguments. -// */ -// virtual -// void -// get_interpolated_dof_values (const TrilinosWrappers::BlockVector &in, -// Vector &out) const; + /** + * Call + * @p get_interpolated_dof_values + * of the iterator with the + * given arguments. + */ + virtual + void + get_interpolated_dof_values (const TrilinosWrappers::BlockVector &in, + Vector &out) const; #endif private: @@ -2256,16 +2257,16 @@ class FEValuesBase : protected FEValuesData, get_interpolated_dof_values (const TrilinosWrappers::Vector &in, Vector &out) const; -// /** -// * Call -// * @p get_interpolated_dof_values -// * of the iterator with the -// * given arguments. -// */ -// virtual -// void -// get_interpolated_dof_values (const TrilinosWrappers::BlockVector &in, -// Vector &out) const; + /** + * Call + * @p get_interpolated_dof_values + * of the iterator with the + * given arguments. + */ + virtual + void + get_interpolated_dof_values (const TrilinosWrappers::BlockVector &in, + Vector &out) const; #endif private: diff --git a/deal.II/deal.II/source/dofs/dof_accessor.cc b/deal.II/deal.II/source/dofs/dof_accessor.cc index 29b11f86cd..5f819010d4 100644 --- a/deal.II/deal.II/source/dofs/dof_accessor.cc +++ b/deal.II/deal.II/source/dofs/dof_accessor.cc @@ -17,6 +17,7 @@ #include #include #include +#include #include #include @@ -665,22 +666,22 @@ void DoFCellAccessor >::set_dof_values (const Vector&, TrilinosWrappers::Vector&) const; -// template -// void -// DoFCellAccessor >::get_dof_values -// (const TrilinosWrappers::BlockVector &, Vector&) const; -// template -// void -// DoFCellAccessor >::get_dof_values -// (const TrilinosWrappers::BlockVector &, Vector&) const; -// template -// void -// DoFCellAccessor >::set_dof_values -// (const Vector &, TrilinosWrappers::BlockVector&) const; -// template -// void -// DoFCellAccessor >::set_dof_values -// (const Vector&, TrilinosWrappers::BlockVector&) const; +template +void +DoFCellAccessor >::get_dof_values +(const TrilinosWrappers::BlockVector &, Vector&) const; +template +void +DoFCellAccessor >::get_dof_values +(const TrilinosWrappers::BlockVector &, Vector&) const; +template +void +DoFCellAccessor >::set_dof_values +(const Vector &, TrilinosWrappers::BlockVector&) const; +template +void +DoFCellAccessor >::set_dof_values +(const Vector&, TrilinosWrappers::BlockVector&) const; #endif @@ -872,29 +873,27 @@ set_dof_values_by_interpolation (const Vector&, TrilinosWrappers::Vector&) const; -// template -// void -// DoFCellAccessor >:: -// get_interpolated_dof_values -// (const TrilinosWrappers::BlockVector&, Vector&) const; -// template -// void -// DoFCellAccessor >:: -// set_dof_values_by_interpolation -// (const Vector&, TrilinosWrappers::BlockVector&) const; -// template - -// template -// void -// DoFCellAccessor >:: -// get_interpolated_dof_values -// (const TrilinosWrappers::BlockVector&, Vector&) const; -// template -// void -// DoFCellAccessor >:: -// set_dof_values_by_interpolation -// (const Vector&, TrilinosWrappers::BlockVector&) const; -// template +template +void +DoFCellAccessor >:: +get_interpolated_dof_values +(const TrilinosWrappers::BlockVector&, Vector&) const; +template +void +DoFCellAccessor >:: +set_dof_values_by_interpolation +(const Vector&, TrilinosWrappers::BlockVector&) const; + +template +void +DoFCellAccessor >:: +get_interpolated_dof_values +(const TrilinosWrappers::BlockVector&, Vector&) const; +template +void +DoFCellAccessor >:: +set_dof_values_by_interpolation +(const Vector&, TrilinosWrappers::BlockVector&) const; #endif @@ -1068,22 +1067,22 @@ void DoFCellAccessor >::set_dof_values (const Vector&, TrilinosWrappers::Vector&) const; -// template -// void -// DoFCellAccessor >::get_dof_values -// (const TrilinosWrappers::BlockVector &, Vector&) const; -// template -// void -// DoFCellAccessor >::get_dof_values -// (const TrilinosWrappers::BlockVector &, Vector&) const; -// template -// void -// DoFCellAccessor >::set_dof_values -// (const Vector &, TrilinosWrappers::BlockVector&) const; -// template -// void -// DoFCellAccessor >::set_dof_values -// (const Vector&, TrilinosWrappers::BlockVector&) const; +template +void +DoFCellAccessor >::get_dof_values +(const TrilinosWrappers::BlockVector &, Vector&) const; +template +void +DoFCellAccessor >::get_dof_values +(const TrilinosWrappers::BlockVector &, Vector&) const; +template +void +DoFCellAccessor >::set_dof_values +(const Vector &, TrilinosWrappers::BlockVector&) const; +template +void +DoFCellAccessor >::set_dof_values +(const Vector&, TrilinosWrappers::BlockVector&) const; #endif @@ -1253,27 +1252,27 @@ set_dof_values_by_interpolation (const Vector&, TrilinosWrappers::Vector&) const; -// template -// void -// DoFCellAccessor >:: -// get_interpolated_dof_values -// (const TrilinosWrappers::BlockVector&, Vector&) const; -// template -// void -// DoFCellAccessor >:: -// set_dof_values_by_interpolation -// (const Vector&, TrilinosWrappers::BlockVector&) const; - -// template -// void -// DoFCellAccessor >:: -// get_interpolated_dof_values -// (const TrilinosWrappers::BlockVector&, Vector&) const; -// template -// void -// DoFCellAccessor >:: -// set_dof_values_by_interpolation -// (const Vector&, TrilinosWrappers::BlockVector&) const; +template +void +DoFCellAccessor >:: +get_interpolated_dof_values +(const TrilinosWrappers::BlockVector&, Vector&) const; +template +void +DoFCellAccessor >:: +set_dof_values_by_interpolation +(const Vector&, TrilinosWrappers::BlockVector&) const; + +template +void +DoFCellAccessor >:: +get_interpolated_dof_values +(const TrilinosWrappers::BlockVector&, Vector&) const; +template +void +DoFCellAccessor >:: +set_dof_values_by_interpolation +(const Vector&, TrilinosWrappers::BlockVector&) const; #endif diff --git a/deal.II/deal.II/source/dofs/dof_constraints.cc b/deal.II/deal.II/source/dofs/dof_constraints.cc index fe9d36ba8a..748bba78ec 100644 --- a/deal.II/deal.II/source/dofs/dof_constraints.cc +++ b/deal.II/deal.II/source/dofs/dof_constraints.cc @@ -32,7 +32,9 @@ #include #include #include +#include #include +#include #include #include @@ -1737,7 +1739,7 @@ VECTOR_FUNCTIONS(PETScWrappers::MPI::BlockVector); #ifdef DEAL_II_USE_TRILINOS VECTOR_FUNCTIONS(TrilinosWrappers::Vector); -//VECTOR_FUNCTIONS(TrilinosWrappers::BlockVector); +VECTOR_FUNCTIONS(TrilinosWrappers::BlockVector); #endif @@ -1791,7 +1793,7 @@ MATRIX_FUNCTIONS(PETScWrappers::MPI::BlockSparseMatrix); #ifdef DEAL_II_USE_TRILINOS MATRIX_FUNCTIONS(TrilinosWrappers::SparseMatrix); -//MATRIX_FUNCTIONS(TrilinosWrappers::BlockSparseMatrix); +MATRIX_FUNCTIONS(TrilinosWrappers::BlockSparseMatrix); #endif template void ConstraintMatrix:: diff --git a/deal.II/deal.II/source/fe/fe_values.cc b/deal.II/deal.II/source/fe/fe_values.cc index 34122c3c49..3c39f2264e 100644 --- a/deal.II/deal.II/source/fe/fe_values.cc +++ b/deal.II/deal.II/source/fe/fe_values.cc @@ -156,15 +156,15 @@ get_interpolated_dof_values (const TrilinosWrappers::Vector &in, -// template -// template -// void -// FEValuesBase::CellIterator:: -// get_interpolated_dof_values (const TrilinosWrappers::BlockVector &in, -// Vector &out) const -// { -// cell->get_interpolated_dof_values (in, out); -// } +template +template +void +FEValuesBase::CellIterator:: +get_interpolated_dof_values (const TrilinosWrappers::BlockVector &in, + Vector &out) const +{ + cell->get_interpolated_dof_values (in, out); +} #endif @@ -289,14 +289,14 @@ get_interpolated_dof_values (const TrilinosWrappers::Vector &, -// template -// void -// FEValuesBase::TriaCellIterator:: -// get_interpolated_dof_values (const TrilinosWrappers::BlockVector &, -// Vector &) const -// { -// Assert (false, ExcMessage (message_string)); -// } +template +void +FEValuesBase::TriaCellIterator:: +get_interpolated_dof_values (const TrilinosWrappers::BlockVector &, + Vector &) const +{ + Assert (false, ExcMessage (message_string)); +} #endif @@ -2110,8 +2110,8 @@ DEAL_II_NAMESPACE_CLOSE #include "fe_values.instance.h" #undef IN -// #define IN TrilinosWrappers::BlockVector -// #include "fe_values.instance.h" -// #undef IN +#define IN TrilinosWrappers::BlockVector +#include "fe_values.instance.h" +#undef IN #endif -- 2.39.5