Class CBC_AngleSet

Inheritance Relationships

Base Type

Class Documentation

class CBC_AngleSet : public opensn::AngleSet

Public Functions

CBC_AngleSet(size_t id, size_t num_groups, const SPDS &spds, std::shared_ptr<FLUDS> &fluds, const std::vector<size_t> &angle_indices, std::map<uint64_t, std::shared_ptr<SweepBoundary>> &boundaries, const MPICommunicatorSet &comm_set, bool use_gpu)
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 const double *PsiBoundary(uint64_t boundary_id, unsigned int angle_num, uint64_t cell_local_id, unsigned int face_num, unsigned int fi, int g, bool surface_source_active) override

Returns a pointer to a boundary flux data.

virtual double *PsiReflected(uint64_t boundary_id, unsigned int angle_num, uint64_t cell_local_id, unsigned int face_num, unsigned int fi) override

Returns a pointer to outbound reflected flux data.

Protected Attributes

const CBC_SPDS &cbc_spds_
std::vector<Task> current_task_list_
CBC_ASynchronousCommunicator async_comm_