reinit(const VectorSpaceVector<Number> &V,
const bool omit_zeroing_entries = false) override;
+ /**
+ * Returns `false` as this is a serial vector.
+ *
+ * This functionality only needs to be called if using MPI based vectors and
+ * exists in other objects for compatibility.
+ */
+ bool
+ has_ghost_elements() const;
+
/**
* Copies the data of the input vector @p in_vector.
*/
struct is_serial_vector<LinearAlgebra::Vector<Number>> : std::true_type
{};
+#ifndef DOXYGEN
+/*----------------------- Inline functions ----------------------------------*/
+
+namespace LinearAlgebra
+{
+ template <typename Number>
+ inline bool
+ Vector<Number>::has_ghost_elements() const
+ {
+ return false;
+ }
+} // namespace LinearAlgebra
+
+#endif
+
DEAL_II_NAMESPACE_CLOSE
DEAL_II_NAMESPACE_OPEN
+
+namespace internal
+{
+ namespace AffineConstraintsImplementation
+ {
+ template void
+ set_zero_all(
+ const std::vector<types::global_dof_index> & cm,
+ LinearAlgebra::distributed::Vector<float, MemorySpace::CUDA> &vec);
+
+ template void
+ set_zero_all(
+ const std::vector<types::global_dof_index> & cm,
+ LinearAlgebra::distributed::Vector<double, MemorySpace::CUDA> &vec);
+ } // namespace AffineConstraintsImplementation
+} // namespace internal
+
template void
AffineConstraints<float>::set_zero<
LinearAlgebra::distributed::Vector<float, MemorySpace::CUDA>>(
template void dealii::AffineConstraints<double>::distribute<T<float>>(
T<float> &) const;
}
+
+
+for (T : VECTOR_TYPES)
+ {
+ namespace internal
+ {
+ namespace AffineConstraintsImplementation
+ {
+ template void
+ set_zero_all(const std::vector<types::global_dof_index> &, T &vec);
+ \}
+ \}
+ }