Shamrock 2025.10.0
Astrophysical Code
Loading...
Searching...
No Matches
Classes | Public Member Functions | Protected Member Functions | List of all members
shammodels::sph::modules::SGSFMMPlummer< Tvec, mm_order > Class Template Reference
+ Inheritance diagram for shammodels::sph::modules::SGSFMMPlummer< Tvec, mm_order >:
+ Collaboration diagram for shammodels::sph::modules::SGSFMMPlummer< Tvec, mm_order >:

Classes

struct  Edges
 

Public Member Functions

 SGSFMMPlummer (Tscal epsilon, Tscal theta_crit, bool leaf_lowering, u32 reduction_level)
 
void set_edges (std::shared_ptr< shamrock::solvergraph::Indexes< u32 > > sizes, std::shared_ptr< shamrock::solvergraph::IDataEdge< Tscal > > gpart_mass, std::shared_ptr< shamrock::solvergraph::IDataEdge< Tscal > > constant_G, std::shared_ptr< shamrock::solvergraph::FieldRefs< Tvec > > field_xyz, std::shared_ptr< shamrock::solvergraph::FieldRefs< Tvec > > field_axyz_ext)
 
Edges get_edges ()
 
std::string _impl_get_label () const override
 get the label of the node
 
std::string _impl_get_tex () const override
 get the tex of the node
 
- Public Member Functions inherited from shamrock::solvergraph::INode
 INode (const INode &)=delete
 
INodeoperator= (const INode &)=delete
 would violate shared_from_this() & unique UUID
 
 INode (INode &&) noexcept=default
 would violate shared_from_this() & unique UUID
 
INodeoperator= (INode &&) noexcept=default
 Move assignment - automatically delegates to base classes and members.
 
std::shared_ptr< INodegetptr_shared ()
 Get a shared pointer to this node.
 
std::weak_ptr< INodegetptr_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 IEdgeget_ro_edge_base (int slot)
 Get a reference to a read only edge.
 
const IEdgeget_ro_edge_base (int slot) const
 
IEdgeget_rw_edge_base (int slot)
 Get a reference to a read write edge and cast it to the type IEdge.
 
const IEdgeget_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

void _impl_evaluate_internal () override
 evaluate the node
 
- Protected Member Functions inherited from shamrock::solvergraph::INode
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
 

Additional Inherited Members

- Protected Attributes inherited from shambase::WithUUID< INode, u64 >
u64 uuid
 The unique identifier of the class.
 

Detailed Description

template<class Tvec, u32 mm_order>
class shammodels::sph::modules::SGSFMMPlummer< Tvec, mm_order >

Definition at line 34 of file SGSFMMPlummer.hpp.

Constructor & Destructor Documentation

◆ SGSFMMPlummer()

template<class Tvec , u32 mm_order>
shammodels::sph::modules::SGSFMMPlummer< Tvec, mm_order >::SGSFMMPlummer ( Tscal  epsilon,
Tscal  theta_crit,
bool  leaf_lowering,
u32  reduction_level 
)
inlineexplicit

Definition at line 44 of file SGSFMMPlummer.hpp.

Member Function Documentation

◆ _impl_evaluate_internal()

template<class Tvec , u32 mm_order>
void shammodels::sph::modules::SGSFMMPlummer< Tvec, mm_order >::_impl_evaluate_internal ( )
overrideprotectedvirtual

evaluate the node

Implements shamrock::solvergraph::INode.

Definition at line 40 of file SGSFMMPlummer.cpp.

+ Here is the call graph for this function:

◆ _impl_get_label()

template<class Tvec , u32 mm_order>
std::string shammodels::sph::modules::SGSFMMPlummer< Tvec, mm_order >::_impl_get_label ( ) const
inlineoverridevirtual

get the label of the node

Implements shamrock::solvergraph::INode.

Definition at line 76 of file SGSFMMPlummer.hpp.

◆ _impl_get_tex()

template<class Tvec , u32 mm_order>
std::string shammodels::sph::modules::SGSFMMPlummer< Tvec, mm_order >::_impl_get_tex ( ) const
inlineoverridevirtual

get the tex of the node

Implements shamrock::solvergraph::INode.

Definition at line 77 of file SGSFMMPlummer.hpp.

◆ get_edges()

template<class Tvec , u32 mm_order>
Edges shammodels::sph::modules::SGSFMMPlummer< Tvec, mm_order >::get_edges ( )
inline

Definition at line 67 of file SGSFMMPlummer.hpp.

◆ set_edges()

template<class Tvec , u32 mm_order>
void shammodels::sph::modules::SGSFMMPlummer< Tvec, mm_order >::set_edges ( std::shared_ptr< shamrock::solvergraph::Indexes< u32 > >  sizes,
std::shared_ptr< shamrock::solvergraph::IDataEdge< Tscal > >  gpart_mass,
std::shared_ptr< shamrock::solvergraph::IDataEdge< Tscal > >  constant_G,
std::shared_ptr< shamrock::solvergraph::FieldRefs< Tvec > >  field_xyz,
std::shared_ptr< shamrock::solvergraph::FieldRefs< Tvec > >  field_axyz_ext 
)
inline

Definition at line 57 of file SGSFMMPlummer.hpp.


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