Shamrock 2025.10.0
Astrophysical Code
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | List of all members
shamrock::solvergraph::PatchDataFieldDDShared< T > Class Template Reference

Shared distributed data field for patch data management. More...

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

+ Inheritance diagram for shamrock::solvergraph::PatchDataFieldDDShared< T >:
+ Collaboration diagram for shamrock::solvergraph::PatchDataFieldDDShared< T >:

Public Member Functions

virtual void free_alloc ()
 Free allocated resources.
 
 IEdgeNamed (std::string name, std::string texsymbol)
 Inherit constructors from IDataEdgeNamed.
 
- 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 ~IFreeable ()
 Virtual destructor.
 

Public Attributes

shambase::DistributedDataShared< PatchDataField< T > > patchdata_fields
 Shared distributed data containing patch data fields.
 

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::PatchDataFieldDDShared< T >

Shared distributed data field for patch data management.

PatchDataFieldDDShared provides a templated shared distributed data interface for managing patch data fields within solver graph structures. It extends IDataEdgeNamed to provide named data edge functionality while maintaining shared patch data fields across distributed systems.

This template class is particularly useful in scenarios where multiple solver components need access to the same typed patch data field, ensuring efficient memory usage and data consistency across distributed computations.

Template Parameters
TThe data type stored in the patch data fields
// Create a shared distributed data field for double values
auto sharedField = std::make_unique<PatchDataFieldDDShared<double>>("label","tex symbol");
// Access the shared patch data fields
auto& patchFields = sharedField->patchdata_fields;
// Free allocated resources when done
sharedField->free_alloc();

Definition at line 59 of file PatchDataFieldDDShared.hpp.

Member Function Documentation

◆ free_alloc()

template<class T >
virtual void shamrock::solvergraph::PatchDataFieldDDShared< T >::free_alloc ( )
inlinevirtual

Free allocated resources.

Implements shamrock::solvergraph::IFreeable.

Definition at line 76 of file PatchDataFieldDDShared.hpp.

◆ IEdgeNamed()

template<class T >
shamrock::solvergraph::IEdgeNamed::IEdgeNamed ( std::string  name,
std::string  texsymbol 
)
inline

Inherit constructors from IDataEdgeNamed.

Definition at line 28 of file IEdgeNamed.hpp.

Member Data Documentation

◆ patchdata_fields

Shared distributed data containing patch data fields.

This member provides access to shared distributed data that contains typed patch data fields. The data is shared across multiple processes or computational nodes, allowing efficient access to field information without unnecessary data duplication.

Definition at line 70 of file PatchDataFieldDDShared.hpp.


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