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

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_