Shamrock 2025.10.0
Astrophysical Code
Loading...
Searching...
No Matches
NeighFaceList.hpp
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
10#pragma once
11
19#include "shambackends/sycl.hpp"
22#include <array>
23
24namespace shammodels::zeus {
25
26 template<class Tvec>
29 Tvec normal;
30 };
31
32 template<class Tvec>
34 std::array<OrientedNeighFaceList<Tvec>, 6> faces_lists;
35
36 static constexpr u32 i_xm = 0;
37 static constexpr u32 i_xp = 1;
38 static constexpr u32 i_ym = 2;
39 static constexpr u32 i_yp = 3;
40 static constexpr u32 i_zm = 4;
41 static constexpr u32 i_zp = 5;
42
43 OrientedNeighFaceList<Tvec> &xm() { return faces_lists[i_xm]; }
44 OrientedNeighFaceList<Tvec> &xp() { return faces_lists[i_xp]; }
45 OrientedNeighFaceList<Tvec> &ym() { return faces_lists[i_ym]; }
46 OrientedNeighFaceList<Tvec> &yp() { return faces_lists[i_yp]; }
47 OrientedNeighFaceList<Tvec> &zm() { return faces_lists[i_zm]; }
48 OrientedNeighFaceList<Tvec> &zp() { return faces_lists[i_zp]; }
49 };
50
51} // namespace shammodels::zeus
std::uint32_t u32
32 bit unsigned integer
namespace for the zeus model