Class CBCSweepChunk
Defined in File cbc_sweep_chunk.h
Inheritance Relationships
Base Type
public opensn::SweepChunk(Class SweepChunk)
Class Documentation
-
class CBCSweepChunk : public opensn::SweepChunk
Implements the core sweep operation for a single cell within the cell-by-cell (CBC) sweep algorithm
This class is responsible for performing the discrete ordinates transport calculation on a given cell for all angles and groups managed by its current AngleSet It interacts with a CBC_FLUDS object to obtain upwind angular flux data (from local neighbors, MPI remote buffers, or boundaries) and to store outgoing angular flux data (to local neighbors or MPI send buffers)
Public Functions
-
virtual void SetCell(Cell const *cell_ptr, AngleSet &angle_set) override
For cell-by-cell methods or computing the residual on a single cell.
-
virtual void Sweep(AngleSet &angle_set) override
Performs the discrete ordinates sweep calculation for the currently set cell, for all angles and groups within the provided AngleSet
It:
Assembles the local transport equation system for each angle and group
Retrieves upwind angular fluxes from local neighbors, remote locations (via MPI data managed by CBC_FLUDS), or boundaries
Solves the local system for the outgoing angular fluxes at the cell nodes
Updates the global scalar flux moments
If save_angular_flux_ is true, stores the computed angular fluxes into the global angular flux vector
Propagates outgoing angular fluxes to local downwind neighbors or stages them for MPI transmission to remote downwind neighbors
-
virtual void SetCell(Cell const *cell_ptr, AngleSet &angle_set) override