65 lines
2.3 KiB
C
65 lines
2.3 KiB
C
|
|
#ifndef ITERATOR_LEVEL_H
|
||
|
|
#define ITERATOR_LEVEL_H
|
||
|
|
|
||
|
|
#include "iterator.h"
|
||
|
|
|
||
|
|
|
||
|
|
class Iterator_level : public Iterator {
|
||
|
|
public:
|
||
|
|
Iterator_level(InputParams&, Grid&, Source&, IO_utils&, const std::string&, bool, bool, bool);
|
||
|
|
protected:
|
||
|
|
void do_sweep_adj(int, Grid&, InputParams&) override ; // do sweeping for adjoint routine
|
||
|
|
virtual void do_sweep(int, Grid&, InputParams&) {}; // do sweeping
|
||
|
|
};
|
||
|
|
|
||
|
|
class Iterator_level_tele : public Iterator {
|
||
|
|
public:
|
||
|
|
Iterator_level_tele(InputParams& , Grid&, Source&, IO_utils&, const std::string&, bool, bool, bool);
|
||
|
|
protected:
|
||
|
|
void do_sweep_adj(int, Grid&, InputParams&) override ; // do sweeping for adjoint routine
|
||
|
|
virtual void do_sweep(int, Grid&, InputParams&) {}; // do sweeping
|
||
|
|
};
|
||
|
|
|
||
|
|
class Iterator_level_1st_order : public Iterator_level {
|
||
|
|
public:
|
||
|
|
Iterator_level_1st_order(InputParams&, Grid&, Source&, IO_utils&, const std::string&, bool, bool, bool);
|
||
|
|
private:
|
||
|
|
void do_sweep(int, Grid&, InputParams&) override ; // do sweeping
|
||
|
|
};
|
||
|
|
|
||
|
|
class Iterator_level_3rd_order : public Iterator_level {
|
||
|
|
public:
|
||
|
|
Iterator_level_3rd_order(InputParams&, Grid&, Source&, IO_utils&, const std::string&, bool, bool, bool);
|
||
|
|
private:
|
||
|
|
void do_sweep(int, Grid&, InputParams&) override ; // do sweeping
|
||
|
|
};
|
||
|
|
|
||
|
|
class Iterator_level_1st_order_upwind : public Iterator_level {
|
||
|
|
public:
|
||
|
|
Iterator_level_1st_order_upwind(InputParams&, Grid&, Source&, IO_utils&, const std::string&, bool, bool, bool);
|
||
|
|
private:
|
||
|
|
void do_sweep(int, Grid&, InputParams&) override ; // do sweeping
|
||
|
|
};
|
||
|
|
|
||
|
|
class Iterator_level_1st_order_tele : public Iterator_level_tele {
|
||
|
|
public:
|
||
|
|
Iterator_level_1st_order_tele(InputParams&, Grid&, Source&, IO_utils&, const std::string&, bool, bool, bool);
|
||
|
|
private:
|
||
|
|
void do_sweep(int, Grid&, InputParams&) override ; // do sweeping
|
||
|
|
};
|
||
|
|
|
||
|
|
class Iterator_level_3rd_order_tele : public Iterator_level_tele {
|
||
|
|
public:
|
||
|
|
Iterator_level_3rd_order_tele(InputParams&, Grid&, Source&, IO_utils&, const std::string&, bool, bool, bool);
|
||
|
|
private:
|
||
|
|
void do_sweep(int, Grid&, InputParams&) override ; // do sweeping
|
||
|
|
};
|
||
|
|
|
||
|
|
class Iterator_level_1st_order_upwind_tele : public Iterator_level_tele {
|
||
|
|
public:
|
||
|
|
Iterator_level_1st_order_upwind_tele(InputParams&, Grid&, Source&, IO_utils&, const std::string&, bool, bool, bool);
|
||
|
|
private:
|
||
|
|
void do_sweep(int, Grid&, InputParams&) override ; // do sweeping
|
||
|
|
};
|
||
|
|
|
||
|
|
#endif // ITERATOR_LEVEL_H
|