Class SPDS
Defined in File spds.h
Inheritance Relationships
Derived Types
public opensn::AAH_SPDS(Class AAH_SPDS)public opensn::CBC_SPDS(Class CBC_SPDS)
Class Documentation
-
class SPDS
Subclassed by opensn::AAH_SPDS, opensn::CBC_SPDS
Public Functions
Constructs an sweep-plane data strcture (SPDS) with the given direction and grid.
- Parameters:
omega – The angular direction vector.
grid – Reference to the grid.
-
inline const auto &GetLocalSubgrid() const
Return a reference to the Sweep-Plane Local Subgrid (SPLS) associated with this SPDS.
A SPLS (“spills”) is a contiguous collection of cells that is the lowest level in the SPDS hierarchy. The intent is that the locations responsible for executing sweeps on this collection of cells can readily read to and write from a common data structure. A SPLS contains one or more entire cellsets — it cannot split a cellset.
-
inline const std::vector<std::vector<std::uint32_t>> &GetLevelizedLocalSubgrid() const
Return a reference to the levelized SPLS.
-
inline const std::vector<int> &GetLocationDependencies() const
Returns the location dependencies for this SPDS.
-
inline const std::vector<int> &GetLocationSuccessors() const
Returns the location successors for this SPDS.
-
inline const std::vector<int> &GetDelayedLocationDependencies() const
Returns the delayed location dependencies for this SPDS.
-
inline const std::vector<int> &GetDelayedLocationSuccessors() const
Returns the delayed location successors for this SPDS.
-
inline const std::vector<std::pair<std::uint32_t, std::uint32_t>> &GetLocalSweepFAS() const
Returns the feedback arc set (FAS) for the local cell sweep graph.
-
inline const std::vector<std::vector<FaceOrientation>> &GetCellFaceOrientations() const
Return the cell face orientations for this SPDS.
-
int MapLocJToPrelocI(int locJ) const
Maps location J to a predecessor location.
-
int MapLocJToDeplocI(int locJ) const
Maps location J to a dependent location.
-
void PrintGhostedGraph() const
-
virtual ~SPDS() = default
Protected Functions
-
void PopulateCellRelationships(const Vector3 &omega, const SPDSFaceNeighborInfoVec &face_info, std::vector<int> &location_dependencies, std::vector<int> &location_successors, std::vector<std::vector<std::pair<std::uint32_t, double>>> &cell_successors)
Populates cell relationships and face orientations.
- Parameters:
omega – The angular direction vector.
face_info – Per-cell, per-face neighbor ownership and locality information, indexed as returned by BuildSPDSFaceNeighborInfo().
location_dependencies – Location dependencies.
location_successors – Location successors.
cell_successors – Cell successors.
Protected Attributes
-
std::vector<std::vector<std::uint32_t>> levelized_spls_
Levelized sweep-plane local subgrid associated with this SPDS.
-
std::vector<int> location_dependencies_
Location dependencies.
-
std::vector<int> location_successors_
Location successors.
-
std::vector<int> delayed_location_dependencies_
Delayed location dependencies.
-
std::vector<int> delayed_location_successors_
Delayed location successors.
-
std::vector<std::pair<std::uint32_t, std::uint32_t>> local_sweep_fas_
Vector of edges representing the FAS used to break cycles in the local cell sweep graph.
-
std::vector<std::vector<FaceOrientation>> cell_face_orientations_
Cell face orientations for the cells in the local cell graph.