Often, one can see this:
*** WARNING *** Negative transport cross section found for group 0 in call to ComputeDiffusionParameters. sigma_t=0 sigma_1=0. Setting sigma_1=0, sigma_tr=sigma_t for this group.
I propose the following:
- first, the above printout should be moved inside the loop
if (S.size() > 1) because there's no reason for that warning to show when only isotropic scattering XS are used
- the code computes
sigma_tr_[g] = sigma_t_[g] - sigma_1 but then keeps on using sigma_t_[g] - sigma_1 afterwards, why? not clean.
- add another warning just before computing D when
|sigma_tr_[g]|<eps starting what value is being used instead of 0