27#define NODE_EDGES(X_RO, X_RW) \
30 X_RO(shamrock::solvergraph::Indexes<u32>, block_counts) \
33 X_RO(CellGraphEdge, cell_neigh_graph) \
36 X_RO(shamrock::solvergraph::IFieldSpan<Tscal>, spans_block_cell_sizes) \
38 X_RO(shamrock::solvergraph::IFieldSpan<Tvec>, spans_cell0block_aabb_lower) \
41 X_RO(solvergraph::NeighGraphLinkFieldEdge<Tscal>, flux_rho_face_xp) \
42 X_RO(solvergraph::NeighGraphLinkFieldEdge<Tscal>, flux_rho_face_xm) \
43 X_RO(solvergraph::NeighGraphLinkFieldEdge<Tscal>, flux_rho_face_yp) \
44 X_RO(solvergraph::NeighGraphLinkFieldEdge<Tscal>, flux_rho_face_ym) \
45 X_RO(solvergraph::NeighGraphLinkFieldEdge<Tscal>, flux_rho_face_zp) \
46 X_RO(solvergraph::NeighGraphLinkFieldEdge<Tscal>, flux_rho_face_zm) \
48 X_RO(solvergraph::NeighGraphLinkFieldEdge<Tvec>, flux_rhov_face_xp) \
49 X_RO(solvergraph::NeighGraphLinkFieldEdge<Tvec>, flux_rhov_face_xm) \
50 X_RO(solvergraph::NeighGraphLinkFieldEdge<Tvec>, flux_rhov_face_yp) \
51 X_RO(solvergraph::NeighGraphLinkFieldEdge<Tvec>, flux_rhov_face_ym) \
52 X_RO(solvergraph::NeighGraphLinkFieldEdge<Tvec>, flux_rhov_face_zp) \
53 X_RO(solvergraph::NeighGraphLinkFieldEdge<Tvec>, flux_rhov_face_zm) \
55 X_RO(solvergraph::NeighGraphLinkFieldEdge<Tscal>, flux_rhoe_face_xp) \
56 X_RO(solvergraph::NeighGraphLinkFieldEdge<Tscal>, flux_rhoe_face_xm) \
57 X_RO(solvergraph::NeighGraphLinkFieldEdge<Tscal>, flux_rhoe_face_yp) \
58 X_RO(solvergraph::NeighGraphLinkFieldEdge<Tscal>, flux_rhoe_face_ym) \
59 X_RO(solvergraph::NeighGraphLinkFieldEdge<Tscal>, flux_rhoe_face_zp) \
60 X_RO(solvergraph::NeighGraphLinkFieldEdge<Tscal>, flux_rhoe_face_zm) \
63 X_RW(shamrock::solvergraph::IFieldSpan<Tscal>, spans_dtrho) \
64 X_RW(shamrock::solvergraph::IFieldSpan<Tvec>, spans_dtrhov) \
65 X_RW(shamrock::solvergraph::IFieldSpan<Tscal>, spans_dtrhoe)
69 using NGLink = shammodels::basegodunov::modules::NeighGraphLinkField<T>;
71 template<
class Tvec,
class Tgr
idVec>
73 using Tscal = shambase::VecComponent<Tvec>;
80 NodeSumFluxHydro(
u32 block_size, Tscal dxfact) : block_size(block_size), dxfact(dxfact) {}
84 EXPAND_NODE_EDGES(NODE_EDGES)
utility to manipulate AMR blocks
std::uint32_t u32
32 bit unsigned integer
virtual std::string _impl_get_tex() const
get the tex of the node
virtual std::string _impl_get_label() const
get the label of the node
void _impl_evaluate_internal()
evaluate the node
Inode is node between data edges, takes multiple inputs, multiple outputs.
namespace for the basegodunov model modules
utility class to handle AMR blocks