Class OutflowCarrier
Defined in File outflow_carrier.h
Inheritance Relationships
Base Type
public opensn::Carrier
(Class Carrier)
Class Documentation
-
class OutflowCarrier : public opensn::Carrier
Object managing outflow data on GPU.
This class manages memory for storing group-wise outflow data for each boundary face and provides cleaner way to transfer the data back to the host.
Public Functions
-
OutflowCarrier(LBSProblem &lbs_problem)
Constructor.
-
void AccumulateBack(std::vector<CellLBSView> &cell_transport_views)
Accumulate computed outflow on GPU back to CPU.
-
void Reset(void)
Zero-fill device and host memory, forcing flux accumulation to zero to reuse the allocated space for the next sweep.
-
std::uint64_t GetOffset(const std::uint32_t &cell_local_idx, const std::uint32_t &face_idx)
Get offset from cell local index and face index.
Public Members
-
std::map<std::uint64_t, std::uint64_t> outflow_map
Maps boundary faces to their outflow memory offsets.
This map associates each boundary face, which is identified by a tuple of cell local index and face index in the cell, with its corresponding offset in the contiguous outflow data stored on the device.
Note
Non-boundary faces are not included in this map.
-
std::uint64_t num_groups
Number of groups.
-
OutflowCarrier(LBSProblem &lbs_problem)