10 unsigned int face_num,
12 unsigned int angle_num,
42 unsigned int face_num,
44 unsigned int angle_num,
47 return &hetero_boundary_flux_[angle_num]
59 for (
const size_t n : angles)
60 angle_readyflags_[reflected_anglenum_[n]][gs_ss] =
true;
68 if (opposing_reflected_)
return true;
69 bool ready_flag =
true;
70 for (
auto& n : angles)
71 if (!hetero_boundary_flux_[reflected_anglenum_[n]].empty())
72 if (not angle_readyflags_[n][gs_ss])
return false;
82 hetero_boundary_flux_old_ = hetero_boundary_flux_;
84 for (
auto& flags : angle_readyflags_)
85 for (
int gs_ss=0; gs_ss<flags.size(); ++gs_ss)
double * HeterogeneousPsiIncoming(uint64_t cell_local_id, unsigned int face_num, unsigned int fi, unsigned int angle_num, int group_num, size_t gs_ss_begin) override
bool CheckAnglesReadyStatus(const std::vector< size_t > &angles, size_t gs_ss) override
double * HeterogeneousPsiOutgoing(uint64_t cell_local_id, unsigned int face_num, unsigned int fi, unsigned int angle_num, size_t gs_ss_begin) override
void ResetAnglesReadyStatus()
std::vector< AngVec > hetero_boundary_flux_
void UpdateAnglesReadyStatus(const std::vector< size_t > &angles, size_t gs_ss) override
std::vector< AngVec > hetero_boundary_flux_old_
std::vector< int > reflected_anglenum_