27 template<
class Tvec,
template<
class>
class SPHKernel>
30 using Tscal = shambase::VecComponent<Tvec>;
32 static constexpr Tscal kernel_radius = SPHKernel<Tscal>::Rkern;
46 inline void set_edges(
48 std::shared_ptr<shammodels::sph::solvergraph::NeighCache> neigh_cache,
56 inline Edges get_edges() {
58 get_ro_edge<shamrock::solvergraph::Indexes<u32>>(0),
59 get_ro_edge<shammodels::sph::solvergraph::NeighCache>(1),
60 get_ro_edge<shamrock::solvergraph::IFieldSpan<Tvec>>(2),
62 get_rw_edge<shamrock::solvergraph::IFieldSpan<Tscal>>(0),
79 SetWhenMask(T val_to_set) : val_to_set(val_to_set) {}
87 inline void set_edges(
95 inline Edges get_edges() {
97 get_ro_edge<shamrock::solvergraph::Indexes<u32>>(0),
99 get_rw_edge<shamrock::solvergraph::IFieldSpan<T>>(0),
virtual std::string _impl_get_tex() const
get the tex 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_label() const
get the label of the node
void _impl_evaluate_internal()
evaluate the node
virtual std::string _impl_get_tex() const
get the tex of the node
Interface for a solver graph edge representing a field as spans.
Inode is node between data edges, takes multiple inputs, multiple outputs.
void __internal_set_rw_edges(std::vector< std::shared_ptr< IEdge > > new_rw_edges)
Set the read write edges.
void __internal_set_ro_edges(std::vector< std::shared_ptr< IEdge > > new_ro_edges)
Set the read only edges.
const T & get_ro_edge(int slot)
Get a read only edge and cast it to the type T.
namespace for the sph model modules