Class CBC_FLUDS
Defined in File cbc_fluds.h
Nested Relationships
Nested Types
Inheritance Relationships
Base Type
public opensn::FLUDS(Class FLUDS)
Class Documentation
-
class CBC_FLUDS : public opensn::FLUDS
Host CBC FLUDS.
Public Functions
-
CBC_FLUDS(unsigned int num_groups, std::size_t num_angles, const CBC_FLUDSCommonData &common_data, const UnknownManager &psi_uk_man, const SpatialDiscretization &sdm)
-
const CBC_FLUDSCommonData &GetCommonData() const
-
double *UpwindPsi(const Cell &face_neighbor, unsigned int adj_cell_node, std::size_t as_ss_idx)
Return local upwind cell psi for a mapped face node.
- Parameters:
face_neighbor – Local upwind neighbor cell.
adj_cell_node – Mapped node in the upwind cell.
as_ss_idx – Angle-set subset index.
- Returns:
Local upwind cell psi for the specified node and angle subset.
-
double *OutgoingPsi(const Cell &cell, unsigned int cell_node, std::size_t as_ss_idx)
Return writable outgoing cell psi for a cell node.
- Parameters:
cell – Local cell.
cell_node – Local cell node.
as_ss_idx – Angle-set subset index.
- Returns:
Local outgoing cell psi for the specified node and angle subset.
-
double *NLUpwindPsi(std::size_t incoming_face_slot, unsigned int face_node_mapped, std::size_t as_ss_idx)
Return received nonlocal upwind face psi for a mapped face node.
- Parameters:
incoming_face_slot – Incoming nonlocal face slot.
face_node_mapped – Mapped upwind face node.
as_ss_idx – Angle-set subset index.
- Returns:
Received face psi, or nullptr if the slot has not been received this sweep epoch.
-
double *NLOutgoingPsi(std::vector<double> *psi_nonlocal_outgoing, std::size_t face_node, std::size_t as_ss_idx)
Return writable nonlocal outgoing face psi for a face node.
- Parameters:
psi_nonlocal_outgoing – Nonlocal outgoing face storage.
face_node – Face node.
as_ss_idx – Angle-set subset index.
- Returns:
Writable face psi for the specified face node and angle subset.
-
virtual void ClearLocalAndReceivePsi() override
-
IncomingNonlocalPsi PrepareIncomingNonlocalPsiBySlot(std::size_t incoming_face_slot, std::size_t data_size)
Prepare incoming nonlocal face-psi storage and return the owning local cell.
- Parameters:
incoming_face_slot – Incoming nonlocal face slot.
data_size – Number of psi values to store for the face.
- Returns:
Prepared face-psi storage and associated local cell ID.
Protected Attributes
-
const CBC_FLUDSCommonData &common_data_
-
const UnknownManager &psi_uk_man_
-
const SpatialDiscretization &sdm_
-
std::vector<double> local_psi_data_
Spatial DOF -> angleset subset -> group major layout.
-
std::vector<double> incoming_nonlocal_psi_
Contiguous storage for received nonlocal face psi.
-
std::vector<std::size_t> incoming_nonlocal_psi_offsets_
Offsets into received nonlocal face-psi storage.
-
std::vector<std::uint32_t> incoming_psi_epoch_
Receive epoch for each nonlocal face slot.
-
std::uint32_t current_psi_epoch_ = 1
Current receive epoch.
-
std::vector<std::size_t> cell_psi_start_
Local angular-flux storage offset by local cell.
-
struct IncomingNonlocalPsi
Incoming nonlocal face psi and owning local cell.
-
CBC_FLUDS(unsigned int num_groups, std::size_t num_angles, const CBC_FLUDSCommonData &common_data, const UnknownManager &psi_uk_man, const SpatialDiscretization &sdm)