@@ -209,10 +209,10 @@ class SourceRegionHandle {
209209
210210 // Energy group-wise 2D BD arrays (g x time step)
211211 std::deque<double >* scalar_flux_bd_;
212- std::deque<double >* precursors_bd_ ;
212+ std::deque<float >* source_bd_ ;
213213
214214 // Delay group-wise 2D BD arrays (dg x time step)
215- std::deque<float >* source_bd_ ;
215+ std::deque<double >* precursors_bd_ ;
216216
217217 // Energy group-wise 1D RHS BD arrays
218218 double * scalar_flux_rhs_bd_;
@@ -374,15 +374,15 @@ class SourceRegionHandle {
374374 return scalar_flux_bd_[g];
375375 }
376376
377+ std::deque<float >& source_bd (int g) { return source_bd_[g]; }
378+ const std::deque<float >& source_bd (int g) const { return source_bd_[g]; }
379+
377380 std::deque<double >& precursors_bd (int dg) { return precursors_bd_[dg]; }
378381 const std::deque<double >& precursors_bd (int dg) const
379382 {
380383 return precursors_bd_[dg];
381384 }
382385
383- std::deque<float >& source_bd (int g) { return source_bd_[g]; }
384- const std::deque<float >& source_bd (int g) const { return source_bd_[g]; }
385-
386386 double & scalar_flux_rhs_bd (int g) { return scalar_flux_rhs_bd_[g]; }
387387 const double scalar_flux_rhs_bd (int g) const
388388 {
@@ -522,17 +522,17 @@ class SourceRegion {
522522 // !< finite number of previous time steps (used for
523523 // !< computing the first order (and second order, for SDP)
524524 // !< scalar flux time derivative)
525- vector<std::deque<double >>
526- precursors_bd_ ; // !< The final scalar flux in each energy group from a
527- // !< finite number of previous time steps (used for
528- // !< computing the first order source time derivative for
529- // !< SDP)
525+ vector<std::deque<float >>
526+ source_bd_ ; // !< The final scalar flux in each energy group from a
527+ // !< finite number of previous time steps (used for
528+ // !< computing the first order source time derivative for
529+ // !< SDP)
530530
531531 // Delay group-wise 2D BD arrays (dg x time step)
532- vector<std::deque<float >>
533- source_bd_ ; // !< The final precursor population in each energy group from a
534- // !< finite number of previous time steps (used for computing
535- // !< the first order precursor time derivative)
532+ vector<std::deque<double >>
533+ precursors_bd_ ; // !< The final precursor population in each energy group
534+ // !< from a finite number of previous time steps (used for
535+ // !< computing the first order precursor time derivative)
536536
537537 // Energy group-wise 1D RHS BD arrays
538538 vector<double >
@@ -877,20 +877,6 @@ class SourceRegionContainer {
877877 return scalar_flux_bd_[se];
878878 }
879879
880- std::deque<double >& precursors_bd (int64_t sr, int dg)
881- {
882- return precursors_bd_[dindex (sr, dg)];
883- }
884- const std::deque<double >& precursors_bd (int64_t sr, int dg) const
885- {
886- return precursors_bd_[dindex (sr, dg)];
887- }
888- std::deque<double >& precursors_bd (int64_t de) { return precursors_bd_[de]; }
889- const std::deque<double >& precursors_bd (int64_t de) const
890- {
891- return precursors_bd_[de];
892- }
893-
894880 std::deque<float >& source_bd (int64_t sr, int g)
895881 {
896882 return source_bd_[index (sr, g)];
@@ -905,6 +891,20 @@ class SourceRegionContainer {
905891 return source_bd_[se];
906892 }
907893
894+ std::deque<double >& precursors_bd (int64_t sr, int dg)
895+ {
896+ return precursors_bd_[dindex (sr, dg)];
897+ }
898+ const std::deque<double >& precursors_bd (int64_t sr, int dg) const
899+ {
900+ return precursors_bd_[dindex (sr, dg)];
901+ }
902+ std::deque<double >& precursors_bd (int64_t de) { return precursors_bd_[de]; }
903+ const std::deque<double >& precursors_bd (int64_t de) const
904+ {
905+ return precursors_bd_[de];
906+ }
907+
908908 double & scalar_flux_rhs_bd (int64_t sr, int g)
909909 {
910910 return scalar_flux_rhs_bd_[index (sr, g)];
@@ -1067,11 +1067,13 @@ class SourceRegionContainer {
10671067 vector<double > precursors_new_;
10681068 vector<double > precursors_final_;
10691069
1070- // SoA energy group-wise 3D BD arrays (sr x g/dg X timestep) flattened to 2D
1070+ // SoA energy group-wise 3D BD arrays (sr x g X timestep) flattened to 2D
10711071 vector<std::deque<double >> scalar_flux_bd_;
1072- vector<std::deque<double >> precursors_bd_;
10731072 vector<std::deque<float >> source_bd_;
10741073
1074+ // SoA delay group-wise 3D BD arrays (sr x dg X timestep) flattened to 2D
1075+ vector<std::deque<double >> precursors_bd_;
1076+
10751077 // SoA energy group-wise 2D RHS BD arrays flattened to 1D
10761078 vector<double > scalar_flux_rhs_bd_;
10771079 vector<float > source_rhs_bd_;
0 commit comments