From beaa36f45c747adeb371262ac0158ee60a990084 Mon Sep 17 00:00:00 2001 From: Matthias Maier Date: Sun, 27 May 2018 21:58:44 -0500 Subject: [PATCH] Workaround: Add compatibility instantiations --- source/lac/affine_constraints.cc | 11 ----------- source/lac/affine_constraints.inst.in | 13 +++++++++++++ 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/source/lac/affine_constraints.cc b/source/lac/affine_constraints.cc index aef54fb03a..39c51d7dbc 100644 --- a/source/lac/affine_constraints.cc +++ b/source/lac/affine_constraints.cc @@ -21,17 +21,6 @@ DEAL_II_NAMESPACE_OPEN #include "affine_constraints.inst" -/* - * FIXME: This mixed variant is needed by the multigrid - it currently only - * supports AffineConstraints. If someone has the patience to - * templateify the 10 custom wrapper classes around AffineConstraints, - * please go ahead, fix the multigrid classes and remove this - * instantiation: - */ -template void -dealii::AffineConstraints::condense>( - dealii::BlockVector &) const; - /* * Note: You probably do not want to add your custom instantiation down * here but use affine_constraints.inst.in instead. We use the following diff --git a/source/lac/affine_constraints.inst.in b/source/lac/affine_constraints.inst.in index 5d47c6796d..ad54c969d0 100644 --- a/source/lac/affine_constraints.inst.in +++ b/source/lac/affine_constraints.inst.in @@ -336,3 +336,16 @@ for (V : EXTERNAL_PARALLEL_VECTORS) template void AffineConstraints::set_zero(V &) const; } + + +// +// FIXME: These mixed variants are needed for multigrid and matrix free. +// + +for (T : DEAL_II_VEC_TEMPLATES) + { + template void dealii::AffineConstraints::condense>( + T &) const; + template void dealii::AffineConstraints::distribute>( + T &) const; + } -- 2.39.5