![]() |
Shamrock 2025.10.0
Astrophysical Code
|
Inode is node between data edges, takes multiple inputs, multiple outputs. More...
#include <shamrock/include/shamrock/solvergraph/INode.hpp>
Inheritance diagram for shamrock::solvergraph::INode:
Collaboration diagram for shamrock::solvergraph::INode:Public Member Functions | |
| INode (const INode &)=delete | |
| INode & | operator= (const INode &)=delete |
| would violate shared_from_this() & unique UUID | |
| INode (INode &&) noexcept=default | |
| would violate shared_from_this() & unique UUID | |
| INode & | operator= (INode &&) noexcept=default |
| Move assignment - automatically delegates to base classes and members. | |
| std::shared_ptr< INode > | getptr_shared () |
| Get a shared pointer to this node. | |
| std::weak_ptr< INode > | getptr_weak () |
| Get a weak pointer to this node. | |
| std::vector< std::shared_ptr< IEdge > > & | get_ro_edges () |
| Get the read only edges. | |
| std::vector< std::shared_ptr< IEdge > > & | get_rw_edges () |
| Get the read write edges. | |
| void | __internal_set_ro_edges (std::vector< std::shared_ptr< IEdge > > new_ro_edges) |
| Set the read only edges. | |
| void | __internal_set_rw_edges (std::vector< std::shared_ptr< IEdge > > new_rw_edges) |
| Set the read write edges. | |
| template<class Func > | |
| void | on_edge_ro_edges (Func &&f) |
| Apply a function to the read only edges. | |
| template<class Func > | |
| void | on_edge_rw_edges (Func &&f) |
| Apply a function to the read write edges. | |
| virtual | ~INode () |
| Destructor (virtual) & reset the edges. | |
| template<class T > | |
| const T & | get_ro_edge (int slot) |
| Get a read only edge and cast it to the type T. | |
| template<class T > | |
| T & | get_rw_edge (int slot) |
| Get a read write edge and cast it to the type T. | |
| const IEdge & | get_ro_edge_base (int slot) |
| Get a reference to a read only edge. | |
| const IEdge & | get_ro_edge_base (int slot) const |
| IEdge & | get_rw_edge_base (int slot) |
| Get a reference to a read write edge and cast it to the type IEdge. | |
| const IEdge & | get_rw_edge_base (int slot) const |
| void | evaluate () |
| Evaluate the node. | |
| std::string | get_dot_graph () |
| Get the dot graph of the node (Currently only an alias to get_dot_graph_partial) | |
| std::string | get_dot_graph_partial () |
| Get the dot graph of the subgraph corresponding to the node. | |
| std::string | get_dot_graph_node_start () |
| Get the id of the node start in the dot graph. | |
| std::string | get_dot_graph_node_end () |
| Get the id of the node end in the dot graph. | |
| std::string | get_tex () |
| Get the TeX of the node. | |
| std::string | get_tex_partial () |
| Get the TeX of the node partial. | |
| virtual std::string | print_node_info () const |
| print the node info | |
Public Member Functions inherited from shambase::WithUUID< INode, u64 > | |
| u64 | get_uuid () const |
| Get the uuid of the class. | |
| WithUUID () | |
| Constructor of the class. | |
Protected Member Functions | |
| virtual void | _impl_evaluate_internal ()=0 |
| evaluate the node | |
| virtual std::string | _impl_get_label () const =0 |
| get the label of the node | |
| virtual std::string | _impl_get_dot_graph_partial () const |
| get the dot graph of the node partial | |
| virtual std::string | _impl_get_dot_graph_node_start () const |
| get the dot graph of the node start | |
| virtual std::string | _impl_get_dot_graph_node_end () const |
| get the dot graph of the node end | |
| virtual std::string | _impl_get_tex () const =0 |
| get the tex of the node | |
Additional Inherited Members | |
Protected Attributes inherited from shambase::WithUUID< INode, u64 > | |
| u64 | uuid |
| The unique identifier of the class. | |
Inode is node between data edges, takes multiple inputs, multiple outputs.
|
defaultnoexcept |
would violate shared_from_this() & unique UUID
Move constructor - automatically delegates to base classes and members
|
inlinevirtual |
|
inline |
|
inline |
|
protectedpure virtual |
evaluate the node
Implemented in shammodels::common::modules::AddForceCentralGravPotential< Tvec >, shammodels::common::modules::AddForceLenseThirring< Tvec >, shammodels::common::modules::AddForceShearingBoxInertialPart< Tvec >, shammodels::common::modules::AddForceShearingBoxNonInertial< Tvec >, shammodels::common::modules::AddForceVelocityDissipation< Tvec >, shammodels::common::modules::AddForceVerticalDiscPotential< Tvec >, shammodels::common::modules::ForwardEuler< T >, shammodels::basegodunov::modules::BlockNeighToCellNeigh< Tvec, TgridVec, Tmorton >, shammodels::basegodunov::modules::CGInit< Tvec, TgridVec >, shammodels::basegodunov::modules::ComputeAMRLevel< TgridVec >, shammodels::basegodunov::modules::NodeComputeCellAABB< Tvec, TgridVec >, shammodels::basegodunov::modules::NodeComputeCoordinates< Tvec, TgridVec >, shammodels::basegodunov::modules::ComputeLevel0CellSize< TgridVec >, shammodels::basegodunov::modules::NodeComputeMass< Tvec, TgridVec >, shammodels::basegodunov::modules::NodeComputeSumOverV< T >, shammodels::basegodunov::modules::NodeConsToPrimDust< Tvec >, shammodels::basegodunov::modules::NodeConsToPrimGas< Tvec >, shammodels::basegodunov::modules::ExtractGhostLayer, shammodels::basegodunov::modules::FindBlockNeigh< Tvec, TgridVec, Tmorton >, shammodels::basegodunov::modules::FindGhostLayerCandidates< TgridVec >, shammodels::basegodunov::modules::FindGhostLayerIndices< TgridVec >, shammodels::basegodunov::modules::FuseGhostLayer, shammodels::basegodunov::modules::InterpolateToFaceRho< Tvec, TgridVec >, shammodels::basegodunov::modules::InterpolateToFaceVel< Tvec, TgridVec >, shammodels::basegodunov::modules::InterpolateToFacePress< Tvec, TgridVec >, shammodels::basegodunov::modules::InterpolateToFaceRhoDust< Tvec, TgridVec >, shammodels::basegodunov::modules::InterpolateToFaceVelDust< Tvec, TgridVec >, shammodels::basegodunov::modules::NodeBuildTrees< Umorton, TgridVec >, shammodels::basegodunov::modules::NodeBuildTrees< Tmorton, TgridVec >, shammodels::basegodunov::modules::NodeComputeFluxGasDirMode< Tvec, TgridVec, mode, dir >, shammodels::basegodunov::modules::NodeComputeFluxDustDirMode< Tvec, TgridVec, mode, dir >, shammodels::basegodunov::modules::ResidualDot< T >, shammodels::basegodunov::modules::SlopeLimitedScalarGradient< Tvec, TgridVec >, shammodels::basegodunov::modules::SlopeLimitedVectorGradient< Tvec, TgridVec >, shammodels::basegodunov::modules::NodeSumFluxDust< Tvec, TgridVec >, shammodels::basegodunov::modules::NodeSumFluxHydro< Tvec, TgridVec >, shammodels::basegodunov::modules::TransformGhostLayer< Tvec, TgridVec >, PatchDataLayerToVtk< Tvec, TgridVec >, shammodels::sph::modules::NodeComputeLuminosity< Tvec, SPHKernel >, shammodels::sph::modules::ComputeNeighStats< Tvec >, shammodels::sph::modules::NodeComputeOmega< Tvec, SPHKernel >, shammodels::sph::modules::SetWhenMask< T >, shammodels::sph::modules::GetParticlesOutsideSphere< Tvec >, shammodels::sph::modules::IterateSmoothingLengthDensity< Tvec, SPHKernel >, shammodels::sph::modules::IterateSmoothingLengthDensityNeighLim< Tvec, SPHKernel >, shammodels::sph::modules::KillParticles, shammodels::sph::modules::LoopSmoothingLengthIter< Tvec >, shammodels::sph::modules::NodeUpdateDerivsVaryingAlphaAV< Tvec, SPHKernel >, shamrock::solvergraph::CopyPatchDataField< T >, shamrock::solvergraph::CopyPatchDataFieldFromLayer< T >, shamrock::solvergraph::CopyPatchDataLayerFields, shamrock::solvergraph::ExchangeGhostField< T >, shamrock::solvergraph::ExchangeGhostField< Tscal >, shamrock::solvergraph::ExchangeGhostLayer, shamrock::solvergraph::ExchangeGhostLayerDebugDotGraph, shamrock::solvergraph::ExtractCounts, shamrock::solvergraph::ExtractGhostField< T >, shamrock::solvergraph::GetFieldRefFromLayer< T >, shamrock::solvergraph::GetObjCntFromLayer, shamrock::solvergraph::NodeFreeAlloc, shamrock::solvergraph::NodeSetEdge< Tedge >, shamrock::solvergraph::OperationSequence, shamrock::solvergraph::ReplaceGhostField< T >, shammodels::sph::modules::SGDirectPlummer< Tvec >, shammodels::sph::modules::SGFMMPlummer< Tvec, mm_order >, shammodels::sph::modules::SGMMPlummer< Tvec, mm_order >, and shammodels::sph::modules::SGSFMMPlummer< Tvec, mm_order >.
|
inlineprotectedvirtual |
get the dot graph of the node end
Reimplemented in shamrock::solvergraph::OperationSequence.
Definition at line 233 of file INode.hpp.
Here is the call graph for this function:
|
inlineprotectedvirtual |
get the dot graph of the node start
Reimplemented in shamrock::solvergraph::OperationSequence.
Definition at line 230 of file INode.hpp.
Here is the call graph for this function:
|
inlineprotectedvirtual |
get the dot graph of the node partial
Reimplemented in shamrock::solvergraph::OperationSequence.
Definition at line 205 of file INode.hpp.
Here is the call graph for this function:
|
protectedpure virtual |
get the label of the node
Implemented in shammodels::common::modules::AddForceCentralGravPotential< Tvec >, shammodels::common::modules::AddForceLenseThirring< Tvec >, shammodels::common::modules::AddForceShearingBoxInertialPart< Tvec >, shammodels::common::modules::AddForceShearingBoxNonInertial< Tvec >, shammodels::common::modules::AddForceVelocityDissipation< Tvec >, shammodels::common::modules::AddForceVerticalDiscPotential< Tvec >, shammodels::common::modules::ForwardEuler< T >, shammodels::basegodunov::modules::BlockNeighToCellNeigh< Tvec, TgridVec, Tmorton >, shammodels::basegodunov::modules::ComputeAMRLevel< TgridVec >, shammodels::basegodunov::modules::NodeComputeCellAABB< Tvec, TgridVec >, shammodels::basegodunov::modules::NodeComputeCoordinates< Tvec, TgridVec >, shammodels::basegodunov::modules::ComputeLevel0CellSize< TgridVec >, shammodels::basegodunov::modules::NodeComputeMass< Tvec, TgridVec >, shammodels::basegodunov::modules::NodeComputeSumOverV< T >, shammodels::basegodunov::modules::NodeConsToPrimDust< Tvec >, shammodels::basegodunov::modules::NodeConsToPrimGas< Tvec >, shammodels::basegodunov::modules::ExtractGhostLayer, shammodels::basegodunov::modules::FindBlockNeigh< Tvec, TgridVec, Tmorton >, shammodels::basegodunov::modules::FindGhostLayerCandidates< TgridVec >, shammodels::basegodunov::modules::FindGhostLayerIndices< TgridVec >, shammodels::basegodunov::modules::FuseGhostLayer, shammodels::basegodunov::modules::InterpolateToFaceRho< Tvec, TgridVec >, shammodels::basegodunov::modules::InterpolateToFaceVel< Tvec, TgridVec >, shammodels::basegodunov::modules::InterpolateToFacePress< Tvec, TgridVec >, shammodels::basegodunov::modules::InterpolateToFaceRhoDust< Tvec, TgridVec >, shammodels::basegodunov::modules::InterpolateToFaceVelDust< Tvec, TgridVec >, shammodels::basegodunov::modules::NodeBuildTrees< Umorton, TgridVec >, shammodels::basegodunov::modules::NodeBuildTrees< Tmorton, TgridVec >, shammodels::basegodunov::modules::NodeComputeFluxGasDirMode< Tvec, TgridVec, mode, dir >, shammodels::basegodunov::modules::NodeComputeFluxDustDirMode< Tvec, TgridVec, mode, dir >, shammodels::basegodunov::modules::ResidualDot< T >, shammodels::basegodunov::modules::SlopeLimitedScalarGradient< Tvec, TgridVec >, shammodels::basegodunov::modules::SlopeLimitedVectorGradient< Tvec, TgridVec >, shammodels::basegodunov::modules::NodeSumFluxDust< Tvec, TgridVec >, shammodels::basegodunov::modules::NodeSumFluxHydro< Tvec, TgridVec >, shammodels::basegodunov::modules::TransformGhostLayer< Tvec, TgridVec >, shammodels::sph::modules::NodeComputeLuminosity< Tvec, SPHKernel >, shammodels::sph::modules::ComputeNeighStats< Tvec >, shammodels::sph::modules::NodeComputeOmega< Tvec, SPHKernel >, shammodels::sph::modules::SetWhenMask< T >, shammodels::sph::modules::GetParticlesOutsideSphere< Tvec >, shammodels::sph::modules::IterateSmoothingLengthDensity< Tvec, SPHKernel >, shammodels::sph::modules::IterateSmoothingLengthDensityNeighLim< Tvec, SPHKernel >, shammodels::sph::modules::KillParticles, shammodels::sph::modules::LoopSmoothingLengthIter< Tvec >, shammodels::sph::modules::NodeUpdateDerivsVaryingAlphaAV< Tvec, SPHKernel >, shamrock::solvergraph::CopyPatchDataField< T >, shamrock::solvergraph::CopyPatchDataFieldFromLayer< T >, shamrock::solvergraph::CopyPatchDataLayerFields, shamrock::solvergraph::ExchangeGhostField< T >, shamrock::solvergraph::ExchangeGhostField< Tscal >, shamrock::solvergraph::ExchangeGhostLayer, shamrock::solvergraph::ExchangeGhostLayerDebugDotGraph, shamrock::solvergraph::ExtractCounts, shamrock::solvergraph::ExtractGhostField< T >, shamrock::solvergraph::GetFieldRefFromLayer< T >, shamrock::solvergraph::GetObjCntFromLayer, shamrock::solvergraph::NodeFreeAlloc, shamrock::solvergraph::NodeSetEdge< Tedge >, shamrock::solvergraph::OperationSequence, shammodels::sph::modules::SGDirectPlummer< Tvec >, shammodels::sph::modules::SGFMMPlummer< Tvec, mm_order >, shammodels::sph::modules::SGMMPlummer< Tvec, mm_order >, and shammodels::sph::modules::SGSFMMPlummer< Tvec, mm_order >.
|
protectedpure virtual |
get the tex of the node
Implemented in shammodels::common::modules::AddForceCentralGravPotential< Tvec >, shammodels::common::modules::AddForceLenseThirring< Tvec >, shammodels::common::modules::AddForceShearingBoxInertialPart< Tvec >, shammodels::common::modules::AddForceShearingBoxNonInertial< Tvec >, shammodels::common::modules::AddForceVelocityDissipation< Tvec >, shammodels::common::modules::AddForceVerticalDiscPotential< Tvec >, shammodels::common::modules::ForwardEuler< T >, shammodels::basegodunov::modules::BlockNeighToCellNeigh< Tvec, TgridVec, Tmorton >, shammodels::basegodunov::modules::ComputeAMRLevel< TgridVec >, shammodels::basegodunov::modules::NodeComputeCellAABB< Tvec, TgridVec >, shammodels::basegodunov::modules::NodeComputeCoordinates< Tvec, TgridVec >, shammodels::basegodunov::modules::ComputeLevel0CellSize< TgridVec >, shammodels::basegodunov::modules::NodeComputeMass< Tvec, TgridVec >, shammodels::basegodunov::modules::NodeComputeSumOverV< T >, shammodels::basegodunov::modules::NodeConsToPrimDust< Tvec >, shammodels::basegodunov::modules::NodeConsToPrimGas< Tvec >, shammodels::basegodunov::modules::ExtractGhostLayer, shammodels::basegodunov::modules::FindBlockNeigh< Tvec, TgridVec, Tmorton >, shammodels::basegodunov::modules::FindGhostLayerCandidates< TgridVec >, shammodels::basegodunov::modules::FindGhostLayerIndices< TgridVec >, shammodels::basegodunov::modules::FuseGhostLayer, shammodels::basegodunov::modules::InterpolateToFaceRho< Tvec, TgridVec >, shammodels::basegodunov::modules::InterpolateToFaceVel< Tvec, TgridVec >, shammodels::basegodunov::modules::InterpolateToFacePress< Tvec, TgridVec >, shammodels::basegodunov::modules::InterpolateToFaceRhoDust< Tvec, TgridVec >, shammodels::basegodunov::modules::InterpolateToFaceVelDust< Tvec, TgridVec >, shammodels::basegodunov::modules::NodeBuildTrees< Umorton, TgridVec >, shammodels::basegodunov::modules::NodeBuildTrees< Tmorton, TgridVec >, shammodels::basegodunov::modules::NodeComputeFluxGasDirMode< Tvec, TgridVec, mode, dir >, shammodels::basegodunov::modules::NodeComputeFluxDustDirMode< Tvec, TgridVec, mode, dir >, shammodels::basegodunov::modules::ResidualDot< T >, shammodels::basegodunov::modules::SlopeLimitedScalarGradient< Tvec, TgridVec >, shammodels::basegodunov::modules::SlopeLimitedVectorGradient< Tvec, TgridVec >, shammodels::basegodunov::modules::NodeSumFluxDust< Tvec, TgridVec >, shammodels::basegodunov::modules::NodeSumFluxHydro< Tvec, TgridVec >, shammodels::basegodunov::modules::TransformGhostLayer< Tvec, TgridVec >, shammodels::sph::modules::NodeComputeLuminosity< Tvec, SPHKernel >, shammodels::sph::modules::ComputeNeighStats< Tvec >, shammodels::sph::modules::NodeComputeOmega< Tvec, SPHKernel >, shammodels::sph::modules::SetWhenMask< T >, shammodels::sph::modules::GetParticlesOutsideSphere< Tvec >, shammodels::sph::modules::IterateSmoothingLengthDensity< Tvec, SPHKernel >, shammodels::sph::modules::IterateSmoothingLengthDensityNeighLim< Tvec, SPHKernel >, shammodels::sph::modules::KillParticles, shammodels::sph::modules::LoopSmoothingLengthIter< Tvec >, shammodels::sph::modules::NodeUpdateDerivsVaryingAlphaAV< Tvec, SPHKernel >, shamrock::solvergraph::CopyPatchDataField< T >, shamrock::solvergraph::CopyPatchDataFieldFromLayer< T >, shamrock::solvergraph::CopyPatchDataLayerFields, shamrock::solvergraph::ExchangeGhostField< T >, shamrock::solvergraph::ExchangeGhostField< Tscal >, shamrock::solvergraph::ExchangeGhostLayer, shamrock::solvergraph::ExchangeGhostLayerDebugDotGraph, shamrock::solvergraph::ExtractCounts, shamrock::solvergraph::ExtractGhostField< T >, shamrock::solvergraph::GetFieldRefFromLayer< T >, shamrock::solvergraph::GetObjCntFromLayer, shamrock::solvergraph::NodeFreeAlloc, shamrock::solvergraph::NodeSetEdge< Tedge >, shamrock::solvergraph::OperationSequence, shammodels::sph::modules::SGDirectPlummer< Tvec >, shammodels::sph::modules::SGFMMPlummer< Tvec, mm_order >, shammodels::sph::modules::SGMMPlummer< Tvec, mm_order >, and shammodels::sph::modules::SGSFMMPlummer< Tvec, mm_order >.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlinevirtual |