Chi-Tech
lbs::SweepChunkPWLRZ Class Reference

#include <lbs_curvilinear_sweepchunk_pwl.h>

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

Public Member Functions

 SweepChunkPWLRZ (const chi_mesh::MeshContinuum &grid, const chi_math::SpatialDiscretization &discretization_primary, const std::vector< lbs::UnitCellMatrices > &unit_cell_matrices, const std::vector< lbs::UnitCellMatrices > &secondary_unit_cell_matrices, std::vector< lbs::CellLBSView > &cell_transport_views, std::vector< double > &destination_phi, std::vector< double > &destination_psi, const std::vector< double > &source_moments, lbs::LBSGroupset &groupset, const std::map< int, lbs::XSPtr > &xs, int num_moments, int max_num_cell_dofs)
 
- Public Member Functions inherited from lbs::AAH_SweepChunk
 AAH_SweepChunk (const chi_mesh::MeshContinuum &grid, const chi_math::SpatialDiscretization &discretization, const std::vector< UnitCellMatrices > &unit_cell_matrices, std::vector< lbs::CellLBSView > &cell_transport_views, std::vector< double > &destination_phi, std::vector< double > &destination_psi, const std::vector< double > &source_moments, const LBSGroupset &groupset, const std::map< int, XSPtr > &xs, int num_moments, int max_num_cell_dofs)
 
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 Member Functions

void CellDataCallback ()
 
void DirectionDataCallback ()
 
void PostCellDirSweepCallback ()
 
void KernelFEMRZVolumetricGradientTerm ()
 
void KernelFEMRZUpwindSurfaceIntegrals ()
 
- 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
 

Private Attributes

const std::vector< lbs::UnitCellMatrices > & secondary_unit_cell_matrices_
 
chi_math::UnknownManager unknown_manager_
 
std::vector< double > psi_sweep_
 
std::map< unsigned int, unsigned int > map_polar_level_
 
chi_mesh::Vector3 normal_vector_boundary_
 
const MatDblMaux_ = nullptr
 
unsigned int polar_level_ = 0
 
double fac_diamond_difference_ = 0.0
 
double fac_streaming_operator_ = 0.0
 

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
 
- Static Protected Member Functions inherited from lbs::SweepChunk
static void ExecuteKernels (const std::vector< CallbackFunction > &kernels)
 
- 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_
 

Detailed Description

A sweep-chunk in point-symmetric and axial-symmetric curvilinear coordinates.

Definition at line 12 of file lbs_curvilinear_sweepchunk_pwl.h.

Constructor & Destructor Documentation

◆ SweepChunkPWLRZ()

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

Constructor.

Definition at line 13 of file lbs_curvilinear_sweepchunk_pwl.cc.

Member Function Documentation

◆ CellDataCallback()

void lbs::SweepChunkPWLRZ::CellDataCallback ( )
protected

Cell data callback.

Definition at line 98 of file lbs_curvilinear_sweepchunk_pwl.cc.

◆ DirectionDataCallback()

void lbs::SweepChunkPWLRZ::DirectionDataCallback ( )
protected

Direction data callback.

Definition at line 108 of file lbs_curvilinear_sweepchunk_pwl.cc.

◆ KernelFEMRZUpwindSurfaceIntegrals()

void lbs::SweepChunkPWLRZ::KernelFEMRZUpwindSurfaceIntegrals ( )
protected

Performs the integral over the surface of a face.

Definition at line 161 of file lbs_curvilinear_sweepchunk_pwl.cc.

◆ KernelFEMRZVolumetricGradientTerm()

void lbs::SweepChunkPWLRZ::KernelFEMRZVolumetricGradientTerm ( )
protected

Assembles the volumetric gradient term.

Definition at line 142 of file lbs_curvilinear_sweepchunk_pwl.cc.

◆ PostCellDirSweepCallback()

void lbs::SweepChunkPWLRZ::PostCellDirSweepCallback ( )
protected

Applies diamond differencing on azimuthal directions.

Definition at line 127 of file lbs_curvilinear_sweepchunk_pwl.cc.

Field Documentation

◆ fac_diamond_difference_

double lbs::SweepChunkPWLRZ::fac_diamond_difference_ = 0.0
private

Definition at line 30 of file lbs_curvilinear_sweepchunk_pwl.h.

◆ fac_streaming_operator_

double lbs::SweepChunkPWLRZ::fac_streaming_operator_ = 0.0
private

Definition at line 31 of file lbs_curvilinear_sweepchunk_pwl.h.

◆ map_polar_level_

std::map<unsigned int, unsigned int> lbs::SweepChunkPWLRZ::map_polar_level_
private

Mapping from direction linear index to direction polar level.

Definition at line 22 of file lbs_curvilinear_sweepchunk_pwl.h.

◆ Maux_

const MatDbl* lbs::SweepChunkPWLRZ::Maux_ = nullptr
private

Definition at line 27 of file lbs_curvilinear_sweepchunk_pwl.h.

◆ normal_vector_boundary_

chi_mesh::Vector3 lbs::SweepChunkPWLRZ::normal_vector_boundary_
private

Normal vector to determine symmetric boundary condition.

Definition at line 24 of file lbs_curvilinear_sweepchunk_pwl.h.

◆ polar_level_

unsigned int lbs::SweepChunkPWLRZ::polar_level_ = 0
private

Definition at line 29 of file lbs_curvilinear_sweepchunk_pwl.h.

◆ psi_sweep_

std::vector<double> lbs::SweepChunkPWLRZ::psi_sweep_
private

Sweeping dependency angular intensity (for each polar level).

Definition at line 20 of file lbs_curvilinear_sweepchunk_pwl.h.

◆ secondary_unit_cell_matrices_

const std::vector<lbs::UnitCellMatrices>& lbs::SweepChunkPWLRZ::secondary_unit_cell_matrices_
private

Definition at line 16 of file lbs_curvilinear_sweepchunk_pwl.h.

◆ unknown_manager_

chi_math::UnknownManager lbs::SweepChunkPWLRZ::unknown_manager_
private

Unknown manager.

Definition at line 18 of file lbs_curvilinear_sweepchunk_pwl.h.


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