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

#include <sweepscheduler.h>

Data Structures

struct  RULE_VALUES
 

Public Member Functions

 SweepScheduler (SchedulingAlgorithm in_scheduler_type, AngleAggregation &in_angle_agg, SweepChunk &in_sweep_chunk)
 
AngleAggregationAngleAgg ()
 
size_t SweepEventTag () const
 
void Sweep ()
 
double GetAverageSweepTime () const
 
std::vector< double > GetAngleSetTimings ()
 
SweepChunkGetSweepChunk ()
 
void SetDestinationPhi (std::vector< double > &in_destination_phi)
 
void ZeroDestinationPhi ()
 
std::vector< double > & GetDestinationPhi ()
 
void SetDestinationPsi (std::vector< double > &in_destination_psi)
 
void ZeroDestinationPsi ()
 
std::vector< double > & GetDestinationPsi ()
 
void ZeroIncomingDelayedPsi ()
 
void ZeroOutgoingDelayedPsi ()
 
void ZeroOutputFluxDataStructures ()
 
void SetBoundarySourceActiveFlag (bool flag_value)
 

Private Member Functions

void ScheduleAlgoFIFO (SweepChunk &sweep_chunk)
 
void InitializeAlgoDOG ()
 
void ScheduleAlgoDOG (SweepChunk &sweep_chunk)
 

Private Attributes

SchedulingAlgorithm scheduler_type_
 
AngleAggregationangle_agg_
 
std::vector< RULE_VALUESrule_values_
 
SweepChunksweep_chunk_
 
const size_t sweep_event_tag_
 
const std::vector< size_t > sweep_timing_events_tag_
 

Detailed Description

Definition at line 23 of file sweepscheduler.h.

Constructor & Destructor Documentation

◆ SweepScheduler()

chi_mesh::sweep_management::SweepScheduler::SweepScheduler ( SchedulingAlgorithm  in_scheduler_type,
AngleAggregation in_angle_agg,
SweepChunk in_sweep_chunk 
)

Sweep scheduler constructor

Definition at line 8 of file sweepscheduler_constrdestr.cc.

Member Function Documentation

◆ AngleAgg()

AngleAggregation & chi_mesh::sweep_management::SweepScheduler::AngleAgg ( )
inline

Definition at line 60 of file sweepscheduler.h.

◆ GetAngleSetTimings()

std::vector< double > chi_mesh::sweep_management::SweepScheduler::GetAngleSetTimings ( )

Get relevant sweep timing information.

[0] Total sweep time [1] Total chunk time [2] Total chunk time / total sweep time

Definition at line 33 of file sweepscheduler_sweep.cc.

◆ GetAverageSweepTime()

double chi_mesh::sweep_management::SweepScheduler::GetAverageSweepTime ( ) const

Get average sweep time from logging system.

Definition at line 19 of file sweepscheduler_sweep.cc.

◆ GetDestinationPhi()

std::vector< double > & SweepScheduler::GetDestinationPhi ( )

Returns a reference to the output flux moments vector.

Definition at line 18 of file sweepscheduler_utils.cc.

◆ GetDestinationPsi()

std::vector< double > & SweepScheduler::GetDestinationPsi ( )

Returns a reference to the output angular flux vector.

Definition at line 37 of file sweepscheduler_utils.cc.

◆ GetSweepChunk()

chi_mesh::sweep_management::SweepChunk & chi_mesh::sweep_management::SweepScheduler::GetSweepChunk ( )

Returns the referenced sweep chunk.

Definition at line 57 of file sweepscheduler_constrdestr.cc.

◆ InitializeAlgoDOG()

void chi_mesh::sweep_management::SweepScheduler::InitializeAlgoDOG ( )
private

Initializes the Depth-Of-Graph algorithm.

Definition at line 14 of file sweepscheduler_dog.cc.

◆ ScheduleAlgoDOG()

void chi_mesh::sweep_management::SweepScheduler::ScheduleAlgoDOG ( SweepChunk sweep_chunk)
private

Executes the Depth-Of-Graph algorithm.

Definition at line 121 of file sweepscheduler_dog.cc.

◆ ScheduleAlgoFIFO()

void chi_mesh::sweep_management::SweepScheduler::ScheduleAlgoFIFO ( SweepChunk sweep_chunk)
private

Applies a First-In-First-Out sweep scheduling.

Definition at line 8 of file sweepscheduler_fifo.cc.

◆ SetBoundarySourceActiveFlag()

void SweepScheduler::SetBoundarySourceActiveFlag ( bool  flag_value)

Activates or deactives the surface src flag.

Definition at line 68 of file sweepscheduler_utils.cc.

◆ SetDestinationPhi()

void SweepScheduler::SetDestinationPhi ( std::vector< double > &  in_destination_phi)

Sets the location where flux moments are to be written.

Definition at line 7 of file sweepscheduler_utils.cc.

◆ SetDestinationPsi()

void SweepScheduler::SetDestinationPsi ( std::vector< double > &  in_destination_psi)

Sets the location where angular fluxes are to be written.

Definition at line 26 of file sweepscheduler_utils.cc.

◆ Sweep()

void chi_mesh::sweep_management::SweepScheduler::Sweep ( )

This is the entry point for sweeping.

Definition at line 8 of file sweepscheduler_sweep.cc.

◆ SweepEventTag()

size_t chi_mesh::sweep_management::SweepScheduler::SweepEventTag ( ) const
inline

Definition at line 62 of file sweepscheduler.h.

◆ ZeroDestinationPhi()

void SweepScheduler::ZeroDestinationPhi ( )

Sets all elements of the output vector to zero.

Definition at line 13 of file sweepscheduler_utils.cc.

◆ ZeroDestinationPsi()

void SweepScheduler::ZeroDestinationPsi ( )

Sets all elements of the output angular flux vector to zero.

Definition at line 32 of file sweepscheduler_utils.cc.

◆ ZeroIncomingDelayedPsi()

void SweepScheduler::ZeroIncomingDelayedPsi ( )

Resets all the incoming intra-location and inter-location cyclic interfaces.

Definition at line 45 of file sweepscheduler_utils.cc.

◆ ZeroOutgoingDelayedPsi()

void SweepScheduler::ZeroOutgoingDelayedPsi ( )

Resets all the outgoing intra-location and inter-location cyclic interfaces.

Definition at line 52 of file sweepscheduler_utils.cc.

◆ ZeroOutputFluxDataStructures()

void SweepScheduler::ZeroOutputFluxDataStructures ( )

Clear the output angular flux vector, the flux moments vector, and the outgoing delayed psi.

Definition at line 60 of file sweepscheduler_utils.cc.

Field Documentation

◆ angle_agg_

AngleAggregation& chi_mesh::sweep_management::SweepScheduler::angle_agg_
private

Definition at line 27 of file sweepscheduler.h.

◆ rule_values_

std::vector<RULE_VALUES> chi_mesh::sweep_management::SweepScheduler::rule_values_
private

Definition at line 48 of file sweepscheduler.h.

◆ scheduler_type_

SchedulingAlgorithm chi_mesh::sweep_management::SweepScheduler::scheduler_type_
private

Definition at line 26 of file sweepscheduler.h.

◆ sweep_chunk_

SweepChunk& chi_mesh::sweep_management::SweepScheduler::sweep_chunk_
private

Definition at line 50 of file sweepscheduler.h.

◆ sweep_event_tag_

const size_t chi_mesh::sweep_management::SweepScheduler::sweep_event_tag_
private

Definition at line 51 of file sweepscheduler.h.

◆ sweep_timing_events_tag_

const std::vector<size_t> chi_mesh::sweep_management::SweepScheduler::sweep_timing_events_tag_
private

Definition at line 52 of file sweepscheduler.h.


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