Class CBCD_AngleSet

Inheritance Relationships

Base Type

Class Documentation

class CBCD_AngleSet : public opensn::AngleSet

CBC angle set for device.

Public Functions

CBCD_AngleSet(size_t id, const LBSGroupset &groupset, const SPDS &spds, std::shared_ptr<FLUDS> &fluds, const std::vector<size_t> &angle_indices, std::map<std::uint64_t, std::shared_ptr<SweepBoundary>> &boundaries, const MPICommunicatorSet &comm_set)
~CBCD_AngleSet()
virtual AsynchronousCommunicator *GetCommunicator() override
inline virtual void InitializeDelayedUpstreamData() override

Initializes delayed upstream data.

This method gets called when a sweep scheduler is constructed.

inline virtual int GetMaxBufferMessages() const override

Returns the maximum buffer size from the sweepbuffer.

inline virtual void SetMaxBufferMessages(int new_max) override

Sets the maximum buffer size for the sweepbuffer.

virtual AngleSetStatus AngleSetAdvance(SweepChunk &sweep_chunk, AngleSetStatus permission) override

This function advances the work stages of an angleset.

inline virtual AngleSetStatus FlushSendBuffers() override
virtual void ResetSweepBuffers() override

Resets the sweep buffer.

inline virtual bool ReceiveDelayedData() override

Instructs the sweep buffer to receive delayed data.

virtual void SyncDeviceAngleIndices() override

Update the angle index data on the device to match the host.

inline crb::Stream &GetStream()
inline std::uint32_t *GetDeviceAngleIndices()
inline std::vector<Task> &GetCurrentTaskList()
void UpdateDependencyCounters()

Protected Attributes

const CBC_SPDS &cbc_spds_
std::vector<Task> current_task_list_
CBC_AsynchronousCommunicator async_comm_
crb::Stream stream_ = crb::Stream::get_null_stream()

Associated crb::Stream.

crb::DeviceMemory<std::uint32_t> device_angle_indices_

Angle indices on GPU.