Chi-Tech
chi_mesh::sweep_management::AAH_AngleSet Class Reference

#include <AAH_AngleSet.h>

Inheritance diagram for chi_mesh::sweep_management::AAH_AngleSet:
chi_mesh::sweep_management::AngleSet

Public Member Functions

 AAH_AngleSet (size_t id, size_t in_numgrps, size_t in_ref_subset, const SPDS &in_spds, std::shared_ptr< FLUDS > &in_fluds, std::vector< size_t > &angle_indices, std::map< uint64_t, std::shared_ptr< SweepBndry > > &sim_boundaries, int sweep_eager_limit, const chi::ChiMPICommunicatorSet &in_comm_set)
 
void InitializeDelayedUpstreamData () override
 
int GetMaxBufferMessages () const override
 
void SetMaxBufferMessages (int new_max) override
 
AngleSetStatus AngleSetAdvance (SweepChunk &sweep_chunk, const std::vector< size_t > &timing_tags, ExecutionPermission permission) override
 
AngleSetStatus FlushSendBuffers () override
 
void ResetSweepBuffers () override
 
bool ReceiveDelayedData () override
 
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) override
 
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) override
 
- Public Member Functions inherited from chi_mesh::sweep_management::AngleSet
 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)
 
size_t GetID () const
 
const SPDSGetSPDS () const
 
FLUDSGetFLUDS ()
 
size_t GetRefGroupSubset () const
 
const std::vector< size_t > & GetAngleIndices () const
 
std::map< uint64_t, SweepBndryPtr > & GetBoundaries ()
 
size_t GetNumGroups () const
 
size_t GetNumAngles () const
 
virtual AsynchronousCommunicatorGetCommunicator ()
 
virtual void InitializeDelayedUpstreamData ()=0
 
virtual int GetMaxBufferMessages () const =0
 
virtual void SetMaxBufferMessages (int new_max)=0
 
virtual AngleSetStatus AngleSetAdvance (SweepChunk &sweep_chunk, const std::vector< size_t > &timing_tags, ExecutionPermission permission)=0
 
virtual AngleSetStatus FlushSendBuffers ()=0
 
virtual void ResetSweepBuffers ()=0
 
virtual bool ReceiveDelayedData ()=0
 
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 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 ~AngleSet ()=default
 

Protected Attributes

chi_mesh::sweep_management::AAH_ASynchronousCommunicator async_comm_
 
- Protected Attributes inherited from chi_mesh::sweep_management::AngleSet
const size_t id_
 
const size_t num_grps
 
const SPDSspds_
 
std::shared_ptr< FLUDSfluds_
 
const std::vector< size_t > angles_
 
std::map< uint64_t, SweepBndryPtr > & ref_boundaries_
 
const size_t ref_group_subset_
 
bool executed_ = false
 

Additional Inherited Members

- Public Types inherited from chi_mesh::sweep_management::AngleSet
typedef std::shared_ptr< SweepBndrySweepBndryPtr
 

Detailed Description

Manages the workstages of a single angle set.

Definition at line 11 of file AAH_AngleSet.h.

Constructor & Destructor Documentation

◆ AAH_AngleSet()

chi_mesh::sweep_management::AAH_AngleSet::AAH_AngleSet ( size_t  id,
size_t  in_numgrps,
size_t  in_ref_subset,
const SPDS in_spds,
std::shared_ptr< FLUDS > &  in_fluds,
std::vector< size_t > &  angle_indices,
std::map< uint64_t, std::shared_ptr< SweepBndry > > &  sim_boundaries,
int  sweep_eager_limit,
const chi::ChiMPICommunicatorSet in_comm_set 
)

AngleSet constructor.

Definition at line 13 of file AAH_AngleSet.cc.

Member Function Documentation

◆ AngleSetAdvance()

AngleSetStatus chi_mesh::sweep_management::AAH_AngleSet::AngleSetAdvance ( SweepChunk sweep_chunk,
const std::vector< size_t > &  timing_tags,
ExecutionPermission  permission 
)
overridevirtual

This function advances the work stages of an angleset.

Implements chi_mesh::sweep_management::AngleSet.

Definition at line 46 of file AAH_AngleSet.cc.

◆ FlushSendBuffers()

AngleSetStatus chi_mesh::sweep_management::AAH_AngleSet::FlushSendBuffers ( )
overridevirtual

Implements chi_mesh::sweep_management::AngleSet.

Definition at line 97 of file AAH_AngleSet.cc.

◆ GetMaxBufferMessages()

int chi_mesh::sweep_management::AAH_AngleSet::GetMaxBufferMessages ( ) const
overridevirtual

Returns the maximum buffer size from the sweepbuffer.

Implements chi_mesh::sweep_management::AngleSet.

Definition at line 108 of file AAH_AngleSet.cc.

◆ InitializeDelayedUpstreamData()

void chi_mesh::sweep_management::AAH_AngleSet::InitializeDelayedUpstreamData ( )
overridevirtual

Initializes delayed upstream data. This method gets called when a sweep scheduler is constructed.

Implements chi_mesh::sweep_management::AngleSet.

Definition at line 38 of file AAH_AngleSet.cc.

◆ PsiBndry()

const double * chi_mesh::sweep_management::AAH_AngleSet::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 
)
overridevirtual

Returns a pointer to a boundary flux data.

Implements chi_mesh::sweep_management::AngleSet.

Definition at line 137 of file AAH_AngleSet.cc.

◆ ReceiveDelayedData()

bool chi_mesh::sweep_management::AAH_AngleSet::ReceiveDelayedData ( )
overridevirtual

Instructs the sweep buffer to receive delayed data.

Implements chi_mesh::sweep_management::AngleSet.

Definition at line 130 of file AAH_AngleSet.cc.

◆ ReflectingPsiOutBoundBndry()

double * chi_mesh::sweep_management::AAH_AngleSet::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 
)
overridevirtual

Returns a pointer to outbound boundary flux data.

Implements chi_mesh::sweep_management::AngleSet.

Definition at line 158 of file AAH_AngleSet.cc.

◆ ResetSweepBuffers()

void chi_mesh::sweep_management::AAH_AngleSet::ResetSweepBuffers ( )
overridevirtual

Resets the sweep buffer.

Implements chi_mesh::sweep_management::AngleSet.

Definition at line 122 of file AAH_AngleSet.cc.

◆ SetMaxBufferMessages()

void chi_mesh::sweep_management::AAH_AngleSet::SetMaxBufferMessages ( int  new_max)
overridevirtual

Sets the maximum buffer size for the sweepbuffer.

Implements chi_mesh::sweep_management::AngleSet.

Definition at line 115 of file AAH_AngleSet.cc.

Field Documentation

◆ async_comm_

chi_mesh::sweep_management::AAH_ASynchronousCommunicator chi_mesh::sweep_management::AAH_AngleSet::async_comm_
protected

Definition at line 54 of file AAH_AngleSet.h.


The documentation for this class was generated from the following files: