Chi-Tech
lbs::CBC_SweepChunk Class Reference

#include <CBC_SweepChunk.h>

Inheritance diagram for lbs::CBC_SweepChunk:
lbs::SweepChunk chi_mesh::sweep_management::SweepChunk

Public Member Functions

 CBC_SweepChunk (std::vector< double > &destination_phi, std::vector< double > &destination_psi, const chi_mesh::MeshContinuum &grid, const chi_math::SpatialDiscretization &discretization, const std::vector< UnitCellMatrices > &unit_cell_matrices, std::vector< lbs::CellLBSView > &cell_transport_views, const std::vector< double > &source_moments, const LBSGroupset &groupset, const std::map< int, XSPtr > &xs, int num_moments, int max_num_cell_dofs)
 
void SetAngleSet (chi_mesh::sweep_management::AngleSet &angle_set) override
 
void SetCell (chi_mesh::Cell const *cell_ptr, chi_mesh::sweep_management::AngleSet &angle_set) override
 
void SetCells (const std::vector< const chi_mesh::Cell * > &cell_ptrs) override
 
void Sweep (chi_mesh::sweep_management::AngleSet &angle_set) override
 
- Public Member Functions inherited from lbs::SweepChunk
 SweepChunk (std::vector< double > &destination_phi, std::vector< double > &destination_psi, const chi_mesh::MeshContinuum &grid, const chi_math::SpatialDiscretization &discretization, const std::vector< UnitCellMatrices > &unit_cell_matrices, std::vector< lbs::CellLBSView > &cell_transport_views, const std::vector< double > &source_moments, const LBSGroupset &groupset, const std::map< int, XSPtr > &xs, int num_moments, int max_num_cell_dofs, std::unique_ptr< SweepDependencyInterface > sweep_dependency_interface_ptr)
 
void KernelFEMVolumetricGradientTerm ()
 
void KernelFEMUpwindSurfaceIntegrals ()
 
void KernelFEMSTDMassTerms ()
 
void KernelPhiUpdate ()
 
void KernelPsiUpdate ()
 
- Public Member Functions inherited from chi_mesh::sweep_management::SweepChunk
 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
 

Protected Attributes

CBC_SweepDependencyInterfacecbc_sweep_depinterf_
 
chi_mesh::Cell const * cell_ptr_ = nullptr
 
uint64_t cell_local_id_ = 0
 
std::vector< const chi_mesh::Cell * > cell_ptrs_
 
- Protected Attributes inherited from lbs::SweepChunk
const chi_mesh::MeshContinuumgrid_
 
const chi_math::SpatialDiscretizationgrid_fe_view_
 
const std::vector< UnitCellMatrices > & unit_cell_matrices_
 
std::vector< lbs::CellLBSView > & grid_transport_view_
 
const std::vector< double > & q_moments_
 
const LBSGroupsetgroupset_
 
const std::map< int, XSPtr > & xs_
 
const int num_moments_
 
const bool save_angular_flux_
 
std::unique_ptr< SweepDependencyInterfacesweep_dependency_interface_ptr_
 
SweepDependencyInterfacesweep_dependency_interface_
 
const size_t groupset_angle_group_stride_
 
const size_t groupset_group_stride_
 
size_t gs_ss_size_ = 0
 
size_t gs_ss_begin_ = 0
 
int gs_gi_ = 0
 
std::vector< std::vector< double > > Amat_
 
std::vector< std::vector< double > > Atemp_
 
std::vector< double > source_
 
std::vector< std::vector< double > > b_
 
uint64_t cell_local_id_ = 0
 
const chi_mesh::Cellcell_ = nullptr
 
const chi_math::CellMappingcell_mapping_ = nullptr
 
CellLBSViewcell_transport_view_ = nullptr
 
size_t cell_num_faces_ = 0
 
size_t cell_num_nodes_ = 0
 
const MatVec3G_ = nullptr
 
const MatDblM_ = nullptr
 
const std::vector< MatDbl > * M_surf_ = nullptr
 
const std::vector< VecDbl > * IntS_shapeI_ = nullptr
 
std::vector< CallbackFunctioncell_data_callbacks_
 
std::vector< double > face_mu_values_
 
size_t direction_num_ = 0
 
chi_mesh::Vector3 omega_
 
double direction_qweight_ = 0.0
 
std::vector< CallbackFunctiondirection_data_callbacks_and_kernels_
 
std::vector< CallbackFunctionsurface_integral_kernels_
 
size_t g_ = 0
 
size_t gsg_ = 0
 
double sigma_tg_ = 0.0
 
std::vector< CallbackFunctionmass_term_kernels_
 
std::vector< CallbackFunctionflux_update_kernels_
 
std::vector< CallbackFunctionpost_cell_dir_sweep_callbacks_
 

Additional Inherited Members

- Public Types inherited from chi_mesh::sweep_management::SweepChunk
typedef std::function< void(chi_mesh::sweep_management::SweepChunk *sweeper, chi_mesh::sweep_management::AngleSet *angle_set)> MomentCallbackF
 
- Data Fields inherited from chi_mesh::sweep_management::SweepChunk
std::vector< MomentCallbackFmoment_callbacks
 
- Protected Types inherited from lbs::SweepChunk
typedef std::function< void()> CallbackFunction
 
- Protected Member Functions inherited from lbs::SweepChunk
void RegisterKernel (const std::string &name, CallbackFunction function)
 
CallbackFunction Kernel (const std::string &name) const
 
virtual void OutgoingSurfaceOperations ()
 
- Protected Member Functions inherited from chi_mesh::sweep_management::SweepChunk
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
 
- Static Protected Member Functions inherited from lbs::SweepChunk
static void ExecuteKernels (const std::vector< CallbackFunction > &kernels)
 

Detailed Description

Definition at line 47 of file CBC_SweepChunk.h.

Constructor & Destructor Documentation

◆ CBC_SweepChunk()

lbs::CBC_SweepChunk::CBC_SweepChunk ( std::vector< double > &  destination_phi,
std::vector< double > &  destination_psi,
const chi_mesh::MeshContinuum grid,
const chi_math::SpatialDiscretization discretization,
const std::vector< UnitCellMatrices > &  unit_cell_matrices,
std::vector< lbs::CellLBSView > &  cell_transport_views,
const std::vector< double > &  source_moments,
const LBSGroupset groupset,
const std::map< int, XSPtr > &  xs,
int  num_moments,
int  max_num_cell_dofs 
)

Definition at line 14 of file CBC_SweepChunk.cc.

Member Function Documentation

◆ SetAngleSet()

void lbs::CBC_SweepChunk::SetAngleSet ( chi_mesh::sweep_management::AngleSet angle_set)
overridevirtual

Sets the currently active FLUx Data Structure

Reimplemented from chi_mesh::sweep_management::SweepChunk.

Definition at line 67 of file CBC_SweepChunk.cc.

◆ SetCell()

void lbs::CBC_SweepChunk::SetCell ( chi_mesh::Cell const *  cell_ptr,
chi_mesh::sweep_management::AngleSet angle_set 
)
overridevirtual

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

Reimplemented from chi_mesh::sweep_management::SweepChunk.

Definition at line 88 of file CBC_SweepChunk.cc.

◆ SetCells()

void lbs::CBC_SweepChunk::SetCells ( const std::vector< const chi_mesh::Cell * > &  cell_ptrs)
override

Definition at line 116 of file CBC_SweepChunk.cc.

◆ Sweep()

void lbs::CBC_SweepChunk::Sweep ( chi_mesh::sweep_management::AngleSet angle_set)
overridevirtual

Sweep chunks should override this.

Reimplemented from chi_mesh::sweep_management::SweepChunk.

Definition at line 121 of file CBC_SweepChunk.cc.

Field Documentation

◆ cbc_sweep_depinterf_

CBC_SweepDependencyInterface& lbs::CBC_SweepChunk::cbc_sweep_depinterf_
protected

Definition at line 72 of file CBC_SweepChunk.h.

◆ cell_local_id_

uint64_t lbs::CBC_SweepChunk::cell_local_id_ = 0
protected

Definition at line 74 of file CBC_SweepChunk.h.

◆ cell_ptr_

chi_mesh::Cell const* lbs::CBC_SweepChunk::cell_ptr_ = nullptr
protected

Definition at line 73 of file CBC_SweepChunk.h.

◆ cell_ptrs_

std::vector<const chi_mesh::Cell*> lbs::CBC_SweepChunk::cell_ptrs_
protected

Definition at line 76 of file CBC_SweepChunk.h.


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