From: janssen Date: Fri, 8 Jan 2010 15:08:34 +0000 (+0000) Subject: instantiations for MGDoFHandler added X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2bf7df0b10fd0d0087a58bb2132296daedc87f05;p=dealii-svn.git instantiations for MGDoFHandler added git-svn-id: https://svn.dealii.org/trunk@20335 0785d39b-7218-0410-832d-ea1e28bc413d --- diff --git a/deal.II/deal.II/source/dofs/dof_renumbering.cc b/deal.II/deal.II/source/dofs/dof_renumbering.cc index 7809a142c0..5316c36a22 100644 --- a/deal.II/deal.II/source/dofs/dof_renumbering.cc +++ b/deal.II/deal.II/source/dofs/dof_renumbering.cc @@ -1602,6 +1602,21 @@ namespace DoFRenumbering const bool, const std::vector&); + template + void Cuthill_McKee > + (MGDoFHandler&, + const bool, + const bool, + const std::vector&); + + template + void + compute_Cuthill_McKee > + (std::vector&, + const MGDoFHandler&, + const bool, + const bool, + const std::vector&); template void component_wise diff --git a/deal.II/deal.II/source/grid/grid_tools.cc b/deal.II/deal.II/source/grid/grid_tools.cc index b41710a43b..f4d50cd281 100644 --- a/deal.II/deal.II/source/grid/grid_tools.cc +++ b/deal.II/deal.II/source/grid/grid_tools.cc @@ -1958,6 +1958,12 @@ template get_finest_common_cells (const hp::DoFHandler &mesh_1, const hp::DoFHandler &mesh_2); +template + std::list::cell_iterator, MGDoFHandler::cell_iterator> > + GridTools:: + get_finest_common_cells (const MGDoFHandler &mesh_1, + const MGDoFHandler &mesh_2); + #endif DEAL_II_NAMESPACE_CLOSE diff --git a/deal.II/deal.II/source/multigrid/mg_dof_accessor.cc b/deal.II/deal.II/source/multigrid/mg_dof_accessor.cc index 91f0ab2898..a18bb29f7b 100644 --- a/deal.II/deal.II/source/multigrid/mg_dof_accessor.cc +++ b/deal.II/deal.II/source/multigrid/mg_dof_accessor.cc @@ -58,7 +58,7 @@ template void MGDoFAccessor::set_mg_dof_handler (MGDoFHandler *dh) { - typedef DoFAccessor > BaseClass; + typedef DoFAccessor > BaseClass; Assert (dh != 0, typename BaseClass::ExcInvalidObject()); mg_dof_handler = dh; } @@ -180,7 +180,7 @@ template void MGDoFAccessor::copy_from (const MGDoFAccessor &a) { - DoFAccessor >::copy_from (a); + DoFAccessor >::copy_from (a); this->set_mg_dof_handler (a.mg_dof_handler); } @@ -625,8 +625,10 @@ get_mg_dof_values (const Vector &values, + #if deal_II_dimension == 1 -template class MGDoFAccessor<1, 1>; +template class MGDoFAccessor<1, 1, 1>; +template class MGDoFAccessor<1, 1, 2>; template class MGDoFCellAccessor<1>; @@ -636,14 +638,21 @@ template class TriaActiveIterator >; #endif #if deal_II_dimension == 2 -template class MGDoFAccessor<1, 2>; -template class MGDoFAccessor<2, 2>; +template class MGDoFAccessor<1, 2, 2>; +template class MGDoFAccessor<2, 2, 2>; + +template class MGDoFAccessor<1, 2, 3>; +template class MGDoFAccessor<2, 2, 3>; template class MGDoFCellAccessor<2>; -template class TriaRawIterator >; -template class TriaIterator >; -template class TriaActiveIterator >; +template class TriaRawIterator >; +template class TriaIterator >; +template class TriaActiveIterator >; + +template class TriaRawIterator >; +template class TriaIterator >; +template class TriaActiveIterator >; template class TriaRawIterator >; template class TriaIterator >; @@ -652,19 +661,19 @@ template class TriaActiveIterator >; #if deal_II_dimension == 3 -template class MGDoFAccessor<1, 3>; -template class MGDoFAccessor<2, 3>; -template class MGDoFAccessor<3, 3>; +template class MGDoFAccessor<1, 3, 3>; +template class MGDoFAccessor<2, 3, 3>; +template class MGDoFAccessor<3, 3, 3>; template class MGDoFCellAccessor<3>; -template class TriaRawIterator >; -template class TriaIterator >; -template class TriaActiveIterator >; +template class TriaRawIterator >; +template class TriaIterator >; +template class TriaActiveIterator >; -template class TriaRawIterator >; -template class TriaIterator >; -template class TriaActiveIterator >; +template class TriaRawIterator >; +template class TriaIterator >; +template class TriaActiveIterator >; template class TriaRawIterator >; template class TriaIterator >; diff --git a/deal.II/deal.II/source/multigrid/mg_dof_handler.cc b/deal.II/deal.II/source/multigrid/mg_dof_handler.cc index eccdbbcf05..7180299e2f 100644 --- a/deal.II/deal.II/source/multigrid/mg_dof_handler.cc +++ b/deal.II/deal.II/source/multigrid/mg_dof_handler.cc @@ -75,7 +75,7 @@ void MGDoFHandler::MGVertexDoFs::init (const unsigned int cl, Assert (indices != 0, ExcNoMemory ()); for (unsigned int i=0; i::invalid_dof_index; + indices[i] = DoFHandler::invalid_dof_index; } @@ -118,7 +118,7 @@ const unsigned int MGDoFHandler::dimension; template MGDoFHandler::MGDoFHandler (const Triangulation &tria) : - DoFHandler (tria), + DoFHandler (tria), mg_faces (NULL) {} @@ -134,7 +134,7 @@ template unsigned int MGDoFHandler::memory_consumption() const { - unsigned int mem = DoFHandler::memory_consumption(); + unsigned int mem = DoFHandler::memory_consumption(); for (unsigned int l=0;lmemory_consumption(); @@ -1409,7 +1409,7 @@ void MGDoFHandler::distribute_dofs (const FiniteElement::distribute_dofs (fe); + DoFHandler::distribute_dofs (fe); // reserve space for the MG dof numbers @@ -1621,7 +1621,7 @@ MGDoFHandler::clear () // let base class release its mem // as well - DoFHandler::clear (); + DoFHandler::clear (); } @@ -2126,4 +2126,8 @@ void MGDoFHandler::clear_space () // explicit instantiations template class MGDoFHandler; +#if deal_II_dimension==1 || deal_II_dimension==2 +template class MGDoFHandler; +#endif + DEAL_II_NAMESPACE_CLOSE diff --git a/deal.II/deal.II/source/multigrid/mg_dof_tools.cc b/deal.II/deal.II/source/multigrid/mg_dof_tools.cc index 316675203b..46c2d25134 100644 --- a/deal.II/deal.II/source/multigrid/mg_dof_tools.cc +++ b/deal.II/deal.II/source/multigrid/mg_dof_tools.cc @@ -1152,7 +1152,7 @@ MGTools::make_boundary_list( // field to store the indices std::vector face_dofs; face_dofs.reserve (DoFTools::max_dofs_per_face(dof)); - std::fill (face_dofs.begin (), face_dofs.end (), DoFHandler::invalid_dof_index); + std::fill (face_dofs.begin (), face_dofs.end (), DoFHandler::invalid_dof_index); typename MGDoFHandler::cell_iterator cell = dof.begin(), endc = dof.end(); @@ -1357,7 +1357,7 @@ extract_inner_interface_dofs (const MGDoFHandler &mg_dof_handler, for (unsigned int face_nr=0; face_nr::faces_per_cell; ++face_nr) { - const typename DoFHandler::face_iterator face = cell->face(face_nr); + const typename DoFHandler::face_iterator face = cell->face(face_nr); if (!face->at_boundary()) { //interior face