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)
inline virtual bool HasDelayedAngularFlux() const
inline virtual void InitializeDelayedAngularFlux(const std::shared_ptr<MeshContinuum> &grid, const AngularQuadrature &quadrature)
inline virtual void FinalizeDelayedAngularFluxSetup(uint64_t boundary_id, const std::map<uint64_t, std::shared_ptr<SweepBoundary>> &boundaries)
inline virtual void ZeroOpposingDelayedAngularFluxOld()
inline virtual size_t CountDelayedAngularDOFsNew() const
inline virtual size_t CountDelayedAngularDOFsOld() const
inline virtual void AppendNewDelayedAngularDOFsToVector(std::vector<double> &output) const
inline virtual void AppendOldDelayedAngularDOFsToVector(std::vector<double> &output) const
inline virtual void AppendNewDelayedAngularDOFsToArray(int64_t &index, double *buffer) const
inline virtual void AppendOldDelayedAngularDOFsToArray(int64_t &index, double *buffer) const
inline virtual void SetNewDelayedAngularDOFsFromArray(int64_t &index, const double *buffer)
inline virtual void SetOldDelayedAngularDOFsFromArray(int64_t &index, const double *buffer)
inline virtual void SetNewDelayedAngularDOFsFromVector(const std::vector<double> &values, size_t &index)
inline virtual void SetOldDelayedAngularDOFsFromVector(const std::vector<double> &values, size_t &index)
inline virtual void CopyDelayedAngularFluxOldToNew()
inline virtual void CopyDelayedAngularFluxNewToOld()
inline virtual void ResetAnglesReadyStatus()
inline virtual const Vector3 *GetNormalForReflection() const
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_