Inode is node between data edges, takes multiple inputs, multiple outputs.
More...
#include <shamsolvergraph/include/shamsolvergraph/node/INode.hpp>
Inherits std::enable_shared_from_this< INode >.
Inherited by ComputeCFLCourant< Tscal >, ComputeCFLDivBCleaning< Tscal >, ComputeCFLDust1Fluid< Tvec >, ComputeCFLDustDrift< Tvec >, ComputeCFLForce< Tvec >, ComputeCFLSinkSink< Tvec >, PatchDataLayerToVtk< Tvec, TgridVec >, shammodels::basegodunov::modules::BlockNeighToCellNeigh< Tvec, TgridVec, Tmorton >, shammodels::basegodunov::modules::CGInit< Tvec, TgridVec >, shammodels::basegodunov::modules::ComputeAMRLevel< TgridVec >, shammodels::basegodunov::modules::ComputeLevel0CellSize< TgridVec >, 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::InterpolateToFacePress< Tvec, TgridVec >, shammodels::basegodunov::modules::InterpolateToFaceRho< Tvec, TgridVec >, shammodels::basegodunov::modules::InterpolateToFaceRhoDust< Tvec, TgridVec >, shammodels::basegodunov::modules::InterpolateToFaceVel< Tvec, TgridVec >, shammodels::basegodunov::modules::InterpolateToFaceVelDust< Tvec, TgridVec >, shammodels::basegodunov::modules::NodeBuildTrees< Umorton, TgridVec >, shammodels::basegodunov::modules::NodeComputeCellAABB< Tvec, TgridVec >, shammodels::basegodunov::modules::NodeComputeCoordinates< Tvec, TgridVec >, shammodels::basegodunov::modules::NodeComputeFluxDustDirMode< Tvec, TgridVec, mode, dir >, shammodels::basegodunov::modules::NodeComputeFluxGasDirMode< Tvec, TgridVec, mode, dir >, shammodels::basegodunov::modules::NodeComputeMass< Tvec, TgridVec >, shammodels::basegodunov::modules::NodeComputeSumOverV< T >, shammodels::basegodunov::modules::NodeConsToPrimDust< Tvec >, shammodels::basegodunov::modules::NodeConsToPrimGas< Tvec >, shammodels::basegodunov::modules::NodeEulerTimeDerivativeDust< Tvec >, shammodels::basegodunov::modules::NodeEulerTimeDerivativeGas< Tvec >, shammodels::basegodunov::modules::NodeSumFluxDust< Tvec, TgridVec >, shammodels::basegodunov::modules::NodeSumFluxHydro< Tvec, TgridVec >, shammodels::basegodunov::modules::ResidualDot< T >, shammodels::basegodunov::modules::SlopeLimitedScalarGradient< Tvec, TgridVec >, shammodels::basegodunov::modules::SlopeLimitedVectorGradient< Tvec, TgridVec >, shammodels::basegodunov::modules::TransformGhostLayer< Tvec, TgridVec >, shammodels::common::modules::AddForceCentralGravPotential< Tvec >, shammodels::common::modules::AddForceLenseThirring< Tvec >, shammodels::common::modules::AddForcePaczynskiWiita< Tvec >, shammodels::common::modules::AddForceShearingBoxInertialPart< Tvec >, shammodels::common::modules::AddForceShearingBoxNonInertial< Tvec >, shammodels::common::modules::AddForceVelocityDissipation< Tvec >, shammodels::common::modules::AddForceVerticalDiscPotential< Tvec >, shammodels::common::modules::ComputeEOSAdiabatic< Tvec >, shammodels::common::modules::ComputeEOSFermi< Tvec >, shammodels::common::modules::ComputeEOSIsothermal< Tvec >, shammodels::common::modules::ComputeEOSLocallyIsothermal< Tvec >, shammodels::common::modules::ComputeEOSPolytropic< Tvec >, shammodels::common::modules::ComputeGravWave< Tvec >, shammodels::common::modules::ForwardEuler< T >, shammodels::common::modules::ForwardEulerPositive< T >, shammodels::sph::modules::BallabioTsLimiter< Tvec >, shammodels::sph::modules::BuildGhostInterfaceIdTable< Tvec >, shammodels::sph::modules::ComputeDustTtilde< Tvec, SPHKernel >, shammodels::sph::modules::ComputeNeighStats< Tvec >, 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::MonoFluidTVADeltav< Tvec, SPHKernel >, shammodels::sph::modules::NodeComputeLuminosity< Tvec, SPHKernel >, shammodels::sph::modules::NodeComputeOmega< Tvec, SPHKernel >, shammodels::sph::modules::NodeComputePressureGrad< Tvec, SPHKernel >, shammodels::sph::modules::NodeEvolveDustCOALASourceTerm< Tvec >, shammodels::sph::modules::NodeMonofluidTVAAddSourceTerm< Tvec >, shammodels::sph::modules::NodeMonofluidTVADustDensityClamp< Tvec >, shammodels::sph::modules::NodeMonofluidTVASmoothSPositivityLimiter< Tvec >, shammodels::sph::modules::NodeUpdateDerivsMonofluidTVA< Tvec, SPHKernel >, shammodels::sph::modules::NodeUpdateDerivsVaryingAlphaAV< Tvec, SPHKernel >, shammodels::sph::modules::NodeUpdateDerivsVaryingAlphaAVDustTVA< Tvec, SPHKernel >, shammodels::sph::modules::SGDirectPlummer< Tvec >, shammodels::sph::modules::SGFMMPlummer< Tvec, mm_order >, shammodels::sph::modules::SGMMPlummer< Tvec, mm_order >, shammodels::sph::modules::SGSFMMPlummer< Tvec, mm_order >, shammodels::sph::modules::SPHAzymuthalInteg< Tvec, T, SPHKernel >, shammodels::sph::modules::SPHColumnInteg< Tvec, T, SPHKernel >, shammodels::sph::modules::SPHInterpolation< Tvec, T, SPHKernel >, shammodels::sph::modules::SetDustStoppingTimeConstant< Tvec >, shammodels::sph::modules::SetDustStoppingTimeEpstein< Tvec, SPHKernel >, shammodels::sph::modules::SetWhenMask< T >, shammodels::sph::modules::SinkParticlesAccreteQuantities< Tvec >, shammodels::sph::modules::SinkParticlesEvictAccretedParticles< Tvec >, shammodels::sph::modules::SinkParticlesFlagAccreteHard< Tvec >, shammodels::sph::modules::SinkSelfGravityHost< Tvec >, shamrock::solvergraph::CopyPatchDataField< T >, shamrock::solvergraph::CopyPatchDataFieldFromLayer< T >, shamrock::solvergraph::CopyPatchDataLayerFields, shamrock::solvergraph::ExchangeGhostField< T >, shamrock::solvergraph::ExchangeGhostLayer, shamrock::solvergraph::ExchangeGhostLayerDebugDotGraph, shamrock::solvergraph::ExtractCounts, shamrock::solvergraph::ExtractGhostField< T >, shamrock::solvergraph::ForwardEulerHost< T, Tscal >, shamrock::solvergraph::ForwardEulerHost2Deriv< T, Tscal >, shamrock::solvergraph::GetFieldRefFromLayer< T >, shamrock::solvergraph::GetObjCntFromLayer, shamrock::solvergraph::NodeFreeAlloc, shamrock::solvergraph::NodeMapEdge< Tin, Tout >, shamrock::solvergraph::NodeSetEdge< Tedge >, shamrock::solvergraph::OperationIf, shamrock::solvergraph::OperationSequence, and shamrock::solvergraph::ReplaceGhostField< T >.
|
|
| 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.
|
| u64 | get_uuid () const |
| | Get the UUID of the node.
|
| 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 () |
| 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.
|
| template<class T> |
| std::optional< std::reference_wrapper< const T > > | get_ro_edge_optional (int slot) |
| | Get a read only edge and cast it to the type T, return an optional.
|
| template<class T> |
| std::optional< std::reference_wrapper< T > > | get_rw_edge_optional (int slot) |
| | Get a read write edge and cast it to the type T, return an optional.
|
| 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.
|
| std::string | get_label () const |
| | Get the label of the node.
|
| virtual std::string | print_node_info () const |
| | print the node info
|
Inode is node between data edges, takes multiple inputs, multiple outputs.
Definition at line 31 of file INode.hpp.
◆ INode()
| shamrock::solvergraph::INode::INode |
( |
INode && | | ) |
|
|
defaultnoexcept |
would violate shared_from_this() & unique UUID
Move constructor - automatically delegates to base classes and members
◆ ~INode()
| virtual shamrock::solvergraph::INode::~INode |
( |
| ) |
|
|
inlinevirtual |
Destructor (virtual) & reset the edges. trace_destroy() fires first so the edges below are cleared as already-dead, silencing their state-update notifications during destruction.
Definition at line 83 of file INode.hpp.
◆ __internal_set_ro_edges()
| void shamrock::solvergraph::INode::__internal_set_ro_edges |
( |
std::vector< std::shared_ptr< IEdge > > | new_ro_edges | ) |
|
|
inline |
Set the read only edges.
Definition at line 238 of file INode.hpp.
◆ __internal_set_rw_edges()
| void shamrock::solvergraph::INode::__internal_set_rw_edges |
( |
std::vector< std::shared_ptr< IEdge > > | new_rw_edges | ) |
|
|
inline |
Set the read write edges.
Definition at line 249 of file INode.hpp.
◆ _impl_evaluate_internal()
| virtual void shamrock::solvergraph::INode::_impl_evaluate_internal |
( |
| ) |
|
|
protectedpure virtual |
evaluate the node
Implemented in ComputeCFLCourant< Tscal >, ComputeCFLDivBCleaning< Tscal >, ComputeCFLDust1Fluid< Tvec >, ComputeCFLDustDrift< Tvec >, ComputeCFLForce< Tvec >, ComputeCFLSinkSink< Tvec >, PatchDataLayerToVtk< Tvec, TgridVec >, shammodels::basegodunov::modules::BlockNeighToCellNeigh< Tvec, TgridVec, Tmorton >, shammodels::basegodunov::modules::CGInit< Tvec, TgridVec >, shammodels::basegodunov::modules::ComputeAMRLevel< TgridVec >, shammodels::basegodunov::modules::ComputeLevel0CellSize< TgridVec >, 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::InterpolateToFacePress< Tvec, TgridVec >, shammodels::basegodunov::modules::InterpolateToFaceRho< Tvec, TgridVec >, shammodels::basegodunov::modules::InterpolateToFaceRhoDust< Tvec, TgridVec >, shammodels::basegodunov::modules::InterpolateToFaceVel< Tvec, TgridVec >, shammodels::basegodunov::modules::InterpolateToFaceVelDust< Tvec, TgridVec >, shammodels::basegodunov::modules::NodeBuildTrees< Umorton, TgridVec >, shammodels::basegodunov::modules::NodeComputeCellAABB< Tvec, TgridVec >, shammodels::basegodunov::modules::NodeComputeCoordinates< Tvec, TgridVec >, shammodels::basegodunov::modules::NodeComputeFluxDustDirMode< Tvec, TgridVec, mode, dir >, shammodels::basegodunov::modules::NodeComputeFluxGasDirMode< Tvec, TgridVec, mode, dir >, shammodels::basegodunov::modules::NodeComputeMass< Tvec, TgridVec >, shammodels::basegodunov::modules::NodeComputeSumOverV< T >, shammodels::basegodunov::modules::NodeConsToPrimDust< Tvec >, shammodels::basegodunov::modules::NodeConsToPrimGas< Tvec >, shammodels::basegodunov::modules::NodeEulerTimeDerivativeDust< Tvec >, shammodels::basegodunov::modules::NodeEulerTimeDerivativeGas< Tvec >, shammodels::basegodunov::modules::NodeSumFluxDust< Tvec, TgridVec >, shammodels::basegodunov::modules::NodeSumFluxHydro< Tvec, TgridVec >, shammodels::basegodunov::modules::ResidualDot< T >, shammodels::basegodunov::modules::SlopeLimitedScalarGradient< Tvec, TgridVec >, shammodels::basegodunov::modules::SlopeLimitedVectorGradient< Tvec, TgridVec >, shammodels::basegodunov::modules::TransformGhostLayer< Tvec, TgridVec >, shammodels::common::modules::AddForceCentralGravPotential< Tvec >, shammodels::common::modules::AddForceLenseThirring< Tvec >, shammodels::common::modules::AddForcePaczynskiWiita< Tvec >, shammodels::common::modules::AddForceShearingBoxInertialPart< Tvec >, shammodels::common::modules::AddForceShearingBoxNonInertial< Tvec >, shammodels::common::modules::AddForceVelocityDissipation< Tvec >, shammodels::common::modules::AddForceVerticalDiscPotential< Tvec >, shammodels::common::modules::ComputeEOSAdiabatic< Tvec >, shammodels::common::modules::ComputeEOSFermi< Tvec >, shammodels::common::modules::ComputeEOSIsothermal< Tvec >, shammodels::common::modules::ComputeEOSLocallyIsothermal< Tvec >, shammodels::common::modules::ComputeEOSPolytropic< Tvec >, shammodels::common::modules::ComputeGravWave< Tvec >, shammodels::common::modules::ForwardEuler< T >, shammodels::common::modules::ForwardEulerPositive< T >, shammodels::sph::modules::BallabioTsLimiter< Tvec >, shammodels::sph::modules::BuildGhostInterfaceIdTable< Tvec >, shammodels::sph::modules::ComputeDustTtilde< Tvec, SPHKernel >, shammodels::sph::modules::ComputeNeighStats< Tvec >, 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::MonoFluidTVADeltav< Tvec, SPHKernel >, shammodels::sph::modules::NodeComputeLuminosity< Tvec, SPHKernel >, shammodels::sph::modules::NodeComputeOmega< Tvec, SPHKernel >, shammodels::sph::modules::NodeComputePressureGrad< Tvec, SPHKernel >, shammodels::sph::modules::NodeEvolveDustCOALASourceTerm< Tvec >, shammodels::sph::modules::NodeMonofluidTVAAddSourceTerm< Tvec >, shammodels::sph::modules::NodeMonofluidTVADustDensityClamp< Tvec >, shammodels::sph::modules::NodeMonofluidTVASmoothSPositivityLimiter< Tvec >, shammodels::sph::modules::NodeUpdateDerivsMonofluidTVA< Tvec, SPHKernel >, shammodels::sph::modules::NodeUpdateDerivsVaryingAlphaAV< Tvec, SPHKernel >, shammodels::sph::modules::NodeUpdateDerivsVaryingAlphaAVDustTVA< Tvec, SPHKernel >, shammodels::sph::modules::SetDustStoppingTimeConstant< Tvec >, shammodels::sph::modules::SetDustStoppingTimeEpstein< Tvec, SPHKernel >, shammodels::sph::modules::SetWhenMask< T >, shammodels::sph::modules::SGDirectPlummer< Tvec >, shammodels::sph::modules::SGFMMPlummer< Tvec, mm_order >, shammodels::sph::modules::SGMMPlummer< Tvec, mm_order >, shammodels::sph::modules::SGSFMMPlummer< Tvec, mm_order >, shammodels::sph::modules::SinkParticlesAccreteQuantities< Tvec >, shammodels::sph::modules::SinkParticlesEvictAccretedParticles< Tvec >, shammodels::sph::modules::SinkParticlesFlagAccreteHard< Tvec >, shammodels::sph::modules::SinkSelfGravityHost< Tvec >, shammodels::sph::modules::SPHAzymuthalInteg< Tvec, T, SPHKernel >, shammodels::sph::modules::SPHColumnInteg< Tvec, T, SPHKernel >, shammodels::sph::modules::SPHInterpolation< Tvec, T, SPHKernel >, shamrock::solvergraph::CopyPatchDataField< T >, shamrock::solvergraph::CopyPatchDataFieldFromLayer< T >, shamrock::solvergraph::CopyPatchDataLayerFields, shamrock::solvergraph::ExchangeGhostField< T >, shamrock::solvergraph::ExchangeGhostLayer, shamrock::solvergraph::ExchangeGhostLayerDebugDotGraph, shamrock::solvergraph::ExtractCounts, shamrock::solvergraph::ExtractGhostField< T >, shamrock::solvergraph::ForwardEulerHost2Deriv< T, Tscal >, shamrock::solvergraph::ForwardEulerHost< T, Tscal >, shamrock::solvergraph::GetFieldRefFromLayer< T >, shamrock::solvergraph::GetObjCntFromLayer, shamrock::solvergraph::NodeFreeAlloc, shamrock::solvergraph::NodeMapEdge< Tin, Tout >, shamrock::solvergraph::NodeSetEdge< Tedge >, shamrock::solvergraph::OperationIf, shamrock::solvergraph::OperationSequence, and shamrock::solvergraph::ReplaceGhostField< T >.
◆ _impl_get_dot_graph_node_end()
| std::string shamrock::solvergraph::INode::_impl_get_dot_graph_node_end |
( |
| ) |
const |
|
inlineprotectedvirtual |
◆ _impl_get_dot_graph_node_start()
| std::string shamrock::solvergraph::INode::_impl_get_dot_graph_node_start |
( |
| ) |
const |
|
inlineprotectedvirtual |
◆ _impl_get_dot_graph_partial()
| std::string shamrock::solvergraph::INode::_impl_get_dot_graph_partial |
( |
| ) |
const |
|
inlineprotectedvirtual |
◆ _impl_get_label()
| virtual std::string shamrock::solvergraph::INode::_impl_get_label |
( |
| ) |
const |
|
protectedpure virtual |
get the label of the node
Implemented in ComputeCFLCourant< Tscal >, ComputeCFLDivBCleaning< Tscal >, ComputeCFLDust1Fluid< Tvec >, ComputeCFLDustDrift< Tvec >, ComputeCFLForce< Tvec >, ComputeCFLSinkSink< Tvec >, shammodels::basegodunov::modules::BlockNeighToCellNeigh< Tvec, TgridVec, Tmorton >, shammodels::basegodunov::modules::ComputeAMRLevel< TgridVec >, shammodels::basegodunov::modules::ComputeLevel0CellSize< TgridVec >, 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::InterpolateToFacePress< Tvec, TgridVec >, shammodels::basegodunov::modules::InterpolateToFaceRho< Tvec, TgridVec >, shammodels::basegodunov::modules::InterpolateToFaceRhoDust< Tvec, TgridVec >, shammodels::basegodunov::modules::InterpolateToFaceVel< Tvec, TgridVec >, shammodels::basegodunov::modules::InterpolateToFaceVelDust< Tvec, TgridVec >, shammodels::basegodunov::modules::NodeBuildTrees< Umorton, TgridVec >, shammodels::basegodunov::modules::NodeComputeCellAABB< Tvec, TgridVec >, shammodels::basegodunov::modules::NodeComputeCoordinates< Tvec, TgridVec >, shammodels::basegodunov::modules::NodeComputeFluxDustDirMode< Tvec, TgridVec, mode, dir >, shammodels::basegodunov::modules::NodeComputeFluxGasDirMode< Tvec, TgridVec, mode, dir >, shammodels::basegodunov::modules::NodeComputeMass< Tvec, TgridVec >, shammodels::basegodunov::modules::NodeComputeSumOverV< T >, shammodels::basegodunov::modules::NodeConsToPrimDust< Tvec >, shammodels::basegodunov::modules::NodeConsToPrimGas< Tvec >, shammodels::basegodunov::modules::NodeEulerTimeDerivativeDust< Tvec >, shammodels::basegodunov::modules::NodeEulerTimeDerivativeGas< Tvec >, shammodels::basegodunov::modules::NodeSumFluxDust< Tvec, TgridVec >, shammodels::basegodunov::modules::NodeSumFluxHydro< Tvec, TgridVec >, shammodels::basegodunov::modules::ResidualDot< T >, shammodels::basegodunov::modules::SlopeLimitedScalarGradient< Tvec, TgridVec >, shammodels::basegodunov::modules::SlopeLimitedVectorGradient< Tvec, TgridVec >, shammodels::basegodunov::modules::TransformGhostLayer< Tvec, TgridVec >, shammodels::common::modules::AddForceCentralGravPotential< Tvec >, shammodels::common::modules::AddForceLenseThirring< Tvec >, shammodels::common::modules::AddForcePaczynskiWiita< Tvec >, shammodels::common::modules::AddForceShearingBoxInertialPart< Tvec >, shammodels::common::modules::AddForceShearingBoxNonInertial< Tvec >, shammodels::common::modules::AddForceVelocityDissipation< Tvec >, shammodels::common::modules::AddForceVerticalDiscPotential< Tvec >, shammodels::common::modules::ComputeEOSAdiabatic< Tvec >, shammodels::common::modules::ComputeEOSFermi< Tvec >, shammodels::common::modules::ComputeEOSIsothermal< Tvec >, shammodels::common::modules::ComputeEOSLocallyIsothermal< Tvec >, shammodels::common::modules::ComputeEOSPolytropic< Tvec >, shammodels::common::modules::ComputeGravWave< Tvec >, shammodels::common::modules::ForwardEuler< T >, shammodels::common::modules::ForwardEulerPositive< T >, shammodels::sph::modules::BallabioTsLimiter< Tvec >, shammodels::sph::modules::BuildGhostInterfaceIdTable< Tvec >, shammodels::sph::modules::ComputeDustTtilde< Tvec, SPHKernel >, shammodels::sph::modules::ComputeNeighStats< Tvec >, 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::MonoFluidTVADeltav< Tvec, SPHKernel >, shammodels::sph::modules::NodeComputeLuminosity< Tvec, SPHKernel >, shammodels::sph::modules::NodeComputeOmega< Tvec, SPHKernel >, shammodels::sph::modules::NodeComputePressureGrad< Tvec, SPHKernel >, shammodels::sph::modules::NodeEvolveDustCOALASourceTerm< Tvec >, shammodels::sph::modules::NodeMonofluidTVAAddSourceTerm< Tvec >, shammodels::sph::modules::NodeMonofluidTVADustDensityClamp< Tvec >, shammodels::sph::modules::NodeMonofluidTVASmoothSPositivityLimiter< Tvec >, shammodels::sph::modules::NodeUpdateDerivsMonofluidTVA< Tvec, SPHKernel >, shammodels::sph::modules::NodeUpdateDerivsVaryingAlphaAV< Tvec, SPHKernel >, shammodels::sph::modules::NodeUpdateDerivsVaryingAlphaAVDustTVA< Tvec, SPHKernel >, shammodels::sph::modules::SetDustStoppingTimeConstant< Tvec >, shammodels::sph::modules::SetDustStoppingTimeEpstein< Tvec, SPHKernel >, shammodels::sph::modules::SetWhenMask< T >, shammodels::sph::modules::SGDirectPlummer< Tvec >, shammodels::sph::modules::SGFMMPlummer< Tvec, mm_order >, shammodels::sph::modules::SGMMPlummer< Tvec, mm_order >, shammodels::sph::modules::SGSFMMPlummer< Tvec, mm_order >, shammodels::sph::modules::SinkParticlesAccreteQuantities< Tvec >, shammodels::sph::modules::SinkParticlesEvictAccretedParticles< Tvec >, shammodels::sph::modules::SinkParticlesFlagAccreteHard< Tvec >, shammodels::sph::modules::SinkSelfGravityHost< Tvec >, shammodels::sph::modules::SPHAzymuthalInteg< Tvec, T, SPHKernel >, shammodels::sph::modules::SPHColumnInteg< Tvec, T, SPHKernel >, shammodels::sph::modules::SPHInterpolation< Tvec, T, SPHKernel >, shamrock::solvergraph::CopyPatchDataField< T >, shamrock::solvergraph::CopyPatchDataFieldFromLayer< T >, shamrock::solvergraph::CopyPatchDataLayerFields, shamrock::solvergraph::ExchangeGhostField< T >, shamrock::solvergraph::ExchangeGhostLayer, shamrock::solvergraph::ExchangeGhostLayerDebugDotGraph, shamrock::solvergraph::ExtractCounts, shamrock::solvergraph::ExtractGhostField< T >, shamrock::solvergraph::ForwardEulerHost2Deriv< T, Tscal >, shamrock::solvergraph::ForwardEulerHost< T, Tscal >, shamrock::solvergraph::GetFieldRefFromLayer< T >, shamrock::solvergraph::GetObjCntFromLayer, shamrock::solvergraph::NodeFreeAlloc, shamrock::solvergraph::NodeMapEdge< Tin, Tout >, shamrock::solvergraph::NodeSetEdge< Tedge >, shamrock::solvergraph::OperationIf, shamrock::solvergraph::OperationSequence, and shamrock::solvergraph::ReplaceGhostField< T >.
◆ _impl_get_tex()
| virtual std::string shamrock::solvergraph::INode::_impl_get_tex |
( |
| ) |
const |
|
protectedpure virtual |
get the tex of the node
Implemented in ComputeCFLCourant< Tscal >, ComputeCFLDivBCleaning< Tscal >, ComputeCFLDust1Fluid< Tvec >, ComputeCFLDustDrift< Tvec >, ComputeCFLForce< Tvec >, ComputeCFLSinkSink< Tvec >, shammodels::basegodunov::modules::BlockNeighToCellNeigh< Tvec, TgridVec, Tmorton >, shammodels::basegodunov::modules::ComputeAMRLevel< TgridVec >, shammodels::basegodunov::modules::ComputeLevel0CellSize< TgridVec >, 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::InterpolateToFacePress< Tvec, TgridVec >, shammodels::basegodunov::modules::InterpolateToFaceRho< Tvec, TgridVec >, shammodels::basegodunov::modules::InterpolateToFaceRhoDust< Tvec, TgridVec >, shammodels::basegodunov::modules::InterpolateToFaceVel< Tvec, TgridVec >, shammodels::basegodunov::modules::InterpolateToFaceVelDust< Tvec, TgridVec >, shammodels::basegodunov::modules::NodeBuildTrees< Umorton, TgridVec >, shammodels::basegodunov::modules::NodeComputeCellAABB< Tvec, TgridVec >, shammodels::basegodunov::modules::NodeComputeCoordinates< Tvec, TgridVec >, shammodels::basegodunov::modules::NodeComputeFluxDustDirMode< Tvec, TgridVec, mode, dir >, shammodels::basegodunov::modules::NodeComputeFluxGasDirMode< Tvec, TgridVec, mode, dir >, shammodels::basegodunov::modules::NodeComputeMass< Tvec, TgridVec >, shammodels::basegodunov::modules::NodeComputeSumOverV< T >, shammodels::basegodunov::modules::NodeConsToPrimDust< Tvec >, shammodels::basegodunov::modules::NodeConsToPrimGas< Tvec >, shammodels::basegodunov::modules::NodeEulerTimeDerivativeDust< Tvec >, shammodels::basegodunov::modules::NodeEulerTimeDerivativeGas< Tvec >, shammodels::basegodunov::modules::NodeSumFluxDust< Tvec, TgridVec >, shammodels::basegodunov::modules::NodeSumFluxHydro< Tvec, TgridVec >, shammodels::basegodunov::modules::ResidualDot< T >, shammodels::basegodunov::modules::SlopeLimitedScalarGradient< Tvec, TgridVec >, shammodels::basegodunov::modules::SlopeLimitedVectorGradient< Tvec, TgridVec >, shammodels::basegodunov::modules::TransformGhostLayer< Tvec, TgridVec >, shammodels::common::modules::AddForceCentralGravPotential< Tvec >, shammodels::common::modules::AddForceLenseThirring< Tvec >, shammodels::common::modules::AddForcePaczynskiWiita< Tvec >, shammodels::common::modules::AddForceShearingBoxInertialPart< Tvec >, shammodels::common::modules::AddForceShearingBoxNonInertial< Tvec >, shammodels::common::modules::AddForceVelocityDissipation< Tvec >, shammodels::common::modules::AddForceVerticalDiscPotential< Tvec >, shammodels::common::modules::ComputeEOSAdiabatic< Tvec >, shammodels::common::modules::ComputeEOSFermi< Tvec >, shammodels::common::modules::ComputeEOSIsothermal< Tvec >, shammodels::common::modules::ComputeEOSLocallyIsothermal< Tvec >, shammodels::common::modules::ComputeEOSPolytropic< Tvec >, shammodels::common::modules::ComputeGravWave< Tvec >, shammodels::common::modules::ForwardEuler< T >, shammodels::common::modules::ForwardEulerPositive< T >, shammodels::sph::modules::BallabioTsLimiter< Tvec >, shammodels::sph::modules::BuildGhostInterfaceIdTable< Tvec >, shammodels::sph::modules::ComputeDustTtilde< Tvec, SPHKernel >, shammodels::sph::modules::ComputeNeighStats< Tvec >, 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::MonoFluidTVADeltav< Tvec, SPHKernel >, shammodels::sph::modules::NodeComputeLuminosity< Tvec, SPHKernel >, shammodels::sph::modules::NodeComputeOmega< Tvec, SPHKernel >, shammodels::sph::modules::NodeComputePressureGrad< Tvec, SPHKernel >, shammodels::sph::modules::NodeEvolveDustCOALASourceTerm< Tvec >, shammodels::sph::modules::NodeMonofluidTVAAddSourceTerm< Tvec >, shammodels::sph::modules::NodeMonofluidTVADustDensityClamp< Tvec >, shammodels::sph::modules::NodeMonofluidTVASmoothSPositivityLimiter< Tvec >, shammodels::sph::modules::NodeUpdateDerivsMonofluidTVA< Tvec, SPHKernel >, shammodels::sph::modules::NodeUpdateDerivsVaryingAlphaAV< Tvec, SPHKernel >, shammodels::sph::modules::NodeUpdateDerivsVaryingAlphaAVDustTVA< Tvec, SPHKernel >, shammodels::sph::modules::SetDustStoppingTimeConstant< Tvec >, shammodels::sph::modules::SetDustStoppingTimeEpstein< Tvec, SPHKernel >, shammodels::sph::modules::SetWhenMask< T >, shammodels::sph::modules::SGDirectPlummer< Tvec >, shammodels::sph::modules::SGFMMPlummer< Tvec, mm_order >, shammodels::sph::modules::SGMMPlummer< Tvec, mm_order >, shammodels::sph::modules::SGSFMMPlummer< Tvec, mm_order >, shammodels::sph::modules::SinkParticlesAccreteQuantities< Tvec >, shammodels::sph::modules::SinkParticlesEvictAccretedParticles< Tvec >, shammodels::sph::modules::SinkParticlesFlagAccreteHard< Tvec >, shammodels::sph::modules::SinkSelfGravityHost< Tvec >, shammodels::sph::modules::SPHAzymuthalInteg< Tvec, T, SPHKernel >, shammodels::sph::modules::SPHColumnInteg< Tvec, T, SPHKernel >, shammodels::sph::modules::SPHInterpolation< Tvec, T, SPHKernel >, shamrock::solvergraph::CopyPatchDataField< T >, shamrock::solvergraph::CopyPatchDataFieldFromLayer< T >, shamrock::solvergraph::CopyPatchDataLayerFields, shamrock::solvergraph::ExchangeGhostField< T >, shamrock::solvergraph::ExchangeGhostLayer, shamrock::solvergraph::ExchangeGhostLayerDebugDotGraph, shamrock::solvergraph::ExtractCounts, shamrock::solvergraph::ExtractGhostField< T >, shamrock::solvergraph::ForwardEulerHost2Deriv< T, Tscal >, shamrock::solvergraph::ForwardEulerHost< T, Tscal >, shamrock::solvergraph::GetFieldRefFromLayer< T >, shamrock::solvergraph::GetObjCntFromLayer, shamrock::solvergraph::NodeFreeAlloc, shamrock::solvergraph::NodeMapEdge< Tin, Tout >, shamrock::solvergraph::NodeSetEdge< Tedge >, shamrock::solvergraph::OperationIf, shamrock::solvergraph::OperationSequence, and shamrock::solvergraph::ReplaceGhostField< T >.
◆ evaluate()
| void shamrock::solvergraph::INode::evaluate |
( |
| ) |
|
|
inline |
Evaluate the node.
Definition at line 156 of file INode.hpp.
◆ get_dot_graph()
| std::string shamrock::solvergraph::INode::get_dot_graph |
( |
| ) |
|
|
inline |
Get the dot graph of the node (Currently only an alias to get_dot_graph_partial).
Definition at line 168 of file INode.hpp.
◆ get_dot_graph_node_end()
| std::string shamrock::solvergraph::INode::get_dot_graph_node_end |
( |
| ) |
|
|
inline |
Get the id of the node end in the dot graph.
Definition at line 176 of file INode.hpp.
◆ get_dot_graph_node_start()
| std::string shamrock::solvergraph::INode::get_dot_graph_node_start |
( |
| ) |
|
|
inline |
Get the id of the node start in the dot graph.
Definition at line 174 of file INode.hpp.
◆ get_dot_graph_partial()
| std::string shamrock::solvergraph::INode::get_dot_graph_partial |
( |
| ) |
|
|
inline |
Get the dot graph of the subgraph corresponding to the node.
Definition at line 171 of file INode.hpp.
◆ get_label()
| std::string shamrock::solvergraph::INode::get_label |
( |
| ) |
const |
|
inline |
Get the label of the node.
Definition at line 183 of file INode.hpp.
◆ get_ro_edge()
template<class T>
| const T & shamrock::solvergraph::INode::get_ro_edge |
( |
int | slot | ) |
|
|
inline |
Get a read only edge and cast it to the type T.
Definition at line 91 of file INode.hpp.
◆ get_ro_edge_base() [1/2]
| const IEdge & shamrock::solvergraph::INode::get_ro_edge_base |
( |
int | slot | ) |
|
|
inline |
Get a reference to a read only edge.
Definition at line 138 of file INode.hpp.
◆ get_ro_edge_base() [2/2]
| const IEdge & shamrock::solvergraph::INode::get_ro_edge_base |
( |
int | slot | ) |
const |
|
inline |
◆ get_ro_edge_optional()
template<class T>
| std::optional< std::reference_wrapper< const T > > shamrock::solvergraph::INode::get_ro_edge_optional |
( |
int | slot | ) |
|
|
inline |
Get a read only edge and cast it to the type T, return an optional.
Definition at line 103 of file INode.hpp.
◆ get_ro_edges()
| std::vector< std::shared_ptr< IEdge > > & shamrock::solvergraph::INode::get_ro_edges |
( |
| ) |
|
|
inline |
Get the read only edges.
Definition at line 63 of file INode.hpp.
◆ get_rw_edge()
template<class T>
| T & shamrock::solvergraph::INode::get_rw_edge |
( |
int | slot | ) |
|
|
inline |
Get a read write edge and cast it to the type T.
Definition at line 97 of file INode.hpp.
◆ get_rw_edge_base() [1/2]
| IEdge & shamrock::solvergraph::INode::get_rw_edge_base |
( |
int | slot | ) |
|
|
inline |
Get a reference to a read write edge and cast it to the type IEdge.
Definition at line 147 of file INode.hpp.
◆ get_rw_edge_base() [2/2]
| const IEdge & shamrock::solvergraph::INode::get_rw_edge_base |
( |
int | slot | ) |
const |
|
inline |
◆ get_rw_edge_optional()
template<class T>
| std::optional< std::reference_wrapper< T > > shamrock::solvergraph::INode::get_rw_edge_optional |
( |
int | slot | ) |
|
|
inline |
Get a read write edge and cast it to the type T, return an optional.
Definition at line 121 of file INode.hpp.
◆ get_rw_edges()
| std::vector< std::shared_ptr< IEdge > > & shamrock::solvergraph::INode::get_rw_edges |
( |
| ) |
|
|
inline |
Get the read write edges.
Definition at line 65 of file INode.hpp.
◆ get_tex()
| std::string shamrock::solvergraph::INode::get_tex |
( |
| ) |
|
|
inline |
Get the TeX of the node.
Definition at line 179 of file INode.hpp.
◆ get_tex_partial()
| std::string shamrock::solvergraph::INode::get_tex_partial |
( |
| ) |
|
|
inline |
Get the TeX of the node partial.
Definition at line 181 of file INode.hpp.
◆ get_uuid()
| u64 shamrock::solvergraph::INode::get_uuid |
( |
| ) |
const |
|
inline |
Get the UUID of the node.
Definition at line 55 of file INode.hpp.
◆ getptr_shared()
| std::shared_ptr< INode > shamrock::solvergraph::INode::getptr_shared |
( |
| ) |
|
|
inline |
Get a shared pointer to this node.
Definition at line 58 of file INode.hpp.
◆ getptr_weak()
| std::weak_ptr< INode > shamrock::solvergraph::INode::getptr_weak |
( |
| ) |
|
|
inline |
Get a weak pointer to this node.
Definition at line 60 of file INode.hpp.
◆ notify_self_state_update()
| void shamrock::solvergraph::INode::notify_self_state_update |
( |
| ) |
|
|
inlineprotected |
Fire a self state_update for this node. Meant to be called at the end of a derived class's own constructor, once that class's members are fully initialized – never from INode's own constructor. typeid() during a base class's constructor body reports the class currently under construction (INode), not the object's final derived type, so a state_update fired from there would misreport its dynamic type. This lets meta nodes that own no ro/rw edges of their own (e.g. OperationSequence) still record a state_update before they can be evaluated.
Definition at line 219 of file INode.hpp.
◆ on_edge_ro_edges()
template<class Func>
| void shamrock::solvergraph::INode::on_edge_ro_edges |
( |
Func && | f | ) |
|
|
inline |
Apply a function to the read only edges.
Definition at line 261 of file INode.hpp.
◆ on_edge_rw_edges()
template<class Func>
| void shamrock::solvergraph::INode::on_edge_rw_edges |
( |
Func && | f | ) |
|
|
inline |
Apply a function to the read write edges.
Definition at line 268 of file INode.hpp.
◆ print_node_info()
| virtual std::string shamrock::solvergraph::INode::print_node_info |
( |
| ) |
const |
|
inlinevirtual |
print the node info
Definition at line 186 of file INode.hpp.
The documentation for this class was generated from the following file:
- shamsolvergraph/include/shamsolvergraph/node/INode.hpp