Shamrock 2025.10.0
Astrophysical Code
Loading...
Searching...
No Matches
FindGhostLayerIndices.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
17
20
21#define NODE_EDGES(X_RO, X_RW) \
22 /* ------------------- inputs ------------------- */ \
23 X_RO(shamrock::solvergraph::ScalarEdge<shammath::AABB<TgridVec>>, sim_box) \
24 X_RO(shamrock::solvergraph::IPatchDataLayerRefs, patch_data_layers) \
25 X_RO(shamrock::solvergraph::DDSharedScalar<GhostLayerCandidateInfos>, ghost_layers_candidates) \
26 X_RO(shamrock::solvergraph::ScalarsEdge<shammath::AABB<TgridVec>>, patch_boxes) \
27 \
28 /* ------------------- outputs ------------------- */ \
29 X_RW(shamrock::solvergraph::DDSharedBuffers<u32>, idx_in_ghost)
30
32
33 template<class TgridVec>
34 class FindGhostLayerIndices : public shamrock::solvergraph::INode {
35
37
38 public:
39 FindGhostLayerIndices(GhostLayerGenMode mode) : mode(mode) {}
40
41 EXPAND_NODE_EDGES(NODE_EDGES)
42
44
45 inline virtual std::string _impl_get_label() const { return "FindGhostLayerIndices"; };
46
47 virtual std::string _impl_get_tex() const;
48 };
49} // namespace shammodels::basegodunov::modules
50
51#undef NODE_EDGES
Defines the DDSharedBuffers class for managing buffers contained in a distributed data shared.
virtual std::string _impl_get_label() const
get the label of the node
virtual std::string _impl_get_tex() const
get the tex of the node
Inode is node between data edges, takes multiple inputs, multiple outputs.
Definition INode.hpp:31
namespace for the basegodunov model modules