]> https://gitweb.dealii.org/ - dealii-svn.git/commitdiff
Enable the use of the Trilinos block vector and block sparse matrix classes.
authorbangerth <bangerth@0785d39b-7218-0410-832d-ea1e28bc413d>
Fri, 22 Aug 2008 19:39:29 +0000 (19:39 +0000)
committerbangerth <bangerth@0785d39b-7218-0410-832d-ea1e28bc413d>
Fri, 22 Aug 2008 19:39:29 +0000 (19:39 +0000)
git-svn-id: https://svn.dealii.org/trunk@16656 0785d39b-7218-0410-832d-ea1e28bc413d

deal.II/deal.II/include/fe/fe_values.h
deal.II/deal.II/source/dofs/dof_accessor.cc
deal.II/deal.II/source/dofs/dof_constraints.cc
deal.II/deal.II/source/fe/fe_values.cc

index c5e0dd5d096cc6efbae510bba65f1af0ccadf665..d9d2506f03e56a2a6f4bf2e093c294e7717ade5e 100644 (file)
@@ -28,6 +28,7 @@
 #include <lac/petsc_vector.h>
 #include <lac/petsc_block_vector.h>
 #include <lac/trilinos_vector.h>
+#include <lac/trilinos_block_vector.h>
 #include <grid/tria.h>
 #include <grid/tria_iterator.h>
 #include <dofs/dof_handler.h>
@@ -1927,16 +1928,16 @@ class FEValuesBase : protected FEValuesData<dim>,
         get_interpolated_dof_values (const TrilinosWrappers::Vector &in,
                                      Vector<TrilinosScalar>         &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<TrilinosScalar>              &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<TrilinosScalar>              &out) const = 0;
 #endif
     };
 
@@ -2069,16 +2070,16 @@ class FEValuesBase : protected FEValuesData<dim>,
         get_interpolated_dof_values (const TrilinosWrappers::Vector &in,
                                      Vector<TrilinosScalar>         &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<TrilinosScalar>              &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<TrilinosScalar>              &out) const;
 #endif
 
       private:
@@ -2256,16 +2257,16 @@ class FEValuesBase : protected FEValuesData<dim>,
         get_interpolated_dof_values (const TrilinosWrappers::Vector &in,
                                      Vector<TrilinosScalar>         &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<TrilinosScalar>              &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<TrilinosScalar>              &out) const;
 #endif
 
       private:
index 29b11f86cd78f7269a9a46b52f8ce049b7b80d88..5f819010d436d518b493b5aeaa8e67b951f9e87d 100644 (file)
@@ -17,6 +17,7 @@
 #include <lac/petsc_vector.h>
 #include <lac/petsc_block_vector.h>
 #include <lac/trilinos_vector.h>
+#include <lac/trilinos_block_vector.h>
 #include <lac/sparse_matrix.h>
 
 #include <dofs/dof_accessor.h>
@@ -665,22 +666,22 @@ void
 DoFCellAccessor<DoFHandler<deal_II_dimension> >::set_dof_values<TrilinosWrappers::Vector,float>
 (const Vector<float>&, TrilinosWrappers::Vector&) const;
 
-// template
-// void
-// DoFCellAccessor<DoFHandler<deal_II_dimension> >::get_dof_values<TrilinosWrappers::BlockVector,double>
-// (const TrilinosWrappers::BlockVector &, Vector<double>&) const;
-// template
-// void
-// DoFCellAccessor<DoFHandler<deal_II_dimension> >::get_dof_values<TrilinosWrappers::BlockVector,float>
-// (const TrilinosWrappers::BlockVector &, Vector<float>&) const;
-// template
-// void
-// DoFCellAccessor<DoFHandler<deal_II_dimension> >::set_dof_values<TrilinosWrappers::BlockVector,double>
-// (const Vector<double> &, TrilinosWrappers::BlockVector&) const;
-// template
-// void
-// DoFCellAccessor<DoFHandler<deal_II_dimension> >::set_dof_values<TrilinosWrappers::BlockVector,float>
-// (const Vector<float>&, TrilinosWrappers::BlockVector&) const;
+template
+void
+DoFCellAccessor<DoFHandler<deal_II_dimension> >::get_dof_values<TrilinosWrappers::BlockVector,double>
+(const TrilinosWrappers::BlockVector &, Vector<double>&) const;
+template
+void
+DoFCellAccessor<DoFHandler<deal_II_dimension> >::get_dof_values<TrilinosWrappers::BlockVector,float>
+(const TrilinosWrappers::BlockVector &, Vector<float>&) const;
+template
+void
+DoFCellAccessor<DoFHandler<deal_II_dimension> >::set_dof_values<TrilinosWrappers::BlockVector,double>
+(const Vector<double> &, TrilinosWrappers::BlockVector&) const;
+template
+void
+DoFCellAccessor<DoFHandler<deal_II_dimension> >::set_dof_values<TrilinosWrappers::BlockVector,float>
+(const Vector<float>&, TrilinosWrappers::BlockVector&) const;
 
 #endif
 
@@ -872,29 +873,27 @@ set_dof_values_by_interpolation<TrilinosWrappers::Vector,float>
 (const Vector<float>&, TrilinosWrappers::Vector&) const;
 
 
-// template
-// void
-// DoFCellAccessor<DoFHandler<deal_II_dimension> >::
-// get_interpolated_dof_values<TrilinosWrappers::BlockVector,double>
-// (const TrilinosWrappers::BlockVector&, Vector<double>&) const;
-// template
-// void
-// DoFCellAccessor<DoFHandler<deal_II_dimension> >::
-// set_dof_values_by_interpolation<TrilinosWrappers::BlockVector,double>
-// (const Vector<double>&, TrilinosWrappers::BlockVector&) const;
-// template
-
-// template
-// void
-// DoFCellAccessor<DoFHandler<deal_II_dimension> >::
-// get_interpolated_dof_values<TrilinosWrappers::BlockVector,float>
-// (const TrilinosWrappers::BlockVector&, Vector<float>&) const;
-// template
-// void
-// DoFCellAccessor<DoFHandler<deal_II_dimension> >::
-// set_dof_values_by_interpolation<TrilinosWrappers::BlockVector,float>
-// (const Vector<float>&, TrilinosWrappers::BlockVector&) const;
-// template
+template
+void
+DoFCellAccessor<DoFHandler<deal_II_dimension> >::
+get_interpolated_dof_values<TrilinosWrappers::BlockVector,double>
+(const TrilinosWrappers::BlockVector&, Vector<double>&) const;
+template
+void
+DoFCellAccessor<DoFHandler<deal_II_dimension> >::
+set_dof_values_by_interpolation<TrilinosWrappers::BlockVector,double>
+(const Vector<double>&, TrilinosWrappers::BlockVector&) const;
+
+template
+void
+DoFCellAccessor<DoFHandler<deal_II_dimension> >::
+get_interpolated_dof_values<TrilinosWrappers::BlockVector,float>
+(const TrilinosWrappers::BlockVector&, Vector<float>&) const;
+template
+void
+DoFCellAccessor<DoFHandler<deal_II_dimension> >::
+set_dof_values_by_interpolation<TrilinosWrappers::BlockVector,float>
+(const Vector<float>&, TrilinosWrappers::BlockVector&) const;
 
 #endif
 
@@ -1068,22 +1067,22 @@ void
 DoFCellAccessor<hp::DoFHandler<deal_II_dimension> >::set_dof_values<TrilinosWrappers::Vector,float>
 (const Vector<float>&, TrilinosWrappers::Vector&) const;
 
-// template
-// void
-// DoFCellAccessor<hp::DoFHandler<deal_II_dimension> >::get_dof_values<TrilinosWrappers::BlockVector,double>
-// (const TrilinosWrappers::BlockVector &, Vector<double>&) const;
-// template
-// void
-// DoFCellAccessor<hp::DoFHandler<deal_II_dimension> >::get_dof_values<TrilinosWrappers::BlockVector,float>
-// (const TrilinosWrappers::BlockVector &, Vector<float>&) const;
-// template
-// void
-// DoFCellAccessor<hp::DoFHandler<deal_II_dimension> >::set_dof_values<TrilinosWrappers::BlockVector,double>
-// (const Vector<double> &, TrilinosWrappers::BlockVector&) const;
-// template
-// void
-// DoFCellAccessor<hp::DoFHandler<deal_II_dimension> >::set_dof_values<TrilinosWrappers::BlockVector,float>
-// (const Vector<float>&, TrilinosWrappers::BlockVector&) const;
+template
+void
+DoFCellAccessor<hp::DoFHandler<deal_II_dimension> >::get_dof_values<TrilinosWrappers::BlockVector,double>
+(const TrilinosWrappers::BlockVector &, Vector<double>&) const;
+template
+void
+DoFCellAccessor<hp::DoFHandler<deal_II_dimension> >::get_dof_values<TrilinosWrappers::BlockVector,float>
+(const TrilinosWrappers::BlockVector &, Vector<float>&) const;
+template
+void
+DoFCellAccessor<hp::DoFHandler<deal_II_dimension> >::set_dof_values<TrilinosWrappers::BlockVector,double>
+(const Vector<double> &, TrilinosWrappers::BlockVector&) const;
+template
+void
+DoFCellAccessor<hp::DoFHandler<deal_II_dimension> >::set_dof_values<TrilinosWrappers::BlockVector,float>
+(const Vector<float>&, TrilinosWrappers::BlockVector&) const;
 #endif
 
 
@@ -1253,27 +1252,27 @@ set_dof_values_by_interpolation<TrilinosWrappers::Vector,float>
 (const Vector<float>&, TrilinosWrappers::Vector&) const;
 
 
-// template
-// void
-// DoFCellAccessor<hp::DoFHandler<deal_II_dimension> >::
-// get_interpolated_dof_values<TrilinosWrappers::BlockVector,double>
-// (const TrilinosWrappers::BlockVector&, Vector<double>&) const;
-// template
-// void
-// DoFCellAccessor<hp::DoFHandler<deal_II_dimension> >::
-// set_dof_values_by_interpolation<TrilinosWrappers::BlockVector,double>
-// (const Vector<double>&, TrilinosWrappers::BlockVector&) const;
-
-// template
-// void
-// DoFCellAccessor<hp::DoFHandler<deal_II_dimension> >::
-// get_interpolated_dof_values<TrilinosWrappers::BlockVector,float>
-// (const TrilinosWrappers::BlockVector&, Vector<float>&) const;
-// template
-// void
-// DoFCellAccessor<hp::DoFHandler<deal_II_dimension> >::
-// set_dof_values_by_interpolation<TrilinosWrappers::BlockVector,float>
-// (const Vector<float>&, TrilinosWrappers::BlockVector&) const;
+template
+void
+DoFCellAccessor<hp::DoFHandler<deal_II_dimension> >::
+get_interpolated_dof_values<TrilinosWrappers::BlockVector,double>
+(const TrilinosWrappers::BlockVector&, Vector<double>&) const;
+template
+void
+DoFCellAccessor<hp::DoFHandler<deal_II_dimension> >::
+set_dof_values_by_interpolation<TrilinosWrappers::BlockVector,double>
+(const Vector<double>&, TrilinosWrappers::BlockVector&) const;
+
+template
+void
+DoFCellAccessor<hp::DoFHandler<deal_II_dimension> >::
+get_interpolated_dof_values<TrilinosWrappers::BlockVector,float>
+(const TrilinosWrappers::BlockVector&, Vector<float>&) const;
+template
+void
+DoFCellAccessor<hp::DoFHandler<deal_II_dimension> >::
+set_dof_values_by_interpolation<TrilinosWrappers::BlockVector,float>
+(const Vector<float>&, TrilinosWrappers::BlockVector&) const;
 #endif
 
 
index fe9d36ba8abcabf9dcbe2a6510c558c66307d741..748bba78ec5b31a2ea8f834e2d0f5592116d67d5 100644 (file)
@@ -32,7 +32,9 @@
 #include <lac/petsc_parallel_sparse_matrix.h>
 #include <lac/petsc_parallel_block_sparse_matrix.h>
 #include <lac/trilinos_vector.h>
+#include <lac/trilinos_block_vector.h>
 #include <lac/trilinos_sparse_matrix.h>
+#include <lac/trilinos_block_sparse_matrix.h>
 
 #include <algorithm>
 #include <numeric>
@@ -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::
index 34122c3c4959ce509e321907a5f00c24c238fcf0..3c39f2264eca5c91b2373d2a01f351c25c034cdc 100644 (file)
@@ -156,15 +156,15 @@ get_interpolated_dof_values (const TrilinosWrappers::Vector &in,
 
 
 
-// template <int dim>
-// template <typename CI>
-// void
-// FEValuesBase<dim>::CellIterator<CI>::
-// get_interpolated_dof_values (const TrilinosWrappers::BlockVector &in,
-//                              Vector<TrilinosScalar>              &out) const
-// {
-//   cell->get_interpolated_dof_values (in, out);
-// }
+template <int dim>
+template <typename CI>
+void
+FEValuesBase<dim>::CellIterator<CI>::
+get_interpolated_dof_values (const TrilinosWrappers::BlockVector &in,
+                             Vector<TrilinosScalar>              &out) const
+{
+  cell->get_interpolated_dof_values (in, out);
+}
 
 #endif
 
@@ -289,14 +289,14 @@ get_interpolated_dof_values (const TrilinosWrappers::Vector &,
 
 
 
-// template <int dim>
-// void
-// FEValuesBase<dim>::TriaCellIterator::
-// get_interpolated_dof_values (const TrilinosWrappers::BlockVector &,
-//                              Vector<TrilinosScalar>              &) const
-// {
-//   Assert (false, ExcMessage (message_string));
-// }
+template <int dim>
+void
+FEValuesBase<dim>::TriaCellIterator::
+get_interpolated_dof_values (const TrilinosWrappers::BlockVector &,
+                             Vector<TrilinosScalar>              &) 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
 

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.