MGLevelGlobalTransfer<VectorType>::clear()
{
sizes.resize(0);
- std::vector<std::vector<std::pair<types::global_dof_index, types::global_dof_index> > >
- empty0, empty1, empty2;
- copy_indices.swap(empty0);
- copy_indices_global_mine.swap(empty1);
- copy_indices_level_mine.swap(empty2);
+ copy_indices.clear();
+ copy_indices_global_mine.clear();
+ copy_indices_level_mine.clear();
component_to_block_map.resize(0);
mg_constrained_dofs = 0;
}
MGLevelGlobalTransfer<parallel::distributed::Vector<Number> >::clear()
{
sizes.resize(0);
- std::vector<std::vector<std::pair<unsigned int, unsigned int> > >
- empty0, empty1, empty2;
- copy_indices.swap(empty0);
- copy_indices_global_mine.swap(empty1);
- copy_indices_level_mine.swap(empty2);
+ copy_indices.clear();
+ copy_indices_global_mine.clear();
+ copy_indices_level_mine.clear();
component_to_block_map.resize(0);
mg_constrained_dofs = 0;
ghosted_global_vector.reinit(0);
// explicit instantiation
#include "mg_level_global_transfer.inst"
+// create two additional instantiations currently not supported by the
+// automatic template instantiation scheme
+template class MGLevelGlobalTransfer<parallel::distributed::Vector<float> >;
+template class MGLevelGlobalTransfer<parallel::distributed::Vector<long double> >;
+
DEAL_II_NAMESPACE_CLOSE
const MGLevelObject<V1<S1> >&) const;
}
-for (deal_II_dimension : DIMENSIONS; S2 : REAL_SCALARS)
+for (deal_II_dimension : DIMENSIONS)
+ {
+ template
+ void MGLevelGlobalTransfer< parallel::distributed::Vector<float> >::fill_and_communicate_copy_indices<deal_II_dimension,deal_II_dimension>(
+ const DoFHandler<deal_II_dimension,deal_II_dimension> &mg_dof);
+ template
+ void MGLevelGlobalTransfer< parallel::distributed::Vector<long double> >::fill_and_communicate_copy_indices<deal_II_dimension,deal_II_dimension>(
+ const DoFHandler<deal_II_dimension,deal_II_dimension> &mg_dof);
+ }
+
+for (deal_II_dimension : DIMENSIONS; S1, S2 : REAL_SCALARS)
{
template void
- MGLevelGlobalTransfer<parallel::distributed::Vector<double> >::copy_to_mg (
- const DoFHandler<deal_II_dimension>&, MGLevelObject<parallel::distributed::Vector<double> >&, const parallel::distributed::Vector<S2>&) const;
+ MGLevelGlobalTransfer<parallel::distributed::Vector<S1> >::copy_to_mg (
+ const DoFHandler<deal_II_dimension>&, MGLevelObject<parallel::distributed::Vector<S1> >&, const parallel::distributed::Vector<S2>&) const;
template void
- MGLevelGlobalTransfer<parallel::distributed::Vector<double> >::copy_from_mg (const DoFHandler<deal_II_dimension>&, parallel::distributed::Vector<S2>&,
- const MGLevelObject<parallel::distributed::Vector<double> >&) const;
+ MGLevelGlobalTransfer<parallel::distributed::Vector<S1> >::copy_from_mg (const DoFHandler<deal_II_dimension>&, parallel::distributed::Vector<S2>&,
+ const MGLevelObject<parallel::distributed::Vector<S1> >&) const;
template void
- MGLevelGlobalTransfer<parallel::distributed::Vector<double> >::copy_from_mg_add (const DoFHandler<deal_II_dimension>&, parallel::distributed::Vector<S2>&,
- const MGLevelObject<parallel::distributed::Vector<double> >&) const;
+ MGLevelGlobalTransfer<parallel::distributed::Vector<S1> >::copy_from_mg_add (const DoFHandler<deal_II_dimension>&, parallel::distributed::Vector<S2>&,
+ const MGLevelObject<parallel::distributed::Vector<S1> >&) const;
}
for(deal_II_dimension : DIMENSIONS)