Skip to content

Commit

Permalink
Merge pull request #361 from njoy/develop
Browse files Browse the repository at this point in the history
NJOY2016.78
  • Loading branch information
whaeck authored Feb 3, 2025
2 parents 367e9d5 + cec72ac commit 71a76bc
Show file tree
Hide file tree
Showing 17 changed files with 56,274 additions and 20 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/ContinuousIntegration.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ jobs:
runs-on: ${{matrix.os}}
strategy:
matrix:
os: [ ubuntu-22.04, macos-12 ]
os: [ ubuntu-22.04, macos-13 ]
build_type: [ Debug, Release ]
vFortran: [ gfortran-12 ]

Expand Down
8 changes: 7 additions & 1 deletion ReleaseNotes.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,13 @@
# Release Notes—NJOY2016
Given here are some release notes for NJOY2016. Each release is made through a formal [Pull Request](https://github.com/njoy/NJOY2016/pulls) made on GitHub. There are links in this document that point to each of those Pull Requests, where you can see in great details the changes that were made. Often the Pull Requests are made in response to an [issue](https://github.com/njoy/NJOY2016/issues). In such cases, links to those issues are also given.

## NJOY2016.77
## [NJOY2016.78](https://github.com/njoy/NJOY2016/pull/xxx)
This update fixes the following issues:
- Tape numbers are now allowed to go up to 999 instead of 99 previously. This change was made to accommodate processing of the light water evaluation in ENDF/B-VIII.1 that has 94 temperatures. Test 84 was added to detect this issue in the future.
- A few updates were made related to array sizes and array allocation.
- Adding a message to signal malformed ENDF files when l-value lists for SLBW/MLBW and Reich-Moore have nrs=0 (no resonances given for this l value).

## [NJOY2016.77](https://github.com/njoy/NJOY2016/pull/347)
This update fixes the following issues:
- Background cross section values for reactions other than total, elastic, fission and capture were not handled properly in the unresolved resonance region. The background for total, elastic, fission and capture is integrated into the unresolved resonance cross section values in the genunr subroutine. In the emerge subroutine, the background in the unresolved resonance region was therefore zeroed out for any resonance reaction. This has never been an issue but now we have LRF=7 evaluations that can define reactions other than total, elastic, fission and capture. Test 82 was added to detect this issue in the future.
- Increased the size of internal arrays in VIEWR.
Expand Down
12 changes: 6 additions & 6 deletions src/acefc.f90
Original file line number Diff line number Diff line change
Expand Up @@ -9585,15 +9585,15 @@ subroutine acelcp(next,matd,nin,za,awr)
next=next+5
do ie=1,2
xss(next)=2
xss(next+1)=3
xss(next+2)=-1
xss(next+5)=0
xss(next+8)=0
xss(next+1)=3 ! three points in the cosine grid
xss(next+2)=-1 ! three cosine values
xss(next+3)=one-one/100
xss(next+6)=0
xss(next+9)=0
xss(next+4)=1
xss(next+5)=0 ! three pdf values
xss(next+6)=0
xss(next+7)=200
xss(next+8)=0 ! three cdf values
xss(next+9)=0
xss(next+10)=1
next=next+11
enddo
Expand Down
5 changes: 3 additions & 2 deletions src/groupr.f90
Original file line number Diff line number Diff line change
Expand Up @@ -42,8 +42,8 @@ module groupm
! - lfs8(i) points to the "level number" from mf8.
! - mlfs8(i) is calculated and corresponds to NJOY's assumption
! of the ground state or isomer number.
integer,parameter::maxr1=500
integer,parameter::maxr2=500
integer,parameter::maxr1=1000
integer,parameter::maxr2=10000
integer::mf4(maxr1),mf6(maxr1),mf12(maxr1),mf13(maxr1),mf18(maxr1),&
mf4r(6,maxr1),mf6p(6,maxr1),mf10f(maxr2),mf10s(maxr2),mf10i(maxr2),&
lfs8(maxr2),mlfs8(maxr2)
Expand Down Expand Up @@ -6514,6 +6514,7 @@ subroutine getyld(e,enext,idis,yld,mat,mf,mt,lfs,itape)
enext=tmp(7+2*nr)
190 continue
idis=0
if (allocated(yield)) deallocate(yield)
allocate(yield(na))
do i=1,na
yield(i)=tmp(i)
Expand Down
5 changes: 4 additions & 1 deletion src/moder.f90
Original file line number Diff line number Diff line change
Expand Up @@ -54,12 +54,13 @@ subroutine moder
integer::nin,nout,no,loop,i,nz,inout
integer::matd,mend,ig,nk,ik,nb,nw
integer::nscr,ninl,matl
integer,parameter::nbuf=1000000
real(kr)::time
character(105)::strng
character(4)::hb(17)
real(kr)::rb(17)
equivalence(hb(1),rb(1))
real(kr)::a(5200)
real(kr),allocatable::a(:)
real(kr)::z(20)
character(4)::zc(20)
equivalence(zc(1),z(1))
Expand All @@ -68,6 +69,8 @@ subroutine moder
ninl=0
matl=-2

allocate(a(nbuf)) ! deallocated automatically at end of subroutine

!--read user input, initialize,
!--and write output header.
call timer(time)
Expand Down
22 changes: 20 additions & 2 deletions src/reconr.f90
Original file line number Diff line number Diff line change
Expand Up @@ -899,6 +899,7 @@ subroutine rdf2bw(nin,jnow,lrf,nro,naps,mode)
real(kr),parameter::third=.333333333e0_kr
real(kr),parameter::gxmin=1.0e-5_kr
real(kr),parameter::zero=0
character::strng*60
cwaven=sqrt(2*amassn*amu*ev)*1.e-12_kr/hbar

!--check for energy-dependent scattering radius
Expand Down Expand Up @@ -948,9 +949,17 @@ subroutine rdf2bw(nin,jnow,lrf,nro,naps,mode)
if (jj.gt.maxres) call error('rdf2bw',&
'res storage exceeded',' ')
enddo
ll=nint(res(jnow+2))
nrs=nint(res(jnow+5))
! some files are malformed and have a list record for l values without
! resonances, issue a warning and move to the next l value
if (nrs.eq.0) then
write(strng,'(''nrs=0 for SLBW/MLBW and l='',i2)') ll
call mess('rdf2bw',strng,'malformed ENDF file, check evaluation')
jnow = jnow+6
cycle
end if
ncyc=nint(res(jnow+4))/nrs
ll=nint(res(jnow+2))
qx=res(jnow+1)
lrx=nint(res(jnow+3))
if (lrx.ne.0) then
Expand Down Expand Up @@ -3216,6 +3225,7 @@ subroutine csrmat(e,sigp)
real(kr),parameter::four=4.0e0_kr
real(kr),parameter::small=3.e-4_kr
real(kr),parameter::zero=0
character::strng*60
cwaven=sqrt(2*amassn*amu*ev)*1.e-12_kr/hbar

!--doppler broadening not provided.
Expand Down Expand Up @@ -3252,9 +3262,17 @@ subroutine csrmat(e,sigp)
!--loop over l states
do l=1,nls
inowb=inow
ll=nint(res(inow+2))
nrs=nint(res(inow+5))
! some files are malformed and have a list record for l values without
! resonances, issue a warning and move to the next l value
if (nrs.eq.0) then
write(strng,'(''nrs=0 for Reich-Moore and l='',i2)') ll
call mess('csrmat',strng,'malformed ENDF file, check evaluation')
inow = inow+6
cycle
end if
ncyc=nint(res(inow+4))/nrs
ll=nint(res(inow+2))
apl=res(inow+1)
rhoc=k*ap
rho=k*ra
Expand Down
8 changes: 4 additions & 4 deletions src/util.f90
Original file line number Diff line number Diff line change
Expand Up @@ -179,14 +179,14 @@ subroutine openz(lun,new)
integer::lun,new
! internals
integer::nun
character::for*15,age*7,fn*6
character::for*15,age*7,fn*7
logical::there

nun=iabs(lun)
if ((nun.ge.5.and.nun.le.7).or.nun.eq.0) return
if (nun.gt.99) call error('openz','illegal unit number.',' ')
if (nun.gt.999) call error('openz','illegal unit number.',' ')
! construct file name
write(fn,'(''tape'',i2)') nun
write(fn,'(''tape'',i0)') nun
! set format based on sign of unit number
for='formatted'
if (lun.lt.0) for='unformatted'
Expand Down Expand Up @@ -227,7 +227,7 @@ subroutine closz(lun)

nun=iabs(lun)
if (nun.lt.10) return
if (nun.gt.99) call error('closz','illegal unit number.',' ')
if (nun.gt.999) call error('closz','illegal unit number.',' ')
close(nun)
return
end subroutine closz
Expand Down
4 changes: 2 additions & 2 deletions src/vers.f90
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,6 @@ module version
! These values are updated during the NJOY revision-control process.
implicit none
private
character(8),public::vers='2016.77'
character(8),public::vday='xxSep24'
character(8),public::vers='2016.78'
character(8),public::vday='03Feb25'
end module version
12 changes: 12 additions & 0 deletions tests/84/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/input"
"${CMAKE_CURRENT_BINARY_DIR}/input" COPYONLY )

configure_file("${CMAKE_CURRENT_SOURCE_DIR}/referenceTape100"
"${CMAKE_CURRENT_BINARY_DIR}/referenceTape100" COPYONLY )

configure_file("${RESOURCES}/n-001_H_002-ENDF8.0.endf"
"${CMAKE_CURRENT_BINARY_DIR}/tape20" COPYONLY )

add_test( NAME "Test84"
COMMAND ${Python3_EXECUTABLE} "../execute.py"
WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}" )
8 changes: 8 additions & 0 deletions tests/84/input
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
-- read tape20 and reconstruct
reconr
20 100
'reconstructed data' /
128 /
0.001 /
0 /
stop
Loading

0 comments on commit 71a76bc

Please sign in to comment.