Athena++/Atmosphere
Planetary Atmosphere Simulator
inversion_task_list.hpp
Go to the documentation of this file.
1 #ifndef INVERSION_TASK_LIST_HPP_
2 #define INVERSION_TASK_LIST_HPP_
3 
4 // Athena++ headers
5 #include "../athena.hpp"
6 #include "task_list.hpp"
7 
8 // forward declarations
9 class Mesh;
10 class MeshBlock;
11 class TaskID;
12 
13 class InversionTaskList : public TaskList {
14 public:
17  //void AddInversionTask(uint64_t id, uint64_t dep);
18 
19  TaskStatus CalculateGradient(MeshBlock *pmb, int step);
20  TaskStatus Sample(MeshBlock *pmb, int step);
21  TaskStatus Optimize(MeshBlock *pmb, int step);
22 
23 private:
24  void AddTask(const TaskID& id, const TaskID& dep) override;
25  void StartupTaskList(MeshBlock *pmb, int stage) override;
26 };
27 
28 namespace InversionTaskNames {
29  const TaskID NONE(0);
30  const TaskID CALC_GRAD(1);
31  const TaskID OPTIMIZE(2);
32  const TaskID SAMPLE(3);
33 }
34 
35 #endif
void StartupTaskList(MeshBlock *pmb, int stage) override
TaskStatus Sample(MeshBlock *pmb, int step)
TaskStatus CalculateGradient(MeshBlock *pmb, int step)
TaskStatus Optimize(MeshBlock *pmb, int step)
void AddTask(const TaskID &id, const TaskID &dep) override
InversionTaskList(ParameterInput *pin, Mesh *pm)
Definition: mesh.hpp:203
const TaskID OPTIMIZE(2)
const TaskID CALC_GRAD(1)
const TaskID SAMPLE(3)
const TaskID NONE(0)
TaskStatus
Definition: task_list.hpp:30