31namespace shammodels::common::io {
47 using namespace shamrock::patch;
49 u64 num_obj = sched.get_rank_count();
51 shamlog_debug_mpi_ln(
"VTKDump",
"rank count =", num_obj);
53 std::unique_ptr<sycl::buffer<Tvec>> pos = sched.rankgather_field<Tvec>(0);
55 writer.write_points(pos, num_obj);
69 u64 num_obj = sched.get_rank_count();
71 using namespace shamrock::patch;
74 sycl::buffer<u64> idp(num_obj);
81 write_with_offset_into(
82 shamsys::instance::get_compute_queue(),
88 ptr += pdat.get_obj_cnt();
91 writer.write_field(
"patchid", idp, num_obj);
93 writer.write_field_no_buf<
u64>(
"patchid");
106 using namespace shamrock::patch;
107 u64 num_obj = sched.get_rank_count();
110 sycl::buffer<u32> idp(num_obj);
117 write_with_offset_into<u32>(
118 shamsys::instance::get_compute_queue(),
124 ptr += pdat.get_obj_cnt();
127 writer.write_field(
"world_rank", idp, num_obj);
129 writer.write_field_no_buf<
u32>(
"world_rank");
147 const std::string &field_dump_name) {
150 using namespace shamrock::patch;
151 u64 num_obj = sched.get_rank_count();
154 std::unique_ptr<sycl::buffer<T>> field_vals = field.rankgather_computefield(sched);
156 writer.write_field(field_dump_name, field_vals, num_obj);
158 writer.write_field_no_buf<T>(field_dump_name);
176 const std::string &field_dump_name) {
179 using namespace shamrock::patch;
180 u64 num_obj = sched.get_rank_count();
183 std::unique_ptr<sycl::buffer<T>> field_vals = sched.rankgather_field<T>(field_idx);
185 writer.write_field(field_dump_name, field_vals, num_obj);
187 writer.write_field_no_buf<T>(field_dump_name);
Header file describing a Node Instance.
void vtk_dump_add_compute_field(PatchScheduler &sched, shamrock::LegacyVtkWriter &writer, shamrock::ComputeField< T > &field, const std::string &field_dump_name)
Add a compute field to VTK dump.
void vtk_dump_add_field(PatchScheduler &sched, shamrock::LegacyVtkWriter &writer, u32 field_idx, const std::string &field_dump_name)
Add a data field to VTK dump.
shamrock::LegacyVtkWriter start_dump(PatchScheduler &sched, const std::string &dump_name)
Start a VTK dump by writing particle positions.
void vtk_dump_add_patch_id(PatchScheduler &sched, shamrock::LegacyVtkWriter &writer)
Add patch ID field to VTK dump.
void vtk_dump_add_worldrank(PatchScheduler &sched, shamrock::LegacyVtkWriter &writer)
Add world rank field to VTK dump.
std::uint32_t u32
32 bit unsigned integer
std::uint64_t u64
64 bit unsigned integer
PatchDataLayer container class, the layout is described in patchdata_layout.
memory manipulation algorithms
namespace for basic c++ utilities
i32 world_rank()
Gives the rank of the current process in the MPI communicator.
main include file for memory algorithms
This file contains the definition for the stacktrace related functionality.
Patch object that contain generic patch information.
u64 id_patch
unique key that identify the patch
Functions related to the MPI communicator.