Shamrock 2025.10.0
Astrophysical Code
Loading...
Searching...
No Matches
shamrock::solvergraph::ForwardEulerHost2Deriv< T, Tscal > Class Template Reference

Forward Euler integration of a host-side (std::vector) field with two derivative contributions. More...

#include <shamsolvergraph/include/shamsolvergraph/node/ForwardEulerHost2Deriv.hpp>

Inheritance diagram for shamrock::solvergraph::ForwardEulerHost2Deriv< T, Tscal >:
Collaboration diagram for shamrock::solvergraph::ForwardEulerHost2Deriv< T, Tscal >:

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 T, class Tscal = T>
class shamrock::solvergraph::ForwardEulerHost2Deriv< T, Tscal >

Forward Euler integration of a host-side (std::vector) field with two derivative contributions.

Performs field[i] += dt * (field_dt1[i] + field_dt2[i]) for every element of the field.

Template Parameters
TThe value type stored in the field vector
TscalThe scalar type of the timestep dt (defaults to T)

Definition at line 42 of file ForwardEulerHost2Deriv.hpp.

Member Function Documentation

◆ _impl_evaluate_internal()

template<class T, class Tscal = T>
void shamrock::solvergraph::ForwardEulerHost2Deriv< T, Tscal >::_impl_evaluate_internal ( )
inlinevirtual

evaluate the node

Implements shamrock::solvergraph::INode.

Definition at line 49 of file ForwardEulerHost2Deriv.hpp.

Here is the call graph for this function:

◆ _impl_get_label()

template<class T, class Tscal = T>
virtual std::string shamrock::solvergraph::ForwardEulerHost2Deriv< T, Tscal >::_impl_get_label ( ) const
inlinevirtual

get the label of the node

Implements shamrock::solvergraph::INode.

Definition at line 64 of file ForwardEulerHost2Deriv.hpp.

◆ _impl_get_tex()

template<class T, class Tscal = T>
virtual std::string shamrock::solvergraph::ForwardEulerHost2Deriv< T, Tscal >::_impl_get_tex ( ) const
inlinevirtual

get the tex of the node

Implements shamrock::solvergraph::INode.

Definition at line 66 of file ForwardEulerHost2Deriv.hpp.


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