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

Classes

struct  Edges
 

Public Member Functions

 SGDirectPlummer (Tscal epsilon, bool reference_mode=false)
 
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>
class shammodels::sph::modules::SGDirectPlummer< Tvec >

Definition at line 34 of file SGDirectPlummer.hpp.

Constructor & Destructor Documentation

◆ SGDirectPlummer()

template<class Tvec >
shammodels::sph::modules::SGDirectPlummer< Tvec >::SGDirectPlummer ( Tscal  epsilon,
bool  reference_mode = false 
)
inlineexplicit

Definition at line 43 of file SGDirectPlummer.hpp.

Member Function Documentation

◆ _impl_evaluate_internal()

template<class Tvec >
void shammodels::sph::modules::SGDirectPlummer< Tvec >::_impl_evaluate_internal ( )
overrideprotectedvirtual

evaluate the node

Implements shamrock::solvergraph::INode.

Definition at line 23 of file SGDirectPlummer.cpp.

+ Here is the call graph for this function:

◆ _impl_get_label()

template<class Tvec >
std::string shammodels::sph::modules::SGDirectPlummer< Tvec >::_impl_get_label ( ) const
inlineoverridevirtual

get the label of the node

Implements shamrock::solvergraph::INode.

Definition at line 73 of file SGDirectPlummer.hpp.

◆ _impl_get_tex()

template<class Tvec >
std::string shammodels::sph::modules::SGDirectPlummer< Tvec >::_impl_get_tex ( ) const
inlineoverridevirtual

get the tex of the node

Implements shamrock::solvergraph::INode.

Definition at line 74 of file SGDirectPlummer.hpp.

◆ get_edges()

template<class Tvec >
Edges shammodels::sph::modules::SGDirectPlummer< Tvec >::get_edges ( )
inline

Definition at line 64 of file SGDirectPlummer.hpp.

◆ set_edges()

template<class Tvec >
void shammodels::sph::modules::SGDirectPlummer< Tvec >::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 54 of file SGDirectPlummer.hpp.


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