Class ReflectingBoundary

Inheritance Relationships

Base Type

Class Documentation

class ReflectingBoundary : public opensn::SweepBoundary

Reflective boundary condition.

Public Functions

inline ReflectingBoundary(size_t num_groups, const Vector3 &normal, CoordinateSystemType coord_type = CoordinateSystemType::CARTESIAN)
inline const Vector3 &GetNormal() const
inline bool IsOpposingReflected() const
inline void SetOpposingReflected(bool value)
inline AngularFluxData &GetBoundaryFluxNew()
inline AngularFluxData &GetBoundaryFluxOld()
inline std::vector<int> &GetReflectedAngleIndexMap()
inline std::vector<bool> &GetAngleReadyFlags()
virtual double *PsiIncoming(uint64_t cell_local_id, unsigned int face_num, unsigned int fi, unsigned int angle_num, int group_num) override

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) override

Returns a pointer to the location of the outgoing flux.

virtual void UpdateAnglesReadyStatus(const std::vector<std::uint32_t> &angles) override
virtual bool CheckAnglesReadyStatus(const std::vector<std::uint32_t> &angles) override
void ResetAnglesReadyStatus()

Resets angle ready flags to false.

Protected Types

using AngularFluxData = std::vector<std::vector<std::vector<std::vector<std::vector<double>>>>>

Protected Attributes

const Vector3 normal_
bool opposing_reflected_ = false
AngularFluxData boundary_flux_
AngularFluxData boundary_flux_old_
std::vector<int> reflected_anglenum_
std::vector<bool> angle_readyflags_