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

#include <sweepchunk_base.h>

Inheritance diagram for chi_mesh::sweep_management::SweepChunk:
lbs::SweepChunk lbs::SweepChunkPWLTransientTheta lbs::AAH_SweepChunk lbs::CBC_SweepChunk lbs::SweepChunkPWLRZ

Public Types

typedef std::function< void(chi_mesh::sweep_management::SweepChunk *sweeper, chi_mesh::sweep_management::AngleSet *angle_set)> MomentCallbackF
 

Public Member Functions

 SweepChunk (std::vector< double > &in_destination_phi, std::vector< double > &in_destination_psi)
 
virtual void Sweep (AngleSet &angle_set)
 
virtual void SetAngleSet (AngleSet &angle_set)
 
virtual void SetCell (chi_mesh::Cell const *cell_ptr, chi_mesh::sweep_management::AngleSet &angle_set)
 
virtual void SetCells (const std::vector< const chi_mesh::Cell * > &cell_ptrs)
 
virtual ~SweepChunk ()=default
 

Data Fields

std::vector< MomentCallbackFmoment_callbacks
 

Protected Member Functions

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 SetBoundarySourceActiveFlag (bool flag_value)
 
bool IsSurfaceSourceActive () const
 

Private Attributes

std::vector< double > * destination_phi
 
std::vector< double > * destination_psi
 
bool surface_source_active = false
 

Friends

class SweepScheduler
 

Detailed Description

Sweep work function

Definition at line 10 of file sweepchunk_base.h.

Member Typedef Documentation

◆ MomentCallbackF

Convenient typdef for the moment call back function. See moment_callbacks. Arguments are: chi_mesh::sweep_management::SweepChunk * chi_mesh::sweep_management::AngleSet *

Definition at line 21 of file sweepchunk_base.h.

Constructor & Destructor Documentation

◆ SweepChunk()

chi_mesh::sweep_management::SweepChunk::SweepChunk ( std::vector< double > &  in_destination_phi,
std::vector< double > &  in_destination_psi 
)
inline

Definition at line 31 of file sweepchunk_base.h.

◆ ~SweepChunk()

virtual chi_mesh::sweep_management::SweepChunk::~SweepChunk ( )
virtualdefault

Member Function Documentation

◆ GetDestinationPhi()

std::vector< double > & chi_mesh::sweep_management::SweepChunk::GetDestinationPhi ( )
inlineprotected

Returns a reference to the output flux moments vector.

Definition at line 69 of file sweepchunk_base.h.

◆ GetDestinationPsi()

std::vector< double > & chi_mesh::sweep_management::SweepChunk::GetDestinationPsi ( )
inlineprotected

Returns a reference to the output angular flux vector.

Definition at line 84 of file sweepchunk_base.h.

◆ IsSurfaceSourceActive()

bool chi_mesh::sweep_management::SweepChunk::IsSurfaceSourceActive ( ) const
inlineprotected

Returns the surface src-active flag.

Definition at line 94 of file sweepchunk_base.h.

◆ SetAngleSet()

virtual void chi_mesh::sweep_management::SweepChunk::SetAngleSet ( AngleSet angle_set)
inlinevirtual

Sets the currently active FLUx Data Structure

Reimplemented in lbs::CBC_SweepChunk.

Definition at line 41 of file sweepchunk_base.h.

◆ SetBoundarySourceActiveFlag()

void chi_mesh::sweep_management::SweepChunk::SetBoundarySourceActiveFlag ( bool  flag_value)
inlineprotected

Activates or deactives the surface src flag.

Definition at line 87 of file sweepchunk_base.h.

◆ SetCell()

virtual void chi_mesh::sweep_management::SweepChunk::SetCell ( chi_mesh::Cell const *  cell_ptr,
chi_mesh::sweep_management::AngleSet angle_set 
)
inlinevirtual

For cell-by-cell methods or computing the residual on a single cell.

Reimplemented in lbs::CBC_SweepChunk.

Definition at line 45 of file sweepchunk_base.h.

◆ SetCells()

virtual void chi_mesh::sweep_management::SweepChunk::SetCells ( const std::vector< const chi_mesh::Cell * > &  cell_ptrs)
inlinevirtual

Definition at line 50 of file sweepchunk_base.h.

◆ SetDestinationPhi()

void chi_mesh::sweep_management::SweepChunk::SetDestinationPhi ( std::vector< double > &  in_destination_phi)
inlineprotected

Sets the location where flux moments are to be written.

Definition at line 57 of file sweepchunk_base.h.

◆ SetDestinationPsi()

void chi_mesh::sweep_management::SweepChunk::SetDestinationPsi ( std::vector< double > &  in_destination_psi)
inlineprotected

Sets the location where angular fluxes are to be written.

Definition at line 72 of file sweepchunk_base.h.

◆ Sweep()

virtual void chi_mesh::sweep_management::SweepChunk::Sweep ( AngleSet angle_set)
inlinevirtual

Sweep chunks should override this.

Reimplemented in lbs::AAH_SweepChunk, and lbs::CBC_SweepChunk.

Definition at line 38 of file sweepchunk_base.h.

◆ ZeroDestinationPhi()

void chi_mesh::sweep_management::SweepChunk::ZeroDestinationPhi ( )
inlineprotected

Sets all elements of the output vector to zero.

Definition at line 63 of file sweepchunk_base.h.

◆ ZeroDestinationPsi()

void chi_mesh::sweep_management::SweepChunk::ZeroDestinationPsi ( )
inlineprotected

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

Definition at line 78 of file sweepchunk_base.h.

Friends And Related Function Documentation

◆ SweepScheduler

friend class SweepScheduler
friend

Definition at line 55 of file sweepchunk_base.h.

Field Documentation

◆ destination_phi

std::vector<double>* chi_mesh::sweep_management::SweepChunk::destination_phi
private

Definition at line 97 of file sweepchunk_base.h.

◆ destination_psi

std::vector<double>* chi_mesh::sweep_management::SweepChunk::destination_psi
private

Definition at line 98 of file sweepchunk_base.h.

◆ moment_callbacks

std::vector<MomentCallbackF> chi_mesh::sweep_management::SweepChunk::moment_callbacks

Functions of type MomentCallbackF can be added to the moment_callbacks vector and these can be called from within functions taking a LBSGroupset instance. The intention is that this function can be used as a general interface to retrieve angular flux values

Definition at line 29 of file sweepchunk_base.h.

◆ surface_source_active

bool chi_mesh::sweep_management::SweepChunk::surface_source_active = false
private

Definition at line 99 of file sweepchunk_base.h.


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