Class AAH_SPDS

Inheritance Relationships

Base Type

Class Documentation

class AAH_SPDS : public opensn::SPDS

Public Functions

AAH_SPDS(int id, const Vector3 &omega, std::shared_ptr<MeshContinuum> grid, bool allow_cycles, bool use_gpus = false)

Creates a sweep-plane data structure (SPDS) for the given direction and grid.

Parameters:
  • id – The unique identifier for this SPDS.

  • omega – The angular direction for the sweep operation.

  • grid – The grid on which the sweep is performed.

  • allow_cycles – Whether cycles are allowed in the local and global swepp dependency graphs.

  • use_gpus – Whether to allocate device memory for GPU acceleration.

inline int GetId() const

Returns the id of this SPDS.

inline const std::vector<STDG> &GetGlobalSweepPlanes() const

Return the levelized global sweep TDG.

void BuildGlobalSweepFAS()

Builds the Feedback Arc Set (FAS) for the global sweep.

void BuildGlobalSweepTDG()

Builds the Task Dependency Graph (TDG) for the global sweep.

void CopySPLSDataOnDevice()

Copies the levelized SPLS data on device.

void FreeDeviceData()

Free the memory on GPU.

inline std::uint32_t *GetDeviceLevelVector(std::size_t level) const

Get level vector on device.

inline std::vector<int> GetGlobalSweepFAS()

Returns the global sweep FAS as a vector of edges.

inline void SetGlobalSweepFAS(std::vector<int> &edges)

Sets the global sweep FAS.

Parameters:

edges – A vector of edges representing the FAS.

~AAH_SPDS() override

Destructor.