16 #include <deal.II/lac/affine_constraints.h>
17 #include <deal.II/lac/affine_constraints.templates.h>
20 DEAL_II_NAMESPACE_OPEN
22 #include "affine_constraints.inst"
32 #define INSTANTIATE_DLTG_VECTOR(VectorType) \
33 template void AffineConstraints<VectorType::value_type>::condense< \
34 VectorType>(const VectorType &, VectorType &) const; \
36 AffineConstraints<VectorType::value_type>::condense<VectorType>( \
37 VectorType &) const; \
39 AffineConstraints<VectorType::value_type>::distribute_local_to_global< \
41 const Vector<VectorType::value_type> &, \
42 const std::vector<AffineConstraints<VectorType::value_type>::size_type> &, \
44 const FullMatrix<VectorType::value_type> &) const; \
46 AffineConstraints<VectorType::value_type>::distribute_local_to_global< \
48 const Vector<VectorType::value_type> &, \
49 const std::vector<AffineConstraints<VectorType::value_type>::size_type> &, \
50 const std::vector<AffineConstraints<VectorType::value_type>::size_type> &, \
52 const FullMatrix<VectorType::value_type> &, \
55 #define INSTANTIATE_DLTG_VECTORMATRIX(MatrixType, VectorType) \
56 template void AffineConstraints<MatrixType::value_type>:: \
57 distribute_local_to_global<MatrixType, VectorType>( \
58 const FullMatrix<MatrixType::value_type> &, \
59 const Vector<VectorType::value_type> &, \
60 const std::vector<AffineConstraints::size_type> &, \
64 std::integral_constant<bool, false>) const
66 #define INSTANTIATE_DLTG_BLOCK_VECTORMATRIX(MatrixType, VectorType) \
67 template void AffineConstraints<MatrixType::value_type>:: \
68 distribute_local_to_global<MatrixType, VectorType>( \
69 const FullMatrix<MatrixType::value_type> &, \
70 const Vector<VectorType::value_type> &, \
71 const std::vector<AffineConstraints::size_type> &, \
75 std::integral_constant<bool, true>) const
77 #define INSTANTIATE_DLTG_MATRIX(MatrixType) \
79 AffineConstraints<MatrixType::value_type>::distribute_local_to_global< \
80 MatrixType>(const FullMatrix<MatrixType::value_type> &, \
81 const std::vector<AffineConstraints::size_type> &, \
82 const std::vector<AffineConstraints::size_type> &, \
83 MatrixType &) const; \
85 AffineConstraints<MatrixType::value_type>::distribute_local_to_global< \
86 MatrixType>(const FullMatrix<MatrixType::value_type> &, \
87 const std::vector<AffineConstraints::size_type> &, \
88 const AffineConstraints<MatrixType::value_type> &, \
89 const std::vector<AffineConstraints::size_type> &, \
92 #ifdef DEAL_II_WITH_PETSC
100 Vector<PetscScalar>);
105 Vector<PetscScalar>);
114 #ifdef DEAL_II_WITH_TRILINOS
142 #define SCRATCH_INITIALIZER(number, Name) \
143 AffineConstraintsData<number>::ScratchData scratch_data_initializer_##Name; \
145 Threads::ThreadLocalStorage<AffineConstraintsData<number>::ScratchData> \
146 AffineConstraintsData<number>::scratch_data( \
147 scratch_data_initializer_##Name)
149 SCRATCH_INITIALIZER(
double, d);
150 SCRATCH_INITIALIZER(
float, f);
151 #ifdef DEAL_II_WITH_COMPLEX_VALUES
152 SCRATCH_INITIALIZER(std::complex<double>, cd);
153 SCRATCH_INITIALIZER(std::complex<float>, cf);
155 #undef SCRATCH_INITIALIZER
158 DEAL_II_NAMESPACE_CLOSE