Add collision-estimated scattering derivatives

This commit is contained in:
Sterling Harper 2016-04-18 14:41:22 -04:00
parent 332d863ed7
commit 4ec05c643f

View file

@ -3068,6 +3068,16 @@ contains
score = score * deriv % flux_deriv
end if
case (SCORE_SCATTER)
if (materials(p % material) % id == deriv % diff_material &
.and. material_xs % total - material_xs % absorption /= ZERO) &
then
score = score * (deriv % flux_deriv + ONE &
/ materials(p % material) % density_gpcc)
else
score = score * deriv % flux_deriv
end if
case (SCORE_ABSORPTION)
if (materials(p % material) % id == deriv % diff_material &
.and. material_xs % absorption /= ZERO) then
@ -3146,6 +3156,22 @@ contains
score = score * deriv % flux_deriv
end if
case (SCORE_SCATTER)
if (i_nuclide == -1 .and. &
materials(p % material) % id == deriv % diff_material .and. &
material_xs % total - material_xs % absorption /= ZERO) then
score = score * (deriv % flux_deriv &
+ (micro_xs(deriv % diff_nuclide) % total &
- micro_xs(deriv % diff_nuclide) % absorption) &
/ (material_xs % total - material_xs % absorption))
else if (scoring_diff_nuclide .and. &
(micro_xs(deriv % diff_nuclide) % total &
- micro_xs(deriv % diff_nuclide) % absorption) /= ZERO) then
score = score * (deriv % flux_deriv + ONE / atom_density)
else
score = score * deriv % flux_deriv
end if
case (SCORE_ABSORPTION)
if (i_nuclide == -1 .and. &
materials(p % material) % id == deriv % diff_material .and. &
@ -3178,7 +3204,6 @@ contains
if (i_nuclide == -1 .and. &
materials(p % material) % id == deriv % diff_material .and. &
material_xs % nu_fission /= ZERO) then
write(*, *) micro_xs(deriv % diff_nuclide) % nu_fission
score = score * (deriv % flux_deriv &
+ micro_xs(deriv % diff_nuclide) % nu_fission &
/ material_xs % nu_fission)