28#define NODE_EDGES(X_RO, X_RW) \
30 X_RO(shamrock::solvergraph::Indexes<u32>, sizes) \
31 X_RO(AMRGraphEdge, cell_neigh_graph) \
32 X_RO(shamrock::solvergraph::IFieldSpan<Tscal>, spans_block_cell_sizes) \
33 X_RO(shamrock::solvergraph::IFieldSpan<Tscal>, span_field) \
36 X_RW(shamrock::solvergraph::IFieldSpan<Tvec>, span_grad_field)
38 template<
class Tvec,
class Tgr
idVec>
40 using Tscal = shambase::VecComponent<Tvec>;
51 SlopeLimitedScalarGradient(
u32 block_size,
u32 var_per_cell, SlopeMode mode)
52 : block_size(block_size), var_per_cell(var_per_cell), mode(mode) {}
54 EXPAND_NODE_EDGES(NODE_EDGES)
58 inline virtual std::string
_impl_get_label()
const {
return "SlopeLimitedScalarGradient"; };
65#define NODE_EDGES(X_RO, X_RW) \
67 X_RO(shamrock::solvergraph::Indexes<u32>, sizes) \
68 X_RO(AMRGraphEdge, cell_neigh_graph) \
69 X_RO(shamrock::solvergraph::IFieldSpan<Tscal>, spans_block_cell_sizes) \
70 X_RO(shamrock::solvergraph::IFieldSpan<Tvec>, span_field) \
73 X_RW(shamrock::solvergraph::IFieldSpan<Tvec>, span_dx_field) \
74 X_RW(shamrock::solvergraph::IFieldSpan<Tvec>, span_dy_field) \
75 X_RW(shamrock::solvergraph::IFieldSpan<Tvec>, span_dz_field)
77 template<
class Tvec,
class Tgr
idVec>
79 using Tscal = shambase::VecComponent<Tvec>;
90 SlopeLimitedVectorGradient(
u32 block_size,
u32 var_per_cell, SlopeMode mode)
91 : block_size(block_size), var_per_cell(var_per_cell), mode(mode) {}
93 EXPAND_NODE_EDGES(NODE_EDGES)
97 inline virtual std::string
_impl_get_label()
const {
return "SlopeLimitedVectorGradient"; };
std::uint32_t u32
32 bit unsigned integer
void _impl_evaluate_internal()
evaluate the node
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
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.
namespace for the basegodunov model modules
SlopeMode
Slope limiter modes.