#include "affine_constraints.inst"
+/*
+ * FIXME: This mixed variant is needed by the multigrid - it currently only
+ * supports AffineConstraints<double>. 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<double>::condense<dealii::BlockVector<float>>(
+ dealii::BlockVector<float> &) 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
#define INSTANTIATE_DLTG_VECTOR(VectorType) \
template void \
+ AffineConstraints<VectorType::value_type>::condense<VectorType>( \
+ const VectorType &, VectorType &) const; \
+ template void \
+ AffineConstraints<VectorType::value_type>::condense<VectorType>( \
+ VectorType &) const; \
+ template void \
AffineConstraints<VectorType::value_type>::distribute_local_to_global< \
VectorType>( \
const Vector<VectorType::value_type> &, \
LinearAlgebra::distributed::T<S> &) const;
}
+for (S : COMPLEX_SCALARS; T : DEAL_II_VEC_TEMPLATES)
+ {
+ template void AffineConstraints<S::value_type>::distribute<T<S>>(T<S> &)
+ const;
+
+ template void AffineConstraints<S::value_type>::distribute<
+ LinearAlgebra::distributed::T<S>>(LinearAlgebra::distributed::T<S> &)
+ const;
+
+ template void AffineConstraints<S::value_type>::set_zero<T<S>>(T<S> &)
+ const;
+
+ template void AffineConstraints<S::value_type>::set_zero<
+ LinearAlgebra::distributed::T<S>>(LinearAlgebra::distributed::T<S> &)
+ const;
+ }
for (S : REAL_AND_COMPLEX_SCALARS)
+ {
+ template void AffineConstraints<S>::distribute<LinearAlgebra::Vector<S>>(
+ LinearAlgebra::Vector<S> &) const;
+ }
+
+for (S : COMPLEX_SCALARS)
{
template void
- AffineConstraints<S>::distribute<LinearAlgebra::Vector<S>>(
+ AffineConstraints<S::value_type>::distribute<LinearAlgebra::Vector<S>>(
LinearAlgebra::Vector<S> &) const;
}