Class SweepBoundary

Inheritance Relationships

Derived Types

Class Documentation

class SweepBoundary

Base class for sweep related boundaries.

Subclassed by opensn::IsotropicBoundary, opensn::ReflectingBoundary, opensn::VacuumBoundary

Public Functions

inline explicit SweepBoundary(LBSBoundaryType bndry_type, size_t num_groups, CoordinateSystemType coord_type)
virtual ~SweepBoundary() = default
inline LBSBoundaryType GetType() const
inline CoordinateSystemType GetCoordType() const
inline bool IsReflecting() const
inline double GetEvaluationTime() const
inline void SetEvaluationTime(double time)
virtual double *PsiIncoming(uint64_t cell_local_id, unsigned int face_num, unsigned int fi, unsigned int angle_num, int group_num)

Returns a pointer to the location of the incoming flux.

virtual double *PsiOutgoing(uint64_t cell_local_id, unsigned int face_num, unsigned int fi, unsigned int angle_num)

Returns a pointer to the location of the outgoing flux.

inline virtual void UpdateAnglesReadyStatus(const std::vector<std::uint32_t> &angles)
inline virtual bool CheckAnglesReadyStatus(const std::vector<std::uint32_t> &angles)
inline virtual void Setup(const std::shared_ptr<MeshContinuum> &grid, const AngularQuadrature &quadrature)
inline double *ZeroFlux(int group_num)

Protected Attributes

std::vector<double> zero_boundary_flux_
size_t num_groups_