From c406714c2852595bcba4da7e6b72a60247752e56 Mon Sep 17 00:00:00 2001 From: Guido Kanschat Date: Wed, 9 Mar 2005 20:18:36 +0000 Subject: [PATCH] missing instantiation added and moved functions to driver file git-svn-id: https://svn.dealii.org/trunk@10070 0785d39b-7218-0410-832d-ea1e28bc413d --- .../deal.II/source/multigrid/mg_dof_tools.cc | 106 +++--------------- .../source/multigrid/mg_tools.pattern.in.h | 56 +++++++++ 2 files changed, 74 insertions(+), 88 deletions(-) create mode 100644 deal.II/deal.II/source/multigrid/mg_tools.pattern.in.h 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 9e667dd667..84f03ce2b6 100644 --- a/deal.II/deal.II/source/multigrid/mg_dof_tools.cc +++ b/deal.II/deal.II/source/multigrid/mg_dof_tools.cc @@ -653,95 +653,25 @@ MGTools::reinit_vector (const MGDoFHandler &mg_dof, // explicit instantiations -template void -MGTools::make_sparsity_pattern (const MGDoFHandler &, - SparsityPattern &, - const unsigned int); - -template void -MGTools::make_flux_sparsity_pattern (const MGDoFHandler &, - SparsityPattern &, - const unsigned int); - -template void -MGTools::make_flux_sparsity_pattern_edge (const MGDoFHandler &, - SparsityPattern &, - const unsigned int); - -template void -MGTools::make_sparsity_pattern (const MGDoFHandler &, - CompressedSparsityPattern &, - const unsigned int); - -template void -MGTools::make_flux_sparsity_pattern (const MGDoFHandler &, - CompressedSparsityPattern &, - const unsigned int); - -template void -MGTools::make_flux_sparsity_pattern_edge (const MGDoFHandler &, - CompressedSparsityPattern &, - const unsigned int); - -template void -MGTools::make_sparsity_pattern (const MGDoFHandler &, - BlockSparsityPattern &, - const unsigned int); -template void -MGTools::make_flux_sparsity_pattern (const MGDoFHandler &, - BlockSparsityPattern &, - const unsigned int); - -template void -MGTools::make_flux_sparsity_pattern_edge (const MGDoFHandler &, - BlockSparsityPattern &, - const unsigned int); - -template void -MGTools::make_sparsity_pattern (const MGDoFHandler &, - CompressedBlockSparsityPattern &, - const unsigned int); - -template void -MGTools::make_flux_sparsity_pattern (const MGDoFHandler &, - CompressedBlockSparsityPattern &, - const unsigned int); - -template void -MGTools::make_flux_sparsity_pattern_edge (const MGDoFHandler &, - CompressedBlockSparsityPattern &, - const unsigned int); - -#if deal_II_dimension > 1 -template void -MGTools::make_flux_sparsity_pattern (const MGDoFHandler &, - SparsityPattern &, - const unsigned int, - const Table<2,DoFTools::Coupling>&, - const Table<2,DoFTools::Coupling>&); - -template void -MGTools::make_flux_sparsity_pattern (const MGDoFHandler &, - CompressedSparsityPattern &, - const unsigned int, - const Table<2,DoFTools::Coupling>&, - const Table<2,DoFTools::Coupling>&); - -template void -MGTools::make_flux_sparsity_pattern (const MGDoFHandler &, - BlockSparsityPattern &, - const unsigned int, - const Table<2,DoFTools::Coupling>&, - const Table<2,DoFTools::Coupling>&); - -template void -MGTools::make_flux_sparsity_pattern (const MGDoFHandler &, - CompressedBlockSparsityPattern &, - const unsigned int, - const Table<2,DoFTools::Coupling>&, - const Table<2,DoFTools::Coupling>&); -#endif +// Functions for building sparsity patterns are in a driver file. We +// call it for all different patterns known. +#define PATTERN SparsityPattern +#include "mg_tools.pattern.in.h" +#undef PATTERN + +#define PATTERN CompressedSparsityPattern +#include "mg_tools.pattern.in.h" +#undef PATTERN + +#define PATTERN BlockSparsityPattern +#include "mg_tools.pattern.in.h" +#undef PATTERN + +#define PATTERN CompressedBlockSparsityPattern +#include "mg_tools.pattern.in.h" +#undef PATTERN + template void MGTools::reinit_vector ( const MGDoFHandler&, diff --git a/deal.II/deal.II/source/multigrid/mg_tools.pattern.in.h b/deal.II/deal.II/source/multigrid/mg_tools.pattern.in.h new file mode 100644 index 0000000000..c3e08fe9ae --- /dev/null +++ b/deal.II/deal.II/source/multigrid/mg_tools.pattern.in.h @@ -0,0 +1,56 @@ +//--------------------------------------------------------------------------- +// $Id$ +// Version: $Name$ +// +// Copyright (C) 2002, 2003, 2005 by the deal.II authors +// +// This file is subject to QPL and may not be distributed +// without copyright and license information. Please refer +// to the file deal.II/doc/license.html for the text and +// further information on this license. +// +//--------------------------------------------------------------------------- + +// Driver file for MGTools::Make_*_sparsity_* routines. + +// Call this file after defining PATTERN to the desired sparsity +// pattern type. + + +template void +MGTools::make_sparsity_pattern ( + const MGDoFHandler &, + PATTERN &, + const unsigned int); + +template void +MGTools::make_flux_sparsity_pattern ( + const MGDoFHandler &, + PATTERN &, + const unsigned int); + +template void +MGTools::make_flux_sparsity_pattern_edge ( + const MGDoFHandler &, + PATTERN &, + const unsigned int); + +#if deal_II_dimension > 1 + +template void +MGTools::make_flux_sparsity_pattern ( + const MGDoFHandler &, + PATTERN &, + const unsigned int, + const Table<2,DoFTools::Coupling>&, + const Table<2,DoFTools::Coupling>&); + +template void +MGTools::make_flux_sparsity_pattern_edge ( + const MGDoFHandler &, + PATTERN &, + const unsigned int, + const Table<2,DoFTools::Coupling>&); + +#endif + -- 2.39.5