Shamrock 2025.10.0
Astrophysical Code
Loading...
Searching...
No Matches
shamrock::solvergraph::IFieldRefs< T > Class Template Referenceabstract

Interface for a solver graph edge representing a field as references to the underlying patch fields. More...

#include <shamrock/include/shamrock/solvergraph/IFieldRefs.hpp>

Inheritance diagram for shamrock::solvergraph::IFieldRefs< T >:
Collaboration diagram for shamrock::solvergraph::IFieldRefs< T >:

Public Member Functions

virtual DDPatchDataFieldRef< T > & get_refs ()=0
 Get the DistributedData of PatchDataFieldRefs.
virtual const DDPatchDataFieldRef< T > & get_refs () const =0
 Const variant of get_refs.
PatchDataField< T > & get_field (u64 id) const
 Get the underlying PatchDataField at the given id.
Public Member Functions inherited from shamrock::solvergraph::IFieldSpan< T >
virtual DDPatchDataFieldSpanPointer< T > & get_spans ()=0
 Get the DistributedData of spans attached to the underlying field.
virtual const DDPatchDataFieldSpanPointer< T > & get_spans () const =0
 Const variant of get_spans.
virtual void check_sizes (const shambase::DistributedData< u32 > &sizes) const =0
 Check that the sizes of the patches in the field match the given sizes.
virtual void ensure_sizes (const shambase::DistributedData< u32 > &sizes)=0
 Ensure that the sizes of the patches in the field match the given sizes (Can resize the underlying fields).
 IEdgeNamed (std::string name, std::string texsymbol)
Public Member Functions inherited from shamrock::solvergraph::IEdgeNamed
 IEdgeNamed (std::string name, std::string texsymbol)
virtual std::string _impl_get_dot_label () const
virtual std::string _impl_get_tex_symbol () const
Public Member Functions inherited from shamrock::solvergraph::IEdge
std::string get_label () const
std::string get_tex_symbol () const
Public Member Functions inherited from shambase::WithUUID< IEdge, u64 >
u64 get_uuid () const
 Get the uuid of the class.
 WithUUID ()
 Constructor of the class.
Public Member Functions inherited from shamrock::solvergraph::IFreeable
virtual void free_alloc ()=0
 Free allocated memory.
virtual ~IFreeable ()
 Virtual destructor.

Additional Inherited Members

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

Detailed Description

template<class T>
class shamrock::solvergraph::IFieldRefs< T >

Interface for a solver graph edge representing a field as references to the underlying patch fields.

A field refer to a field that is distributed over several patches.

Template Parameters
TThe primitive type of the field

Definition at line 43 of file IFieldRefs.hpp.

Member Function Documentation

◆ get_field()

template<class T>
PatchDataField< T > & shamrock::solvergraph::IFieldRefs< T >::get_field ( u64 id) const
inline

Get the underlying PatchDataField at the given id.

Definition at line 54 of file IFieldRefs.hpp.

Here is the call graph for this function:

◆ get_refs() [1/2]

template<class T>
virtual const DDPatchDataFieldRef< T > & shamrock::solvergraph::IFieldRefs< T >::get_refs ( ) const
pure virtual

Const variant of get_refs.

Implemented in shamrock::solvergraph::Field< T >, and shamrock::solvergraph::FieldRefs< T >.

◆ get_refs() [2/2]


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