16 constexpr int NumberOfUnknowns = 5;
17 constexpr int NumberOfAuxiliaryVariables = 2;
18 constexpr int NumberOfVolumesPerAxisInPatch = 17;
20 double* QinWithHalo =
nullptr;
21 double* QOutWithoutHalo =
nullptr;
22 std::vector<int> source{}, dest{}, source2{}, dest2{};
24 dfor(k, NumberOfVolumesPerAxisInPatch) {
28 source.push_back(tmpSourceSerialised);
29 dest.push_back(tmpDestinationSerialised);
33 constexpr int SourceSerialised = NumberOfVolumesPerAxisInPatch + 3 *
HaloSize;
34 constexpr int Offset = NumberOfVolumesPerAxisInPatch;
35 for (
int y = 0; y < NumberOfVolumesPerAxisInPatch; y++) {
36 for (
int x = 0; x < NumberOfVolumesPerAxisInPatch; x++) {
37 source2.push_back((y + 1) * (Offset + 3 *
HaloSize) + x - y);
38 dest2.push_back(y * Offset + x);
42 constexpr int Offset = NumberOfVolumesPerAxisInPatch;
43 constexpr int Offset2 = (NumberOfVolumesPerAxisInPatch +
HaloSize * 2) * (NumberOfVolumesPerAxisInPatch +
HaloSize * 2) + NumberOfVolumesPerAxisInPatch +
HaloSize * 2 +
HaloSize;
44 constexpr int Offset3 = NumberOfVolumesPerAxisInPatch +
HaloSize * 2;
45 for (
int z = 0; z < NumberOfVolumesPerAxisInPatch; z++) {
46 for (
int y = 0; y < NumberOfVolumesPerAxisInPatch; y++) {
47 for (
int x = 0; x < NumberOfVolumesPerAxisInPatch; x++) {
48 int mydest = z * Offset * Offset + y * Offset + x;
49 int mysrc = z * Offset3 * Offset3 + y * Offset3 + x + Offset2;
50 source2.push_back(mysrc);
51 dest2.push_back(mydest);
57 for (std::size_t idx = 0; idx < source.size(); idx++) {
61 for (std::size_t idx = 0; idx < dest.size(); idx++) {
static constexpr int HaloSize