Skip to content
Merged
Show file tree
Hide file tree
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
75 changes: 71 additions & 4 deletions src/acefc.f90
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,11 @@ module acefc
integer::mt103,mt104,mt105,mt106,mt107
integer::mpmin,mpmax,mdmin,mdmax,mtmin,mtmax,m3min,m3max,m4min,m4max

!-- Modification Jan 2026 by A. Lewis
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think you can remove the modification comments (begin and end)

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

they've all been removed

!-- adding variables to hold the library and version
integer::nlib,lrel,nver
!-- end of Jan 2026 modification

! record parameters for Type-2 binary files
integer::ner,nbw

Expand Down Expand Up @@ -152,6 +157,11 @@ subroutine acetop(nendf,npend,ngend,nace,ndir,iprint,itype,mcnpx,&
call repoz(nendf)
call tpidio(nendf,0,0,b,nb,nw)
call contio(nendf,0,0,b,nb,nw)
!-- Modification Jan 2026 by A. Lewis
!-- get library
nlib = n1h
!-- end of Jan 2026 edit

call contio(nendf,0,0,b,nb,nw)
if (n1h.ne.0) then
iverf=4
Expand All @@ -162,6 +172,13 @@ subroutine acetop(nendf,npend,ngend,nace,ndir,iprint,itype,mcnpx,&
endif
write(nsyso,'(/'' using endf-'',i1,'' format'')') iverf

!-- Modification Jan 2026 by A. Lewis
!-- get library release
call contio(nendf,0,0,b,nb,nw)
lrel = l1h
nver=n2h
!-- end of Jan 2026 edit

!--assign scratch files
mscr=10
mscr=iabs(mscr)
Expand Down Expand Up @@ -8669,6 +8686,23 @@ subroutine acelpp(next,matd,ngmt,nin)
'reset to 1.e-5 eV')
ep=1.e-5_kr
endif
!-- Modification Jan 2026 A. Lewis
!-- ENDF-8.1 formats primary gamma energy as the outgoing
!-- energy at each incident energy. JENDL (and JEFF) format
!-- them as the binding energy. NJOY expects the binding
!-- energy so this logic changes the value if the evaluation
!-- is from ENDF-8.1. This will hopefully be resolved before
!-- the next ENDF release.
if (law.eq.1.and.ep.lt.zero) then
if (nlib.eq.0.and.nver.eq.8.and.lrel.eq.1) then
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe add a warning for the user to check the format to be sure it is done correctly for non-ENDF evaluations?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I added a message in the else block that the gammas are assumed to follow the JENDL format

!-- convert to the (negated) binding energy value
ep=ep+ei*awr/(awr+1)
call mess('acelpp',&
'Handling ENDF-8.1 discrete primary gamma ',&
'format by converting to JENDL format')
endif
endif
!-- end of Jan 2026 modification
if (law.eq.2) ep=ep-awr*ei/(awr+1)
dise(ki)=ep
if (ki.gt.1) then
Expand All @@ -8691,6 +8725,20 @@ subroutine acelpp(next,matd,ngmt,nin)
'reset to 1.e-5 eV')
ep=1.e-5_kr
endif
!-- Modification Jan 2026 A. Lewis
!-- ENDF-8.1 formats primary gamma energy as the outgoing
!-- energy at each incident energy. JENDL (and JEFF) format
!-- them as the binding energy. NJOY expects the binding
!-- energy so this logic changes the value if the evaluation
!-- is from ENDF-8.1. This will hopefully be resolved before
!-- the next ENDF release
if (law.eq.1.and.ep.lt.zero) then
if (nlib.eq.0.and.nver.eq.8.and.lrel.eq.1) then
!-- convert to the (negated) binding energy value
ep=ep+ei*awr/(awr+1)
endif
endif
!-- end of Jan 2026 modification
if (law.eq.2) ep=ep-awr*ei/(awr+1)
if (ki.gt.1.) then
if (ep.eq.scr(5+2*(ki-1)))&
Expand All @@ -8703,7 +8751,7 @@ subroutine acelpp(next,matd,ngmt,nin)
!--found a new discrete energy. insert it into
!--the existing dise array, making sure to
!--maintain a highest to lowest energy order.
if (abs(scr(5+2*ki)).gt.abs(dise(1))) then
if (abs(ep).gt.abs(dise(1))) then
do m=nd0,1,-1
dise(m+1)=dise(m)
enddo
Expand Down Expand Up @@ -8827,8 +8875,17 @@ subroutine acelpp(next,matd,ngmt,nin)
!--photon.
if (nd0.ne.0.and.nd.eq.nd0) then
do nn=1,nd
if (law.eq.1.and.scr(5+2*nn).lt.zero)&
scr(5+2*nn)=-scr(5+2*nn)+ei*awr/(awr+1)
if (law.eq.1.and.scr(5+2*nn).lt.zero) then
!-- Modification Jan 2026 A. Lewis
!-- if ENDF8.1, don't need to convert to gamma energy
!-- from binding energy - just negate
if (nlib.eq.0.and.nver.eq.8.and.lrel.eq.1) then
scr(5+2*nn)=-scr(5+2*nn)
else
scr(5+2*nn)=-scr(5+2*nn)+ei*awr/(awr+1)
endif
!-- end of Jan 2026 modification
endif
enddo
elseif (nd0.ne.0.and.nd.ne.nd0) then
!--if nd=0 then must insert all discrete photons
Expand Down Expand Up @@ -8865,7 +8922,17 @@ subroutine acelpp(next,matd,ngmt,nin)
!--to account for the incident neutron energy.
do m=nd0,1,-1
ep=dise(m)
if (law.eq.1.and.ep.lt.zero)ep=-ep+ei*awr/(awr+1)
if (law.eq.1.and.ep.lt.zero) then
!-- Modification Jan 2026 A. Lewis
!-- if ENDF8.1, don't need to convert to gamma energy
!-- from binding energy - just negate
if (nlib.eq.0.and.nver.eq.8.and.lrel.eq.1) then
ep=-ep
else
ep=-ep+ei*awr/(awr+1)
endif
! end of Jan 2026 modification
endif
if (law.eq.2)ep=ep+ei*awr/(awr+1)
scr(5+2*m)=ep
scr(6+2*m)=zero
Expand Down
12 changes: 12 additions & 0 deletions tests/87/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}/referenceTape41"
"${CMAKE_CURRENT_BINARY_DIR}/referenceTape41" COPYONLY )

configure_file("${RESOURCES}/n-078_Pt_190-ENDF8.1.endf"
"${CMAKE_CURRENT_BINARY_DIR}/tape20" COPYONLY )

add_test( NAME "Test87"
COMMAND ${Python3_EXECUTABLE} "../execute.py"
WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}" )
31 changes: 31 additions & 0 deletions tests/87/input
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
-- n-078_Pt_190_converted ACE file
moder
20 -21
reconr
-21 -22/
'reconr/pendf tape for ENDF81 Pt190'/
7825 0/
.001/
0 /
broadr
-21 -22 -23/
7825 1 0 0/
.001/
293.6/
0/
purr
-21 -23 -24/
7825 1 1 20 4 1 2/
293.6 /
1.e10 /
0/
moder
-24 34
acer
-21 -24 0 41 42
1 0 1 .10 /
'fast acer tape for n-078_Pt_190_converted' /
7825 293.6 /
/
/
stop
Loading
Loading