85 auto &[U, prec, V] = state_vector;
89 U.template move_to_memory_space<dealii::MemorySpace::Host>();
90 prec.template move_to_memory_space<dealii::MemorySpace::Host>();
93 constexpr auto nan = std::numeric_limits<Number>::signaling_NaN();
95 const unsigned int n_owned = offline_data.n_locally_owned();
96 const unsigned int n_relevant = offline_data.n_locally_relevant();
97 const auto &partitioner = offline_data.scalar_partitioner();
99 const auto U_view = U.view();
100 const auto prec_view = prec.view();
102 for (
unsigned int i = 0; i < n_owned; ++i) {
103 prec_view.write_tensor(dealii::Tensor<1, prec_dim, Number>() * nan, i);
105 if (!offline_data.affine_constraints().is_constrained(
106 partitioner->local_to_global(i)))
108 U_view.write_tensor(dealii::Tensor<1, prob_dim, Number>() * nan, i);
111 for (
unsigned int i = n_owned; i < n_relevant; ++i) {
112 prec_view.write_tensor(dealii::Tensor<1, prec_dim, Number>() * nan, i);
114 U_view.write_tensor(dealii::Tensor<1, prob_dim, Number>() * nan, i);