Shamrock 2025.10.0
Astrophysical Code
Loading...
Searching...
No Matches
patchdata.cpp
Go to the documentation of this file.
1// -------------------------------------------------------//
2//
3// SHAMROCK code for hydrodynamics
4// Copyright (c) 2021-2026 Timothée David--Cléris <tim.shamrock@proton.me>
5// SPDX-License-Identifier: CeCILL Free Software License Agreement v2.1
6// Shamrock is licensed under the CeCILL 2.1 License, see LICENSE for more information
7//
8// -------------------------------------------------------//
9
24#include <algorithm>
25#include <array>
26#include <cstdio>
27#include <exception>
28#include <stdexcept>
29#include <vector>
30
32 const std::shared_ptr<shamrock::patch::PatchDataLayerLayout> &pdl_ptr, std::mt19937 &eng) {
33
34 using namespace shamrock::patch;
35
36 std::uniform_int_distribution<u64> distu64(1, 6000);
37
38 u32 num_part = distu64(eng);
39
40 PatchDataLayer pdat(pdl_ptr);
41
42 pdat.for_each_field_any([&](auto &field) {
43 field.gen_mock_data(num_part, eng);
44 });
45
46 return pdat;
47}
48
std::uint32_t u32
32 bit unsigned integer
PatchDataLayer container class, the layout is described in patchdata_layout.
shamrock::patch::PatchDataLayer patchdata_gen_dummy_data(const std::shared_ptr< shamrock::patch::PatchDataLayerLayout > &pdl_ptr, std::mt19937 &eng)
generate dummy PatchDataLayer from a mersen twister
Definition patchdata.cpp:31
bool patch_data_check_match(shamrock::patch::PatchDataLayer &p1, shamrock::patch::PatchDataLayer &p2)
check if two PatchDataLayer content match
Definition patchdata.cpp:49
header for PatchData related function and declaration