From b9e4f94e90d34df15a444aa9cad24b5c4787b9a9 Mon Sep 17 00:00:00 2001 From: Marc Fehling Date: Fri, 12 Apr 2024 15:35:13 +0200 Subject: [PATCH] Clean up many explicit instantiations. --- .../fully_distributed_tria.inst.in | 11 +- source/distributed/tria_base.inst.in | 20 +- source/dofs/block_info.inst.in | 20 +- source/dofs/dof_accessor.inst.in | 6 +- source/dofs/dof_handler.inst.in | 2 +- source/dofs/dof_tools.inst.in | 6 +- source/dofs/dof_tools_sparsity.inst.in | 235 +++--------------- source/fe/fe_pyramid_p.inst.in | 2 +- source/fe/fe_simplex_p.inst.in | 2 +- source/fe/fe_simplex_p_bubbles.inst.in | 2 +- source/fe/fe_wedge_p.inst.in | 2 +- source/grid/grid_generator.inst.in | 2 +- source/grid/tria_accessor.inst.in | 8 +- source/grid/tria_description.inst.in | 2 +- source/matrix_free/shape_info.inst.in | 4 +- .../non_matching/quadrature_generator.inst.in | 2 +- source/numerics/data_out.inst.in | 18 +- .../numerics/data_out_dof_data_codim.inst.in | 4 +- source/numerics/data_out_resample.inst.in | 2 +- 19 files changed, 77 insertions(+), 273 deletions(-) diff --git a/source/distributed/fully_distributed_tria.inst.in b/source/distributed/fully_distributed_tria.inst.in index 1883f1edd6..d2ec56a6be 100644 --- a/source/distributed/fully_distributed_tria.inst.in +++ b/source/distributed/fully_distributed_tria.inst.in @@ -14,18 +14,15 @@ -for (deal_II_dimension : DIMENSIONS) +for (deal_II_dimension : DIMENSIONS; deal_II_space_dimension : SPACE_DIMENSIONS) { namespace parallel \{ namespace fullydistributed \{ - template class Triangulation; -#if deal_II_dimension < 3 - template class Triangulation; -#endif -#if deal_II_dimension < 2 - template class Triangulation; +#if deal_II_dimension <= deal_II_space_dimension + template class Triangulation; #endif \} \} diff --git a/source/distributed/tria_base.inst.in b/source/distributed/tria_base.inst.in index 311ee754fd..a9136c157d 100644 --- a/source/distributed/tria_base.inst.in +++ b/source/distributed/tria_base.inst.in @@ -14,28 +14,16 @@ -for (deal_II_dimension : DIMENSIONS) +for (deal_II_dimension : DIMENSIONS; deal_II_space_dimension : SPACE_DIMENSIONS) { namespace parallel \{ - template class TriangulationBase; -#if deal_II_dimension < 3 +#if deal_II_dimension <= deal_II_space_dimension template class TriangulationBase; -#endif -#if deal_II_dimension < 2 - template class TriangulationBase; -#endif + deal_II_space_dimension>; - template class DistributedTriangulationBase; -#if deal_II_dimension < 3 - template class DistributedTriangulationBase; -#endif -#if deal_II_dimension < 2 template class DistributedTriangulationBase; + deal_II_space_dimension>; #endif \} } diff --git a/source/dofs/block_info.inst.in b/source/dofs/block_info.inst.in index 4000d35b82..33e1aa859f 100644 --- a/source/dofs/block_info.inst.in +++ b/source/dofs/block_info.inst.in @@ -13,22 +13,14 @@ // ------------------------------------------------------------------------ -for (deal_II_dimension : DIMENSIONS) +for (deal_II_dimension : DIMENSIONS; deal_II_space_dimension : SPACE_DIMENSIONS) { +#if deal_II_dimension <= deal_II_space_dimension template void BlockInfo::initialize( - const DoFHandler &, bool, bool); + const DoFHandler &, + bool, + bool); template void BlockInfo::initialize_local( - const DoFHandler &); - -#if deal_II_dimension < 3 - template void BlockInfo::initialize( - const DoFHandler &, bool, bool); - template void BlockInfo::initialize_local( - const DoFHandler &); -#endif - -#if deal_II_dimension == 3 - template void BlockInfo::initialize(const DoFHandler<1, 3> &, bool, bool); - template void BlockInfo::initialize_local(const DoFHandler<1, 3> &); + const DoFHandler &); #endif } diff --git a/source/dofs/dof_accessor.inst.in b/source/dofs/dof_accessor.inst.in index db31f92f6c..b880006cf6 100644 --- a/source/dofs/dof_accessor.inst.in +++ b/source/dofs/dof_accessor.inst.in @@ -15,7 +15,7 @@ for (deal_II_struct_dimension : DIMENSIONS; deal_II_dimension : DIMENSIONS; - deal_II_space_dimension : DIMENSIONS; + deal_II_space_dimension : SPACE_DIMENSIONS; lda : BOOL) { #if deal_II_struct_dimension <= deal_II_dimension && \ @@ -40,7 +40,7 @@ for (deal_II_struct_dimension : DIMENSIONS; deal_II_dimension : DIMENSIONS; } -for (deal_II_dimension : DIMENSIONS; deal_II_space_dimension : DIMENSIONS; +for (deal_II_dimension : DIMENSIONS; deal_II_space_dimension : SPACE_DIMENSIONS; lda : BOOL) { #if deal_II_dimension <= deal_II_space_dimension @@ -65,7 +65,7 @@ for (deal_II_dimension : DIMENSIONS; deal_II_space_dimension : DIMENSIONS; for (deal_II_struct_dimension : DIMENSIONS; deal_II_dimension : DIMENSIONS; - deal_II_space_dimension : DIMENSIONS) + deal_II_space_dimension : SPACE_DIMENSIONS) { template class DoFInvalidAccessor; diff --git a/source/dofs/dof_tools.inst.in b/source/dofs/dof_tools.inst.in index 864e81037a..b891f1f3a1 100644 --- a/source/dofs/dof_tools.inst.in +++ b/source/dofs/dof_tools.inst.in @@ -389,7 +389,7 @@ for (deal_II_dimension : DIMENSIONS; S : REAL_AND_COMPLEX_SCALARS) } -for (deal_II_dimension : DIMENSIONS; deal_II_space_dimension : DIMENSIONS) +for (deal_II_dimension : DIMENSIONS; deal_II_space_dimension : SPACE_DIMENSIONS) { #if deal_II_dimension <= deal_II_space_dimension namespace DoFTools @@ -443,7 +443,7 @@ for (deal_II_dimension : DIMENSIONS; deal_II_space_dimension : DIMENSIONS) } -for (deal_II_dimension : DIMENSIONS; deal_II_space_dimension : DIMENSIONS) +for (deal_II_dimension : DIMENSIONS; deal_II_space_dimension : SPACE_DIMENSIONS) { #if deal_II_dimension <= deal_II_space_dimension namespace DoFTools @@ -490,7 +490,7 @@ for (deal_II_dimension : DIMENSIONS; deal_II_space_dimension : DIMENSIONS) #endif } -for (deal_II_dimension : DIMENSIONS; deal_II_space_dimension : DIMENSIONS) +for (deal_II_dimension : DIMENSIONS; deal_II_space_dimension : SPACE_DIMENSIONS) { #if deal_II_dimension >= 2 && (deal_II_dimension <= deal_II_space_dimension) namespace DoFTools diff --git a/source/dofs/dof_tools_sparsity.inst.in b/source/dofs/dof_tools_sparsity.inst.in index c1778af6d7..ae16225ec8 100644 --- a/source/dofs/dof_tools_sparsity.inst.in +++ b/source/dofs/dof_tools_sparsity.inst.in @@ -12,253 +12,90 @@ // // ------------------------------------------------------------------------ -for (scalar : REAL_AND_COMPLEX_SCALARS; deal_II_dimension : DIMENSIONS) +for (deal_II_dimension : DIMENSIONS; deal_II_space_dimension : SPACE_DIMENSIONS; + scalar : REAL_AND_COMPLEX_SCALARS) { - template void DoFTools::make_boundary_sparsity_pattern( - const DoFHandler &dof, - const std::map *> &boundary_ids, - const std::vector &dof_to_boundary_mapping, - SparsityPatternBase &sparsity); - -#if deal_II_dimension < 3 - - template void - DoFTools::make_boundary_sparsity_pattern( - const DoFHandler &dof, - const std::map *> - &boundary_ids, - const std::vector &dof_to_boundary_mapping, - SparsityPatternBase &sparsity); - -#endif - -#if deal_II_dimension == 1 +#if deal_II_dimension <= deal_II_space_dimension template void DoFTools::make_boundary_sparsity_pattern( - const DoFHandler &dof, + const DoFHandler &, const std::map *> - &boundary_ids, - const std::vector &dof_to_boundary_mapping, - SparsityPatternBase &sparsity); -#endif - } - -for (deal_II_dimension : DIMENSIONS; S : REAL_AND_COMPLEX_SCALARS) - { - template void - DoFTools::make_sparsity_pattern( - const DoFHandler &dof, - SparsityPatternBase &sparsity, - const AffineConstraints &, - const bool, - const types::subdomain_id); + const Function *> &, + const std::vector &, + SparsityPatternBase &); template void - DoFTools::make_sparsity_pattern( - const DoFHandler &, - const Table<2, Coupling> &, + DoFTools::make_sparsity_pattern( + const DoFHandler &, SparsityPatternBase &, - const AffineConstraints &, - const bool, - const types::subdomain_id); - - template void - DoFTools::make_flux_sparsity_pattern( - const DoFHandler &dof, - SparsityPatternBase &sparsity, - const AffineConstraints &, - const bool, - const Table<2, Coupling> &, - const Table<2, Coupling> &, - const types::subdomain_id, - const std::function::active_cell_iterator &, - const unsigned int)> &); - - template void - DoFTools::make_flux_sparsity_pattern( - const DoFHandler &dof, - SparsityPatternBase &sparsity, - const AffineConstraints &, - const bool, - const types::subdomain_id); - -#if deal_II_dimension < 3 - - template void - DoFTools::make_sparsity_pattern( - const DoFHandler &dof, - SparsityPatternBase &sparsity, - const AffineConstraints &, + const AffineConstraints &, const bool, const types::subdomain_id); template void - DoFTools::make_sparsity_pattern( - const DoFHandler &, + DoFTools::make_sparsity_pattern( + const DoFHandler &, const Table<2, Coupling> &, SparsityPatternBase &, - const AffineConstraints &, + const AffineConstraints &, const bool, const types::subdomain_id); template void DoFTools::make_flux_sparsity_pattern( - const DoFHandler &dof, - SparsityPatternBase &sparsity, - const AffineConstraints &, + deal_II_space_dimension>( + const DoFHandler &, + SparsityPatternBase &, + const AffineConstraints &, const bool, const Table<2, Coupling> &, const Table<2, Coupling> &, const types::subdomain_id, const std::function:: + const typename DoFHandler:: active_cell_iterator &, const unsigned int)> &); template void DoFTools::make_flux_sparsity_pattern( - const DoFHandler &dof, - SparsityPatternBase &sparsity, - const AffineConstraints &, - const bool, - const types::subdomain_id); - -#endif - -#if deal_II_dimension == 3 - - template void DoFTools::make_sparsity_pattern<1, 3>( - const DoFHandler<1, 3> &dof, - SparsityPatternBase &sparsity, - const AffineConstraints &, - const bool, - const types::subdomain_id); - - template void DoFTools::make_sparsity_pattern<1, 3>( - const DoFHandler<1, 3> &, - const Table<2, Coupling> &, + deal_II_space_dimension>( + const DoFHandler &, SparsityPatternBase &, - const AffineConstraints &, - const bool, - const types::subdomain_id); - - template void DoFTools::make_flux_sparsity_pattern<1, 3>( - const DoFHandler<1, 3> &dof, - SparsityPatternBase &sparsity, - const AffineConstraints &, - const bool, - const Table<2, Coupling> &, - const Table<2, Coupling> &, - const types::subdomain_id, - const std::function< - bool(const typename DoFHandler<1, 3>::active_cell_iterator &, - const unsigned int)> &); - - template void DoFTools::make_flux_sparsity_pattern<1, 3>( - const DoFHandler<1, 3> &dof, - SparsityPatternBase &sparsity, - const AffineConstraints &, + const AffineConstraints &, const bool, const types::subdomain_id); - #endif } -for (deal_II_dimension : DIMENSIONS) +for (deal_II_dimension : DIMENSIONS; deal_II_space_dimension : SPACE_DIMENSIONS) { +#if deal_II_dimension <= deal_II_space_dimension template void - DoFTools::make_sparsity_pattern( - const DoFHandler &dof_row, - const DoFHandler &dof_col, - SparsityPatternBase &sparsity); - - template void DoFTools::make_boundary_sparsity_pattern( - const DoFHandler &dof, - const std::vector &, + DoFTools::make_sparsity_pattern( + const DoFHandler &, + const DoFHandler &, SparsityPatternBase &); - template void - DoFTools::make_flux_sparsity_pattern( - const DoFHandler &dof, SparsityPatternBase &sparsity); - - template void - DoFTools::make_flux_sparsity_pattern( - const DoFHandler &dof, - SparsityPatternBase &sparsity, - const Table<2, Coupling> &, - const Table<2, Coupling> &, - const types::subdomain_id); - -#if deal_II_dimension < 3 - - template void DoFTools::make_flux_sparsity_pattern( - const DoFHandler &dof, - SparsityPatternBase &sparsity); - - template void DoFTools::make_flux_sparsity_pattern( - const DoFHandler &dof, - SparsityPatternBase &sparsity, - const Table<2, Coupling> &, - const Table<2, Coupling> &, - const types::subdomain_id); - - template void - DoFTools::make_sparsity_pattern( - const DoFHandler &dof_row, - const DoFHandler &dof_col, - SparsityPatternBase &sparsity); - template void DoFTools::make_boundary_sparsity_pattern( - const DoFHandler &dof, + deal_II_space_dimension>( + const DoFHandler &, const std::vector &, SparsityPatternBase &); -#endif - - -#if deal_II_dimension == 3 - - template void DoFTools::make_sparsity_pattern<1, 3>( - const DoFHandler<1, 3> &dof_row, - const DoFHandler<1, 3> &dof_col, - SparsityPatternBase &sparsity); - - template void DoFTools::make_boundary_sparsity_pattern<1, 3>( - const DoFHandler<1, 3> &dof, - const std::vector &, + template void DoFTools::make_flux_sparsity_pattern( + const DoFHandler &, SparsityPatternBase &); - template void DoFTools::make_flux_sparsity_pattern<1, 3>( - const DoFHandler<1, 3> &dof, SparsityPatternBase &sparsity); - - template void DoFTools::make_flux_sparsity_pattern<1, 3>( - const DoFHandler<1, 3> &dof, - SparsityPatternBase &sparsity, + template void DoFTools::make_flux_sparsity_pattern( + const DoFHandler &, + SparsityPatternBase &, const Table<2, Coupling> &, const Table<2, Coupling> &, const types::subdomain_id); -#endif - } - -for (deal_II_dimension : DIMENSIONS; deal_II_space_dimension : SPACE_DIMENSIONS) - { -#if deal_II_dimension <= deal_II_space_dimension template Table<2, DoFTools::Coupling> DoFTools::dof_couplings_from_component_couplings( const FiniteElement &fe, diff --git a/source/fe/fe_pyramid_p.inst.in b/source/fe/fe_pyramid_p.inst.in index a39cb74561..1c154a6a3b 100644 --- a/source/fe/fe_pyramid_p.inst.in +++ b/source/fe/fe_pyramid_p.inst.in @@ -14,7 +14,7 @@ -for (deal_II_dimension : DIMENSIONS; deal_II_space_dimension : DIMENSIONS) +for (deal_II_dimension : DIMENSIONS; deal_II_space_dimension : SPACE_DIMENSIONS) { #if deal_II_dimension <= deal_II_space_dimension template class FE_PyramidPoly; diff --git a/source/fe/fe_simplex_p.inst.in b/source/fe/fe_simplex_p.inst.in index fc06967957..673118e853 100644 --- a/source/fe/fe_simplex_p.inst.in +++ b/source/fe/fe_simplex_p.inst.in @@ -14,7 +14,7 @@ -for (deal_II_dimension : DIMENSIONS; deal_II_space_dimension : DIMENSIONS) +for (deal_II_dimension : DIMENSIONS; deal_II_space_dimension : SPACE_DIMENSIONS) { #if deal_II_dimension <= deal_II_space_dimension template class FE_SimplexPoly; diff --git a/source/fe/fe_simplex_p_bubbles.inst.in b/source/fe/fe_simplex_p_bubbles.inst.in index 3191a06e93..7304d8ef94 100644 --- a/source/fe/fe_simplex_p_bubbles.inst.in +++ b/source/fe/fe_simplex_p_bubbles.inst.in @@ -14,7 +14,7 @@ -for (deal_II_dimension : DIMENSIONS; deal_II_space_dimension : DIMENSIONS) +for (deal_II_dimension : DIMENSIONS; deal_II_space_dimension : SPACE_DIMENSIONS) { #if deal_II_dimension <= deal_II_space_dimension template class FE_SimplexP_Bubbles; diff --git a/source/grid/grid_generator.inst.in b/source/grid/grid_generator.inst.in index 1ecd90309d..afebbdea9a 100644 --- a/source/grid/grid_generator.inst.in +++ b/source/grid/grid_generator.inst.in @@ -235,7 +235,7 @@ for (deal_II_dimension : DIMENSIONS) -for (deal_II_space_dimension : DIMENSIONS) +for (deal_II_space_dimension : SPACE_DIMENSIONS) { namespace GridGenerator \{ diff --git a/source/grid/tria_accessor.inst.in b/source/grid/tria_accessor.inst.in index 53f41038f4..f5ac2be95c 100644 --- a/source/grid/tria_accessor.inst.in +++ b/source/grid/tria_accessor.inst.in @@ -15,7 +15,7 @@ for (deal_II_struct_dimension : DIMENSIONS; deal_II_dimension : DIMENSIONS; - deal_II_space_dimension : DIMENSIONS) + deal_II_space_dimension : SPACE_DIMENSIONS) { #if deal_II_struct_dimension <= deal_II_dimension && \ deal_II_dimension <= deal_II_space_dimension @@ -38,7 +38,7 @@ for (deal_II_struct_dimension : DIMENSIONS; deal_II_dimension : DIMENSIONS; } -for (deal_II_dimension : DIMENSIONS; deal_II_space_dimension : DIMENSIONS) +for (deal_II_dimension : DIMENSIONS; deal_II_space_dimension : SPACE_DIMENSIONS) { #if deal_II_dimension <= deal_II_space_dimension template class CellAccessor; @@ -51,14 +51,14 @@ for (deal_II_dimension : DIMENSIONS; deal_II_space_dimension : DIMENSIONS) #endif } -for (deal_II_space_dimension : DIMENSIONS) +for (deal_II_space_dimension : SPACE_DIMENSIONS) { template class TriaAccessor<0, 1, deal_II_space_dimension>; template class TriaIterator>; } for (deal_II_struct_dimension : DIMENSIONS; deal_II_dimension : DIMENSIONS; - deal_II_space_dimension : DIMENSIONS) + deal_II_space_dimension : SPACE_DIMENSIONS) { template class InvalidAccessor; -#endif \} \} - } - - -for (deal_II_dimension : DIMENSIONS) - { - template class DataOut; -#if deal_II_dimension < 3 - template class DataOut; -#endif -#if deal_II_dimension == 3 - template class DataOut<1, 3>; + template class DataOut; #endif } diff --git a/source/numerics/data_out_dof_data_codim.inst.in b/source/numerics/data_out_dof_data_codim.inst.in index 0259aec89e..bdbc815837 100644 --- a/source/numerics/data_out_dof_data_codim.inst.in +++ b/source/numerics/data_out_dof_data_codim.inst.in @@ -14,7 +14,7 @@ for (VEC : REAL_VECTOR_TYPES; deal_II_dimension : DIMENSIONS; - deal_II_space_dimension : DIMENSIONS) + deal_II_space_dimension : SPACE_DIMENSIONS) { #if deal_II_dimension < deal_II_space_dimension template void DataOut_DoFData