Class ReflectingBoundary
Defined in File reflecting_boundary.h
Inheritance Relationships
Base Type
public opensn::SweepBoundary(Class SweepBoundary)
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 virtual bool HasDelayedAngularFlux() const override
-
virtual void GetFollowingAngleSets(std::set<AngleSet*> &following_angle_sets, const AngleAggregation &angle_agg, const AngleSet &angleset) override
Get the list of anglesets that depend on a given angleset.
If the boundary is not opposing reflecting, this method extracts all anglesets in the angle aggregation that can only begin sweeping after the given angle set has completed its sweep.
- Parameters:
following_angle_sets – Output set to which the dependent anglesets will be added.
angle_agg – Angle aggregation containing all anglesets.
angleset – Angleset for which dependent anglesets are sought.
-
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(std::uint32_t cell_local_id, unsigned int face_num, unsigned int fi, unsigned int angle_num, unsigned 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
-
bool opposing_reflected_ = false
-
AngularFluxData boundary_flux_
-
AngularFluxData boundary_flux_old_
-
std::vector<int> reflected_anglenum_
-
std::vector<bool> angle_readyflags_
-
inline ReflectingBoundary(size_t num_groups, const Vector3 &normal, CoordinateSystemType coord_type = CoordinateSystemType::CARTESIAN)