27 auto edges = get_edges();
29 auto &orig_data_fields = edges.original_fields;
30 auto &idx_in_ghost = edges.idx_in_ghosts;
31 auto &ghost_fields = edges.ghost_fields;
33 ghost_fields.patchdata_fields.reset();
35 for (
const auto &[key, sender_idx_in_ghost] : idx_in_ghost.buffers) {
36 auto [sender, receiver] = key;
37 auto field_name = orig_data_fields.get_field(sender).get_name();
38 auto nvar = orig_data_fields.get_field(sender).get_nvar();
42 orig_data_fields.get_field(sender).append_subset_to(
43 sender_idx_in_ghost,
static_cast<u32>(sender_idx_in_ghost.get_size()), gz_field);
45 ghost_fields.patchdata_fields.add_obj(sender, receiver, std::move(gz_field));