mirror of
https://github.com/openmc-dev/openmc.git
synced 2026-07-28 06:05:58 -04:00
Moved unresolved resonance data into new derived type UrrData.
This commit is contained in:
parent
b0d355ff0a
commit
509dfdb4e6
2 changed files with 26 additions and 17 deletions
|
|
@ -937,7 +937,8 @@ contains
|
|||
! check if URR data is present
|
||||
if (JXS23 /= 0) then
|
||||
nuc % urr_present = .true.
|
||||
allocate(nuc % urr_params(6))
|
||||
allocate(nuc % urr_data)
|
||||
allocate(nuc % urr_data % params(6))
|
||||
loc = JXS23
|
||||
else
|
||||
nuc % urr_present = .false.
|
||||
|
|
@ -945,27 +946,27 @@ contains
|
|||
end if
|
||||
|
||||
! read parameters
|
||||
nuc % urr_params(1) = XSS(loc) ! # of incident energies
|
||||
nuc % urr_params(2) = XSS(loc + 1) ! # of probabilities
|
||||
nuc % urr_params(3) = XSS(loc + 2) ! interpolation parameter
|
||||
nuc % urr_params(4) = XSS(loc + 3) ! inelastic competition flag
|
||||
nuc % urr_params(5) = XSS(loc + 4) ! other absorption flag
|
||||
nuc % urr_params(6) = XSS(loc + 5) ! factors flag
|
||||
nuc % urr_data % params(1) = XSS(loc) ! # of incident energies
|
||||
nuc % urr_data % params(2) = XSS(loc + 1) ! # of probabilities
|
||||
nuc % urr_data % params(3) = XSS(loc + 2) ! interpolation parameter
|
||||
nuc % urr_data % params(4) = XSS(loc + 3) ! inelastic competition flag
|
||||
nuc % urr_data % params(5) = XSS(loc + 4) ! other absorption flag
|
||||
nuc % urr_data % params(6) = XSS(loc + 5) ! factors flag
|
||||
|
||||
! allocate incident energies and probability tables
|
||||
N = nuc % urr_params(1)
|
||||
M = nuc % urr_params(2)
|
||||
allocate(nuc % urr_energy(N))
|
||||
allocate(nuc % urr_prob(N,6,M))
|
||||
N = nuc % urr_data % params(1)
|
||||
M = nuc % urr_data % params(2)
|
||||
allocate(nuc % urr_data % energy(N))
|
||||
allocate(nuc % urr_data % prob(N,6,M))
|
||||
|
||||
! read incident energies
|
||||
XSS_index = loc + 6
|
||||
nuc % urr_energy = get_real(N)
|
||||
nuc % urr_data % energy = get_real(N)
|
||||
|
||||
! read probability tables
|
||||
do i = 1, N
|
||||
do j = 1, 6
|
||||
nuc % urr_prob(i,j,1:M) = get_real(M)
|
||||
nuc % urr_data % prob(i,j,1:M) = get_real(M)
|
||||
end do
|
||||
end do
|
||||
|
||||
|
|
|
|||
|
|
@ -48,6 +48,16 @@ module cross_section_header
|
|||
type(DistEnergy) :: edist ! Secondary energy distribution
|
||||
end type Reaction
|
||||
|
||||
!===============================================================================
|
||||
! URRDATA contains unresolved resonance data.
|
||||
!===============================================================================
|
||||
|
||||
type UrrData
|
||||
integer, allocatable :: params(:)
|
||||
real(8), allocatable :: energy(:)
|
||||
real(8), allocatable :: prob(:,:,:)
|
||||
end type UrrData
|
||||
|
||||
!===============================================================================
|
||||
! NUCLIDE contains all the data for an ACE-format continuous-energy cross
|
||||
! section. The ACE format (A Compact ENDF format) is used in MCNP and several
|
||||
|
|
@ -88,10 +98,8 @@ module cross_section_header
|
|||
type(DistEnergy), allocatable :: nu_d_edist(:)
|
||||
|
||||
! Unresolved resonance data
|
||||
logical :: urr_present
|
||||
integer, allocatable :: urr_params(:)
|
||||
real(8), allocatable :: urr_energy(:)
|
||||
real(8), allocatable :: urr_prob(:,:,:)
|
||||
logical :: urr_present
|
||||
type(UrrData), pointer :: urr_data => null()
|
||||
|
||||
! Reactions
|
||||
integer :: n_reaction
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue