63 const auto n_owned = diagonal_.get_partitioner()->locally_owned_size();
64 AssertDimension(n_owned, src.get_partitioner()->locally_owned_size());
65 AssertDimension(n_owned, dst.get_partitioner()->locally_owned_size());
67 DEAL_II_OPENMP_SIMD_PRAGMA
68 for (
unsigned int i = 0; i < n_owned; ++i)
69 dst.local_element(i) =
70 diagonal_.local_element(i) * src.local_element(i);
78 const auto n_blocks = src.n_blocks();
79 AssertDimension(n_blocks, dst.n_blocks());
81 const auto n_owned = diagonal_.get_partitioner()->locally_owned_size();
83 for (
unsigned int d = 0; d < n_blocks; ++d) {
84 AssertDimension(n_owned,
85 src.block(d).get_partitioner()->locally_owned_size());
86 AssertDimension(n_owned,
87 dst.block(d).get_partitioner()->locally_owned_size());
89 DEAL_II_OPENMP_SIMD_PRAGMA
90 for (
unsigned int i = 0; i < n_owned; ++i)
91 dst.block(d).local_element(i) =
92 diagonal_.local_element(i) * src.block(d).local_element(i);