Class AAHD_AngleSet
Defined in File aahd_angle_set.h
Inheritance Relationships
Base Type
public opensn::AngleSet(Class AngleSet)
Class Documentation
-
class AAHD_AngleSet : public opensn::AngleSet
AAHD angle set.
Public Functions
-
inline crb::Stream &GetStream()
-
inline std::uint32_t *GetDeviceAngleIndices()
-
inline bool HasReflectingBoundaries() const
-
virtual void UpdateSweepDependencies(std::set<AngleSet*> &following_angle_sets) override
Update the starting latch and following angle sets.
-
void ResetDependencyCounter()
Set the latch value to wait on before starting the sweep.
-
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 count) override
Sets the maximum buffer size for the sweepbuffer.
-
void PrepostReceives()
-
bool IsReady()
-
void WaitForDownstreamAndDelayed()
-
virtual AngleSetStatus AngleSetAdvance(SweepChunk &sweep_chunk, AngleSetStatus permission) override
This function advances the work stages of an angleset.
-
inline virtual AngleSetStatus FlushSendBuffers() override
-
inline virtual void ResetSweepBuffers() override
Resets the sweep buffer.
-
inline virtual bool ReceiveDelayedData() override
Instructs the sweep buffer to receive delayed data.
-
inline virtual const double *PsiBoundary(uint64_t boundary_id, unsigned int angle_num, uint64_t cell_local_id, unsigned int face_num, unsigned int fi, unsigned int g, bool surface_source_active) override
Returns a pointer to a boundary flux data.
-
inline 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.
Public Static Attributes
-
static std::mutex m
Protected Attributes
-
crb::Stream stream_
Associated CUDA stream.
-
AAHD_ASynchronousCommunicator async_comm_
Asynchronous communicator.
-
crb::DeviceMemory<std::uint32_t> device_angle_indices_
Angle indices on GPU.
-
std::size_t num_dependencies_ = 0
Number of anglesets the current angle set depends on.
-
std::size_t dependency_counter_ = 0
Counter for un-resolved dependencies.
-
std::vector<AAHD_AngleSet*> following_angle_sets_
List of AAHD_AngleSets waiting after this angle set.
After this angle set completes its sweep chunk, it decrements the latches of the angle sets waiting after it to allow them to proceed.
-
bool has_reflecting_boundaries_ = false
Flag indicating if the angleset is attached to any reflecting boundaries..
-
inline crb::Stream &GetStream()