24 std::shared_ptr<FLUDS>& fluds,
25 const std::vector<size_t>& angle_indices,
26 std::map<uint64_t, SweepBndryPtr>& sim_boundaries,
27 size_t in_ref_subset);
51 const std::vector<size_t>& timing_tags,
57 virtual const double*
PsiBndry(uint64_t bndry_map,
58 unsigned int angle_num,
59 uint64_t cell_local_id,
60 unsigned int face_num,
64 bool surface_source_active) = 0;
66 unsigned int angle_num,
67 uint64_t cell_local_id,
68 unsigned int face_num,
70 size_t gs_ss_begin) = 0;
chi_mesh::sweep_management::SweepBoundary SweepBndry
virtual void ResetSweepBuffers()=0
size_t GetNumGroups() const
std::map< uint64_t, SweepBndryPtr > & ref_boundaries_
std::map< uint64_t, SweepBndryPtr > & GetBoundaries()
size_t GetNumAngles() const
virtual const double * PsiBndry(uint64_t bndry_map, unsigned int angle_num, uint64_t cell_local_id, unsigned int face_num, unsigned int fi, int g, size_t gs_ss_begin, bool surface_source_active)=0
virtual void SetMaxBufferMessages(int new_max)=0
virtual ~AngleSet()=default
virtual AngleSetStatus FlushSendBuffers()=0
std::shared_ptr< SweepBndry > SweepBndryPtr
std::shared_ptr< FLUDS > fluds_
virtual AngleSetStatus AngleSetAdvance(SweepChunk &sweep_chunk, const std::vector< size_t > &timing_tags, ExecutionPermission permission)=0
const std::vector< size_t > & GetAngleIndices() const
virtual AsynchronousCommunicator * GetCommunicator()
size_t GetRefGroupSubset() const
virtual void InitializeDelayedUpstreamData()=0
const size_t ref_group_subset_
virtual int GetMaxBufferMessages() const =0
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, SweepBndryPtr > &sim_boundaries, size_t in_ref_subset)
virtual double * ReflectingPsiOutBoundBndry(uint64_t bndry_map, unsigned int angle_num, uint64_t cell_local_id, unsigned int face_num, unsigned int fi, size_t gs_ss_begin)=0
virtual bool ReceiveDelayedData()=0
const std::vector< size_t > angles_
const SPDS & GetSPDS() const