mirror of
https://github.com/openmc-dev/openmc.git
synced 2026-07-28 14:15:42 -04:00
Add collision-estimated scattering derivatives
This commit is contained in:
parent
332d863ed7
commit
4ec05c643f
1 changed files with 26 additions and 1 deletions
|
|
@ -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)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue