30 template<
class Tvec,
class Tgr
idVec>
32 using Tscal = shambase::VecComponent<Tvec>;
39 InterpolateToFaceRho(
u32 block_size) : block_size(block_size) {}
63 inline void set_edges(
89 spans_block_cell_sizes,
90 spans_cell0block_aabb_lower,
108 inline Edges get_edges() {
111 get_ro_edge<solvergraph::OrientedAMRGraphEdge<Tvec, TgridVec>>(1),
121 get_rw_edge<solvergraph::NeighGraphLinkFieldEdge<std::array<Tscal, 2>>>(1),
123 get_rw_edge<solvergraph::NeighGraphLinkFieldEdge<std::array<Tscal, 2>>>(3),
125 get_rw_edge<solvergraph::NeighGraphLinkFieldEdge<std::array<Tscal, 2>>>(5),
131 inline virtual std::string
_impl_get_label()
const {
return "InterpolateRhoToFaceRho"; };
136 template<
class Tvec,
class Tgr
idVec>
138 using Tscal = shambase::VecComponent<Tvec>;
145 InterpolateToFaceVel(
u32 block_size) : block_size(block_size) {}
169 inline void set_edges(
191 spans_block_cell_sizes,
192 spans_cell0block_aabb_lower,
210 inline Edges get_edges() {
213 get_ro_edge<solvergraph::OrientedAMRGraphEdge<Tvec, TgridVec>>(1),
223 get_rw_edge<solvergraph::NeighGraphLinkFieldEdge<std::array<Tvec, 2>>>(1),
225 get_rw_edge<solvergraph::NeighGraphLinkFieldEdge<std::array<Tvec, 2>>>(3),
227 get_rw_edge<solvergraph::NeighGraphLinkFieldEdge<std::array<Tvec, 2>>>(5),
233 inline virtual std::string
_impl_get_label()
const {
return "InterpolateVelToFaceVel"; };
238 template<
class Tvec,
class Tgr
idVec>
240 using Tscal = shambase::VecComponent<Tvec>;
248 InterpolateToFacePress(
u32 block_size, Tscal gamma)
249 : block_size(block_size), gamma(gamma) {}
273 inline void set_edges(
300 spans_block_cell_sizes,
301 spans_cell0block_aabb_lower,
319 inline Edges get_edges() {
322 get_ro_edge<solvergraph::OrientedAMRGraphEdge<Tvec, TgridVec>>(1),
332 get_rw_edge<solvergraph::NeighGraphLinkFieldEdge<std::array<Tscal, 2>>>(1),
334 get_rw_edge<solvergraph::NeighGraphLinkFieldEdge<std::array<Tscal, 2>>>(3),
336 get_rw_edge<solvergraph::NeighGraphLinkFieldEdge<std::array<Tscal, 2>>>(5),
343 return "InterpolatePressToFacePress";
349 template<
class Tvec,
class Tgr
idVec>
351 using Tscal = shambase::VecComponent<Tvec>;
359 InterpolateToFaceRhoDust(
u32 block_size,
u32 ndust)
360 : block_size(block_size), ndust(ndust) {}
384 inline void set_edges(
410 spans_block_cell_sizes,
411 spans_cell0block_aabb_lower,
429 inline Edges get_edges() {
432 get_ro_edge<solvergraph::OrientedAMRGraphEdge<Tvec, TgridVec>>(1),
442 get_rw_edge<solvergraph::NeighGraphLinkFieldEdge<std::array<Tscal, 2>>>(1),
444 get_rw_edge<solvergraph::NeighGraphLinkFieldEdge<std::array<Tscal, 2>>>(3),
446 get_rw_edge<solvergraph::NeighGraphLinkFieldEdge<std::array<Tscal, 2>>>(5),
452 inline virtual std::string
_impl_get_label()
const {
return "InterpolateRhoToFaceRho"; };
457 template<
class Tvec,
class Tgr
idVec>
459 using Tscal = shambase::VecComponent<Tvec>;
467 InterpolateToFaceVelDust(
u32 block_size,
u32 ndust)
468 : block_size(block_size), ndust(ndust) {}
491 inline void set_edges(
517 spans_block_cell_sizes,
518 spans_cell0block_aabb_lower,
535 inline Edges get_edges() {
538 get_ro_edge<solvergraph::OrientedAMRGraphEdge<Tvec, TgridVec>>(1),
546 get_rw_edge<solvergraph::NeighGraphLinkFieldEdge<std::array<Tvec, 2>>>(0),
548 get_rw_edge<solvergraph::NeighGraphLinkFieldEdge<std::array<Tvec, 2>>>(2),
550 get_rw_edge<solvergraph::NeighGraphLinkFieldEdge<std::array<Tvec, 2>>>(4),
557 inline virtual std::string
_impl_get_label()
const {
return "InterpolateVelToFaceVel"; };
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
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
void _impl_evaluate_internal()
evaluate the node
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
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
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
Interface for a solver graph edge representing a field as spans.
Inode is node between data edges, takes multiple inputs, multiple outputs.
T & get_rw_edge(int slot)
Get a read write edge and cast it to the type T.
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.
Slope mode enum + json serialization/deserialization.
namespace for the basegodunov model modules
SlopeMode
Slope limiter modes.