Chi-Tech
lbs::CBC_AngleSet Class Reference

#include <CBC_AngleSet.h>

Inheritance diagram for lbs::CBC_AngleSet:
chi_mesh::sweep_management::AngleSet

Public Member Functions

 CBC_AngleSet (size_t id, size_t num_groups, const chi_mesh::sweep_management::SPDS &spds, std::shared_ptr< chi_mesh::sweep_management::FLUDS > &fluds, const std::vector< size_t > &angle_indices, std::map< uint64_t, SweepBndryPtr > &sim_boundaries, size_t in_ref_subset, const chi::ChiMPICommunicatorSet &comm_set)
 
chi_mesh::sweep_management::AsynchronousCommunicatorGetCommunicator () override
 
void InitializeDelayedUpstreamData () override
 
int GetMaxBufferMessages () const override
 
void SetMaxBufferMessages (int new_max) override
 
chi_mesh::sweep_management::AngleSetStatus AngleSetAdvance (chi_mesh::sweep_management::SweepChunk &sweep_chunk, const std::vector< size_t > &timing_tags, chi_mesh::sweep_management::ExecutionPermission permission) override
 
chi_mesh::sweep_management::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

const CBC_SPDScbc_spds_
 
std::vector< chi_mesh::sweep_management::Taskcurrent_task_list_
 
CBC_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

Definition at line 13 of file CBC_AngleSet.h.

Constructor & Destructor Documentation

◆ CBC_AngleSet()

lbs::CBC_AngleSet::CBC_AngleSet ( size_t  id,
size_t  num_groups,
const chi_mesh::sweep_management::SPDS spds,
std::shared_ptr< chi_mesh::sweep_management::FLUDS > &  fluds,
const std::vector< size_t > &  angle_indices,
std::map< uint64_t, SweepBndryPtr > &  sim_boundaries,
size_t  in_ref_subset,
const chi::ChiMPICommunicatorSet comm_set 
)

Definition at line 15 of file CBC_AngleSet.cc.

Member Function Documentation

◆ AngleSetAdvance()

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

Implements chi_mesh::sweep_management::AngleSet.

Definition at line 43 of file CBC_AngleSet.cc.

◆ FlushSendBuffers()

chi_mesh::sweep_management::AngleSetStatus lbs::CBC_AngleSet::FlushSendBuffers ( )
inlineoverridevirtual

Implements chi_mesh::sweep_management::AngleSet.

Definition at line 36 of file CBC_AngleSet.h.

◆ GetCommunicator()

chi_mesh::sweep_management::AsynchronousCommunicator * lbs::CBC_AngleSet::GetCommunicator ( )
overridevirtual

Reimplemented from chi_mesh::sweep_management::AngleSet.

Definition at line 37 of file CBC_AngleSet.cc.

◆ GetMaxBufferMessages()

int lbs::CBC_AngleSet::GetMaxBufferMessages ( ) const
inlineoverridevirtual

Implements chi_mesh::sweep_management::AngleSet.

Definition at line 28 of file CBC_AngleSet.h.

◆ InitializeDelayedUpstreamData()

void lbs::CBC_AngleSet::InitializeDelayedUpstreamData ( )
inlineoverridevirtual

Implements chi_mesh::sweep_management::AngleSet.

Definition at line 27 of file CBC_AngleSet.h.

◆ PsiBndry()

const double * lbs::CBC_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 139 of file CBC_AngleSet.cc.

◆ ReceiveDelayedData()

bool lbs::CBC_AngleSet::ReceiveDelayedData ( )
inlineoverridevirtual

Implements chi_mesh::sweep_management::AngleSet.

Definition at line 44 of file CBC_AngleSet.h.

◆ ReflectingPsiOutBoundBndry()

double * lbs::CBC_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 160 of file CBC_AngleSet.cc.

◆ ResetSweepBuffers()

void lbs::CBC_AngleSet::ResetSweepBuffers ( )
overridevirtual

Resets the sweep buffer.

Implements chi_mesh::sweep_management::AngleSet.

Definition at line 129 of file CBC_AngleSet.cc.

◆ SetMaxBufferMessages()

void lbs::CBC_AngleSet::SetMaxBufferMessages ( int  new_max)
inlineoverridevirtual

Implements chi_mesh::sweep_management::AngleSet.

Definition at line 29 of file CBC_AngleSet.h.

Field Documentation

◆ async_comm_

CBC_ASynchronousCommunicator lbs::CBC_AngleSet::async_comm_
protected

Definition at line 63 of file CBC_AngleSet.h.

◆ cbc_spds_

const CBC_SPDS& lbs::CBC_AngleSet::cbc_spds_
protected

Definition at line 61 of file CBC_AngleSet.h.

◆ current_task_list_

std::vector<chi_mesh::sweep_management::Task> lbs::CBC_AngleSet::current_task_list_
protected

Definition at line 62 of file CBC_AngleSet.h.


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