Class AngleAggregation
Defined in File angle_aggregation.h
Class Documentation
-
class AngleAggregation
Angle aggregation has to cater for running the 8 corners of a 3D partitioning, the 4 corners of a 2D partitioning (the latter 2 both being polar angle aggregation) as well as single angle aggregation.
At the most fundamental level this manifests as a number of angle indices that share a SPDS, however SPDS do not have to be unique which allows the notion of polar angle sets. For single angle aggregation each SPDS is associated with a single angle index. For polar angle aggregation a single SPDS can have multiple indices associated with the same azimuthal angle but different polar angles. We call this manifestation a “AngleSet”.
The octant based separation is achieved via the notion of “AngleSetGroup” which will group angle sets for each quadrant or octant (depending on 2D or 3D).
Public Functions
-
inline const std::map<uint64_t, std::shared_ptr<SweepBoundary>> &GetSimBoundaries() const
-
void ZeroOutgoingDelayedPsi()
Resets all the outgoing intra-location and inter-location cyclic interfaces.
-
void ZeroIncomingDelayedPsi()
Resets all the incoming intra-location and inter-location cyclic interfaces.
-
void InitializeReflectingBCs()
Initializes reflecting boundary conditions.
-
std::pair<size_t, size_t> GetNumDelayedAngularDOFs()
Returns a pair of numbers containing the number of delayed angular unknowns both locally and globally, respectively.
-
void AppendNewDelayedAngularDOFsToArray(int64_t &index, double *x_ref)
Assembles angular unknowns into the reference vector.
-
void AppendOldDelayedAngularDOFsToArray(int64_t &index, double *x_ref)
Assembles angular unknowns into the reference vector.
-
void SetOldDelayedAngularDOFsFromArray(int64_t &index, const double *x_ref)
Assembles angular unknowns into the reference vector.
-
void SetNewDelayedAngularDOFsFromArray(int64_t &index, const double *x_ref)
Assembles angular unknowns into the reference vector.
-
std::vector<double> GetNewDelayedAngularDOFsAsSTLVector()
Gets the current values of the angular unknowns as an STL vector.
-
void SetNewDelayedAngularDOFsFromSTLVector(const std::vector<double> &stl_vector)
Gets the current values of the angular unknowns as an STL vector.
-
std::vector<double> GetOldDelayedAngularDOFsAsSTLVector()
Gets the current values of the angular unknowns as an STL vector.
-
void SetOldDelayedAngularDOFsFromSTLVector(const std::vector<double> &stl_vector)
Gets the current values of the angular unknowns as an STL vector.
-
void SetDelayedPsiOld2New()
Copies the old delayed angular fluxes to the new.
-
void SetDelayedPsiNew2Old()
Copies the new delayed angular fluxes to the old.
Public Members
-
std::vector<AngleSetGroup> angle_set_groups
-
inline const std::map<uint64_t, std::shared_ptr<SweepBoundary>> &GetSimBoundaries() const