From: young Date: Thu, 13 Feb 2014 11:00:34 +0000 (+0000) Subject: Merge from trunk and some other small fixme patches. X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=335cf68fa004309f6b84662011a78b21e5eeb89a;p=dealii-svn.git Merge from trunk and some other small fixme patches. git-svn-id: https://svn.dealii.org/branches/branch_petscscalar_complex@32477 0785d39b-7218-0410-832d-ea1e28bc413d --- 335cf68fa004309f6b84662011a78b21e5eeb89a diff --cc deal.II/cmake/config/template-arguments.in index 7e97a5eea3,7e97a5eea3..c95c0f21d6 --- a/deal.II/cmake/config/template-arguments.in +++ b/deal.II/cmake/config/template-arguments.in @@@ -37,6 -37,6 +37,36 @@@ SERIAL_VECTORS := { Vector @DEAL_II_EXPAND_PETSC_MPI_BLOCKVECTOR@; } ++REAL_SERIAL_VECTORS := { Vector; ++ Vector ; ++ Vector; ++ ++ BlockVector; ++ BlockVector; ++ BlockVector; ++ ++ parallel::distributed::Vector; ++ parallel::distributed::Vector ; ++ parallel::distributed::Vector; ++ ++ parallel::distributed::BlockVector; ++ parallel::distributed::BlockVector ; ++ parallel::distributed::BlockVector; ++ ++ @DEAL_II_EXPAND_TRILINOS_VECTOR@; ++ @DEAL_II_EXPAND_TRILINOS_MPI_VECTOR@; ++ ++ @DEAL_II_EXPAND_TRILINOS_BLOCKVECTOR@; ++ @DEAL_II_EXPAND_TRILINOS_MPI_BLOCKVECTOR@; ++ } ++ ++COMPLEX_SERIAL_VECTORS := { @DEAL_II_EXPAND_PETSC_VECTOR@; ++ @DEAL_II_EXPAND_PETSC_MPI_VECTOR@; ++ ++ @DEAL_II_EXPAND_PETSC_BLOCKVECTOR@; ++ @DEAL_II_EXPAND_PETSC_MPI_BLOCKVECTOR@; ++ } ++ EXTERNAL_SEQUENTIAL_VECTORS := { @DEAL_II_EXPAND_TRILINOS_VECTOR@; @DEAL_II_EXPAND_TRILINOS_BLOCKVECTOR@; @DEAL_II_EXPAND_PETSC_VECTOR@; diff --cc deal.II/source/fe/fe_values.cc index 00494a4fdd,163f03d2b7..5a99c08bce --- a/deal.II/source/fe/fe_values.cc +++ b/deal.II/source/fe/fe_values.cc @@@ -41,7 -41,7 +41,7 @@@ DEAL_II_NAMESPACE_OPE namespace { template -- double ++ typename VectorType::value_type get_vector_element (const VectorType &vector, const types::global_dof_index cell_number) { diff --cc deal.II/source/fe/fe_values.decl.1.inst.in index e220a5e85b,e220a5e85b..83575b40a9 --- a/deal.II/source/fe/fe_values.decl.1.inst.in +++ b/deal.II/source/fe/fe_values.decl.1.inst.in @@@ -19,7 -19,7 +19,7 @@@ // Declarations of member functions of FEValuesBase::CellIteratorBase // and derived classes --for (VEC : SERIAL_VECTORS) ++for (VEC : REAL_SERIAL_VECTORS; S : REAL_SCALARS) { /// Call /// @p get_interpolated_dof_values @@@ -28,5 -28,5 +28,17 @@@ virtual void get_interpolated_dof_values (const VEC &in, -- Vector &out) const = 0; ++ Vector &out) const = 0; ++ } ++ ++for (VEC : COMPLEX_SERIAL_VECTORS; S : COMPLEX_SCALARS) ++ { ++ /// Call ++ /// @p get_interpolated_dof_values ++ /// of the iterator with the ++ /// given arguments. ++ virtual ++ void ++ get_interpolated_dof_values (const VEC &in, ++ Vector &out) const = 0; } diff --cc deal.II/source/fe/fe_values.decl.2.inst.in index 567c93f435,567c93f435..cb183eeda6 --- a/deal.II/source/fe/fe_values.decl.2.inst.in +++ b/deal.II/source/fe/fe_values.decl.2.inst.in @@@ -19,7 -19,7 +19,7 @@@ // Declarations of member functions of FEValuesBase::CellIteratorBase // and derived classes --for (VEC : SERIAL_VECTORS) ++for (VEC : REAL_SERIAL_VECTORS; S : REAL_SCALARS) { /// Call /// @p get_interpolated_dof_values @@@ -30,3 -30,3 +30,15 @@@ get_interpolated_dof_values (const VEC &in, Vector &out) const; } ++ ++for (VEC : COMPLEX_SERIAL_VECTORS; S : COMPLEX_SCALARS) ++ { ++ /// Call ++ /// @p get_interpolated_dof_values ++ /// of the iterator with the ++ /// given arguments. ++ virtual ++ void ++ get_interpolated_dof_values (const VEC &in, ++ Vector &out) const; ++ } diff --cc deal.II/source/fe/fe_values.impl.1.inst.in index 3dfaaa1a9d,3dfaaa1a9d..731d6ccb5a --- a/deal.II/source/fe/fe_values.impl.1.inst.in +++ b/deal.II/source/fe/fe_values.impl.1.inst.in @@@ -15,7 -15,7 +15,7 @@@ // --------------------------------------------------------------------- --for (VEC : SERIAL_VECTORS) ++for (VEC : REAL_SERIAL_VECTORS) { template template @@@ -27,3 -27,3 +27,17 @@@ cell->get_interpolated_dof_values (in, out); \} } ++ ++for (VEC : COMPLEX_SERIAL_VECTORS) ++ { ++ template ++ template ++ void ++ FEValuesBase::CellIterator:: ++ get_interpolated_dof_values (const VEC &in, ++ Vector > &out) const ++ \{ ++ cell->get_interpolated_dof_values (in, out); ++ \} ++ } ++ diff --cc deal.II/source/fe/fe_values.impl.2.inst.in index 95883209fd,95883209fd..4209718bf6 --- a/deal.II/source/fe/fe_values.impl.2.inst.in +++ b/deal.II/source/fe/fe_values.impl.2.inst.in @@@ -15,14 -15,14 +15,28 @@@ // --------------------------------------------------------------------- --for (VEC : SERIAL_VECTORS) ++for (VEC : REAL_SERIAL_VECTORS) { template void FEValuesBase::TriaCellIterator:: -- get_interpolated_dof_values (const VEC &, ++ get_interpolated_dof_values (const VEC &, Vector &) const \{ Assert (false, ExcMessage (message_string)); \} } ++ ++ ++for (VEC : COMPLEX_SERIAL_VECTORS) ++ { ++ template ++ void ++ FEValuesBase::TriaCellIterator:: ++ get_interpolated_dof_values (const VEC &, ++ Vector > &) const ++ \{ ++ Assert (false, ExcMessage (message_string)); ++ \} ++ } ++ diff --cc deal.II/source/fe/fe_values.inst.in index e63ce3fced,e63ce3fced..d0201ca59d --- a/deal.II/source/fe/fe_values.inst.in +++ b/deal.II/source/fe/fe_values.inst.in @@@ -64,7 -64,7 +64,7 @@@ for (dof_handler : DOFHANDLER_TEMPLATES --for (VEC : SERIAL_VECTORS; deal_II_dimension : DIMENSIONS; deal_II_space_dimension : SPACE_DIMENSIONS) ++for (VEC : REAL_SERIAL_VECTORS; deal_II_dimension : DIMENSIONS; deal_II_space_dimension : SPACE_DIMENSIONS) { #if deal_II_dimension <= deal_II_space_dimension #if (deal_II_space_dimension == DIM_A) || (deal_II_space_dimension == DIM_B) @@@ -137,7 -137,7 +137,7 @@@ --for (VEC : SERIAL_VECTORS; deal_II_dimension : DIMENSIONS; deal_II_space_dimension : SPACE_DIMENSIONS) ++for (VEC : REAL_SERIAL_VECTORS; deal_II_dimension : DIMENSIONS; deal_II_space_dimension : SPACE_DIMENSIONS) { #if deal_II_dimension <= deal_II_space_dimension #if (deal_II_space_dimension == DIM_A) || (deal_II_space_dimension == DIM_B) diff --cc deal.II/source/meshworker/mesh_worker_vector_selector.inst.in index 4de6186fc8,4de6186fc8..7310c23419 --- a/deal.II/source/meshworker/mesh_worker_vector_selector.inst.in +++ b/deal.II/source/meshworker/mesh_worker_vector_selector.inst.in @@@ -24,7 -24,7 +24,7 @@@ for (deal_II_dimension : DIMENSIONS \} } --for (VECTOR : SERIAL_VECTORS ; deal_II_dimension : DIMENSIONS) ++for (VECTOR : REAL_SERIAL_VECTORS ; deal_II_dimension : DIMENSIONS) { namespace MeshWorker \{ diff --cc deal.II/source/numerics/data_out_faces.cc index aa5fa1a594,a14c34428f..2ace9d307c --- a/deal.II/source/numerics/data_out_faces.cc +++ b/deal.II/source/numerics/data_out_faces.cc @@@ -246,9 -249,8 +249,9 @@@ build_one_patch (const FaceDescriptor * Assert (cell_and_face->first->active(), ExcCellNotActiveForCellData()); const unsigned int cell_number = std::distance (this->triangulation->begin_active(), - typename Triangulation::active_cell_iterator(cell_and_face->first)); + typename Triangulation::active_cell_iterator(cell_and_face->first)); + // @whattodo - this next line does not cause a problem (yet), but probably will one day. const double value = this->cell_data[dataset]->get_cell_data_value (cell_number); for (unsigned int q=0; qtriangulation->begin_active(), - typename Triangulation::active_cell_iterator(*cell)); + typename Triangulation::active_cell_iterator(*cell)); + + // @whattodo - this next line does not cause a problem (yet), but probably will one day. const double value = this->cell_data[dataset]->get_cell_data_value (cell_number); - switch (DH::dimension) + switch (dimension) { case 1: for (unsigned int x=0; x