Chi-Tech
sweep_namespace.h
Go to the documentation of this file.
1#ifndef CHI_SWEEP_H
2#define CHI_SWEEP_H
3
4#include "../chi_mesh.h"
5#include <set>
6
7#include <memory>
8
9namespace chi
10{
11class DirectedGraph;
12}
13
14// ###################################################################
15namespace chi_mesh
16{
17namespace sweep_management
18{
19
20enum class FaceOrientation : short
21{
22 PARALLEL = -1,
23 INCOMING = 0,
24 OUTGOING = 1
25};
26
27struct STDG; ///< Global Sweep Plane Ordering
28struct SPLS; ///< Sweep Plane Local Subgrid
29class AAH_FLUDS; ///< Auxiliary Flux Data Structure
30class SPDS; ///< Sweep Plane Data Structure
31
32struct Task
33{
34 unsigned int num_dependencies_;
35 std::vector<uint64_t> successors_;
36 uint64_t reference_id_;
38 bool completed_ = false;
39};
40
42class AngleSet;
43class AngleSetGroup;
45
46class SweepChunk;
47
48class SweepScheduler;
49
51 const std::vector<int>& location_dependencies,
52 std::vector<std::vector<int>>& global_dependencies);
53
54void PrintSweepOrdering(SPDS* sweep_order, MeshContinuumPtr vol_continuum);
55
57{
58 NOT_FINISHED = 0,
59 FINISHED = 1,
60 RECEIVING = 2,
62 EXECUTE = 4,
64 MESSAGES_SENT = 6,
66};
68} // namespace sweep_management
69} // namespace chi_mesh
70
71#endif // CHI_SWEEP_H
void PrintSweepOrdering(SPDS *sweep_order, MeshContinuumPtr vol_continuum)
void CommunicateLocationDependencies(const std::vector< int > &location_dependencies, std::vector< std::vector< int > > &global_dependencies)
AngleSetStatus ExecutionPermission
std::shared_ptr< MeshContinuum > MeshContinuumPtr
Definition: chi_mesh.h:44
Sweep Plane Data Structure.
const chi_mesh::Cell * cell_ptr_
std::vector< uint64_t > successors_