Shamrock 2025.10.0
Astrophysical Code
Loading...
Searching...
No Matches
ComputeCFLSinkSink< Tvec > Class Template Reference

Host-side (N^2) sink-sink CFL condition. More...

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

Inheritance diagram for ComputeCFLSinkSink< Tvec >:
Collaboration diagram for ComputeCFLSinkSink< 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 ComputeCFLSinkSink< Tvec >

Host-side (N^2) sink-sink CFL condition.

For each sink i with a non-zero external acceleration f_i, and each other sink j: dt_ij = C_force * eta_phi * sqrt(|phi_ij| / |f_i|^2), with phi_ij = G * m_j / |r_ij|. The result is the minimum over all pairs (infinity if no pair contributes).

Template Parameters
TvecThe sink position vector type

Definition at line 48 of file ComputeCFLSinkSink.hpp.

Member Function Documentation

◆ _impl_evaluate_internal()

template<class Tvec>
void ComputeCFLSinkSink< Tvec >::_impl_evaluate_internal ( )
inlinevirtual

evaluate the node

Implements shamrock::solvergraph::INode.

Definition at line 57 of file ComputeCFLSinkSink.hpp.

Here is the call graph for this function:

◆ _impl_get_label()

template<class Tvec>
virtual std::string ComputeCFLSinkSink< Tvec >::_impl_get_label ( ) const
inlinevirtual

get the label of the node

Implements shamrock::solvergraph::INode.

Definition at line 104 of file ComputeCFLSinkSink.hpp.

◆ _impl_get_tex()

template<class Tvec>
virtual std::string ComputeCFLSinkSink< Tvec >::_impl_get_tex ( ) const
inlinevirtual

get the tex of the node

Implements shamrock::solvergraph::INode.

Definition at line 106 of file ComputeCFLSinkSink.hpp.


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