mirror of
https://github.com/openmc-dev/openmc.git
synced 2026-07-27 05:35:49 -04:00
Added log-log interpolation for URR probability tables.
This commit is contained in:
parent
49d5b0af0f
commit
3bd35b850f
1 changed files with 27 additions and 2 deletions
|
|
@ -339,8 +339,33 @@ contains
|
|||
capture = (ONE - f) * urr % prob(i_energy, URR_N_GAMMA, i_table) + &
|
||||
f * urr % prob(i_energy + 1, URR_N_GAMMA, i_table)
|
||||
elseif (urr % interp == LOG_LOG) then
|
||||
message = "Log-log interpolation on probability table not yet supported."
|
||||
call fatal_error()
|
||||
! Get logarithmic interpolation factor
|
||||
f = log(p % E / urr % energy(i_energy)) / &
|
||||
log(urr % energy(i_energy + 1) / urr % energy(i_energy))
|
||||
|
||||
! Calculate elastic cross section/factor
|
||||
elastic = ZERO
|
||||
if (urr % prob(i_energy, URR_ELASTIC, i_table) /= ZERO) then
|
||||
elastic = exp((ONE - f) * log(urr % prob(i_energy, URR_ELASTIC, &
|
||||
i_table)) + f * log(urr % prob(i_energy + 1, URR_ELASTIC, &
|
||||
i_table)))
|
||||
end if
|
||||
|
||||
! Calculate fission cross section/factor
|
||||
fission = ZERO
|
||||
if (urr % prob(i_energy, URR_FISSION, i_table) /= ZERO) then
|
||||
fission = exp((ONE - f) * log(urr % prob(i_energy, URR_FISSION, &
|
||||
i_table)) + f * log(urr % prob(i_energy + 1, URR_FISSION, &
|
||||
i_table)))
|
||||
end if
|
||||
|
||||
! Calculate capture cross section/factor
|
||||
capture = ZERO
|
||||
if (urr % prob(i_energy, URR_N_GAMMA, i_table) /= ZERO) then
|
||||
capture = exp((ONE - f) * log(urr % prob(i_energy, URR_N_GAMMA, &
|
||||
i_table)) + f * log(urr % prob(i_energy + 1, URR_N_GAMMA, &
|
||||
i_table)))
|
||||
end if
|
||||
end if
|
||||
|
||||
! Determine treatment of inelastic scattering
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue