Shamrock 2025.10.0
Astrophysical Code
Loading...
Searching...
No Matches
shammodels::sph::modules::BuildGhostInterfaceIdTable< Tvec > Class Template Reference

Build the id table of every ghost interface. More...

#include <shammodels/sph/include/shammodels/sph/modules/BuildGhostInterfaceIdTable.hpp>

Inheritance diagram for shammodels::sph::modules::BuildGhostInterfaceIdTable< Tvec >:
Collaboration diagram for shammodels::sph::modules::BuildGhostInterfaceIdTable< Tvec >:

Public Member Functions

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
Public Member Functions inherited from shamrock::solvergraph::INode
 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

Additional Inherited Members

Protected Member Functions inherited from shamrock::solvergraph::INode
void notify_self_state_update ()
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

Detailed Description

template<class Tvec>
class shammodels::sph::modules::BuildGhostInterfaceIdTable< Tvec >

Build the id table of every ghost interface.

For each interface (sender -> receiver) described in interface_infos, select the ids of the particles of the sender patch that lie within the interface cut volume. Interfaces that end up empty are dropped, as are interfaces whose sender is not in positions (which only holds non-empty patches). A warning is emitted if the ghost volume of a patch is too large compared to the patch itself.

Template Parameters
Tvecposition vector type

Definition at line 47 of file BuildGhostInterfaceIdTable.hpp.

Member Function Documentation

◆ _impl_evaluate_internal()

template<class Tvec>
void shammodels::sph::modules::BuildGhostInterfaceIdTable< Tvec >::_impl_evaluate_internal ( )
virtual

evaluate the node

Implements shamrock::solvergraph::INode.

Definition at line 29 of file BuildGhostInterfaceIdTable.cpp.

Here is the call graph for this function:

◆ _impl_get_label()

template<class Tvec>
virtual std::string shammodels::sph::modules::BuildGhostInterfaceIdTable< Tvec >::_impl_get_label ( ) const
inlinevirtual

get the label of the node

Implements shamrock::solvergraph::INode.

Definition at line 60 of file BuildGhostInterfaceIdTable.hpp.

◆ _impl_get_tex()

template<class Tvec>
std::string shammodels::sph::modules::BuildGhostInterfaceIdTable< Tvec >::_impl_get_tex ( ) const
virtual

get the tex of the node

Implements shamrock::solvergraph::INode.

Definition at line 115 of file BuildGhostInterfaceIdTable.cpp.


The documentation for this class was generated from the following files: