mirror of
https://github.com/openmc-dev/openmc.git
synced 2026-07-26 13:15:39 -04:00
Changed TY to multiplicity and added scatter_in_cm.
This commit is contained in:
parent
05c4f8cdb3
commit
b63daf82ca
4 changed files with 16 additions and 15 deletions
16
src/ace.F90
16
src/ace.F90
|
|
@ -639,10 +639,11 @@ contains
|
|||
|
||||
! Store elastic scattering cross-section on reaction one
|
||||
rxn => nuc % reactions(1)
|
||||
rxn % MT = 2
|
||||
rxn % Q_value = ZERO
|
||||
rxn % TY = 1
|
||||
rxn % IE = 1
|
||||
rxn % MT = 2
|
||||
rxn % Q_value = ZERO
|
||||
rxn % multiplicity = 1
|
||||
rxn % IE = 1
|
||||
rxn % scatter_in_cm = .true.
|
||||
rxn % has_angle_dist = .false.
|
||||
rxn % has_energy_dist = .false.
|
||||
allocate(rxn % sigma(nuc % n_grid))
|
||||
|
|
@ -666,9 +667,10 @@ contains
|
|||
rxn % has_energy_dist = .false.
|
||||
|
||||
! read MT number, Q-value, and neutrons produced
|
||||
rxn % MT = int(XSS(LMT + i - 1))
|
||||
rxn % Q_value = XSS(JXS4 + i - 1)
|
||||
rxn % TY = int(XSS(JXS5 + i - 1))
|
||||
rxn % MT = int(XSS(LMT + i - 1))
|
||||
rxn % Q_value = XSS(JXS4 + i - 1)
|
||||
rxn % multiplicity = abs(nint(XSS(JXS5 + i - 1)))
|
||||
rxn % scatter_in_cm = (nint(XSS(JXS5 + i - 1)) < 0)
|
||||
|
||||
! read starting energy index
|
||||
LOCA = int(XSS(LXS + i - 1))
|
||||
|
|
|
|||
|
|
@ -41,8 +41,9 @@ module ace_header
|
|||
type Reaction
|
||||
integer :: MT ! ENDF MT value
|
||||
real(8) :: Q_value ! Reaction Q value
|
||||
integer :: TY ! Number of neutrons released
|
||||
integer :: multiplicity ! Number of neutrons released
|
||||
integer :: IE ! Starting energy grid index
|
||||
logical :: scatter_in_cm ! scattering system in center-of-mass?
|
||||
real(8), allocatable :: sigma(:) ! Cross section values
|
||||
logical :: has_angle_dist ! Angle distribution present?
|
||||
logical :: has_energy_dist ! Energy distribution present?
|
||||
|
|
|
|||
|
|
@ -285,7 +285,7 @@ contains
|
|||
write(ou,*) 'Reaction ' // reaction_name(rxn % MT)
|
||||
write(ou,*) ' MT = ' // to_str(rxn % MT)
|
||||
write(ou,*) ' Q-value = ' // to_str(rxn % Q_value)
|
||||
write(ou,*) ' TY = ' // to_str(rxn % TY)
|
||||
write(ou,*) ' Multiplicity = ' // to_str(rxn % multiplicity)
|
||||
write(ou,*) ' Starting index = ' // to_str(rxn % IE)
|
||||
if (rxn % has_energy_dist) then
|
||||
write(ou,*) ' Energy: Law ' // to_str(rxn % edist % law)
|
||||
|
|
@ -829,8 +829,8 @@ contains
|
|||
end if
|
||||
|
||||
write(unit_,'(3X,A11,1X,F8.3,2X,I4,2X,I6,1X,I11,1X,I11)') &
|
||||
reaction_name(rxn % MT), rxn % Q_value, rxn % TY, rxn % IE, &
|
||||
size_angle, size_energy
|
||||
reaction_name(rxn % MT), rxn % Q_value, rxn % multiplicity, &
|
||||
rxn % IE, size_angle, size_energy
|
||||
|
||||
! Accumulate data size
|
||||
size_total = size_total + size_angle + size_energy
|
||||
|
|
|
|||
|
|
@ -1059,7 +1059,6 @@ contains
|
|||
type(Nuclide), pointer :: nuc
|
||||
type(Reaction), pointer :: rxn
|
||||
|
||||
integer :: n_secondary ! number of secondary particles
|
||||
integer :: law ! secondary energy distribution law
|
||||
real(8) :: A ! atomic weight ratio of nuclide
|
||||
real(8) :: E_in ! incoming energy
|
||||
|
|
@ -1093,7 +1092,7 @@ contains
|
|||
|
||||
! if scattering system is in center-of-mass, transfer cosine of scattering
|
||||
! angle and outgoing energy from CM to LAB
|
||||
if (rxn % TY < 0) then
|
||||
if (rxn % scatter_in_cm) then
|
||||
E_cm = E
|
||||
|
||||
! determine outgoing energy in lab
|
||||
|
|
@ -1120,8 +1119,7 @@ contains
|
|||
p % mu = mu
|
||||
|
||||
! change weight of particle based on multiplicity
|
||||
n_secondary = abs(rxn % TY)
|
||||
p % wgt = n_secondary * p % wgt
|
||||
p % wgt = rxn % multiplicity * p % wgt
|
||||
|
||||
end subroutine inelastic_scatter
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue