Change structure of UrrData.

This commit is contained in:
Paul Romano 2011-12-16 17:46:01 -06:00
parent 9e30afb733
commit d69dee4f7f
2 changed files with 19 additions and 11 deletions

View file

@ -1089,7 +1089,6 @@ contains
if (JXS23 /= 0) then
nuc % urr_present = .true.
allocate(nuc % urr_data)
allocate(nuc % urr_data % params(6))
lc = JXS23
else
nuc % urr_present = .false.
@ -1097,16 +1096,20 @@ contains
end if
! read parameters
nuc % urr_data % params(1) = int(XSS(lc)) ! # of incident energies
nuc % urr_data % params(2) = int(XSS(lc + 1)) ! # of probabilities
nuc % urr_data % params(3) = int(XSS(lc + 2)) ! interpolation parameter
nuc % urr_data % params(4) = int(XSS(lc + 3)) ! inelastic competition flag
nuc % urr_data % params(5) = int(XSS(lc + 4)) ! other absorption flag
nuc % urr_data % params(6) = int(XSS(lc + 5)) ! factors flag
nuc % urr_data % n_energy = int(XSS(lc))
nuc % urr_data % n_prob = int(XSS(lc + 1))
nuc % urr_data % interp = int(XSS(lc + 2))
nuc % urr_data % inelastic_flag = int(XSS(lc + 3))
nuc % urr_data % absorption_flag = int(XSS(lc + 4))
if (int(XSS(lc + 5)) == 0) then
nuc % urr_data % multiply_smooth = .false.
else
nuc % urr_data % multiply_smooth = .true.
end if
! allocate incident energies and probability tables
N = nuc % urr_data % params(1)
M = nuc % urr_data % params(2)
N = nuc % urr_data % n_energy
M = nuc % urr_data % n_prob
allocate(nuc % urr_data % energy(N))
allocate(nuc % urr_data % prob(N,6,M))

View file

@ -51,11 +51,16 @@ module cross_section_header
end type Reaction
!===============================================================================
! URRDATA contains unresolved resonance data.
! URRDATA contains probability tables for the unresolved resonance range.
!===============================================================================
type UrrData
integer, allocatable :: params(:)
integer :: n_energy ! # of incident neutron energies
integer :: n_prob ! # of probabilities
integer :: interp ! inteprolation (2=lin-lin, 5=log-log)
integer :: inelastic_flag ! inelastic competition flag
integer :: absorption_flag ! other absorption flag
logical :: multiply_smooth ! multiply by smooth cross section?
real(8), allocatable :: energy(:)
real(8), allocatable :: prob(:,:,:)
end type UrrData