Skip to content

Commit

Permalink
Updating ...
Browse files Browse the repository at this point in the history
  • Loading branch information
whaeck committed Apr 19, 2024
2 parents c96ce90 + 18ecc1e commit e7f5f61
Show file tree
Hide file tree
Showing 78 changed files with 377,794 additions and 98 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/ContinuousIntegration.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ jobs:
run: |
which ${{matrix.vFortran}}
${{matrix.vFortran}} --version
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: mkdir bin
run: mkdir bin
- name: cmake
Expand Down
6 changes: 6 additions & 0 deletions ReleaseNotes.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,12 @@ Given here are some release notes for NJOY2016. Each release is made through a f
This update fixes the following issues:
- Corrected a typo in the gateff subroutine in thermr (changed 1220 into 1200, see issue #76)

In addition, this update made added the following features and changes:
- A small change to the NXS array for continuous energy and photonuclear ACE files (iopt = 1 and 5): in both cases, the isomeric state S, atom number Z and mass number A are now stored in NXS(9), NXS(10) and NXS(11) respectively.
- A new input option for acer was introduced for setting the zaid identifier of the continuous energy and photonuclear ACE files (iopt = 1 and 5):
- use za in the zaid regardless of the metastable state of the nuclide (default, this is how NJOY has always worked)
- use the metastable zaid rules (MCNP 6.3 or lower) in which we use za for ground state nuclides and use za + 300 + s * 100 for metastable nuclides (Am242 and Am242m are exceptions to this rule, for these we use 95642 and 95242 respectively)

## [NJOY2016.74](https://github.com/njoy/NJOY2016/pull/327)
This update fixes the following issues:
- Correct the Euler-Mascheroni constant (this has an influence on the Coulomb wave functions and therefore influences LRF=7 evaluations that have charged particle channels)
Expand Down
30 changes: 30 additions & 0 deletions docs/testDescription.md
Original file line number Diff line number Diff line change
Expand Up @@ -381,3 +381,33 @@ Tests 75 was added to track an issue found in ACER when multiple temperatures we
[[input](https://raw.githubusercontent.com/njoy/NJOY2016/master/tests/76/input)]

Tests 76 was added to track a few CCCCR issues. Unfortunately, these issues were related to a binary file so we cannot verify the content of the file just yet. At the very least, we now have a test to verify if CCCCR actually runs (there was previously a crash on this input).

## Test Problem 78

[[input](https://raw.githubusercontent.com/njoy/NJOY2016/master/tests/78/input)]

Tests 78 was added to track an ACER issue for heating numbers in photonuclear file. When calculating heating numbers based on ENDF LAW=2, ACER assumed that the yield of the secondary particle is always 1, which is correct in all cases except when MT5 is used as a lumped reaction.

## Test Problem 79

[[input](https://raw.githubusercontent.com/njoy/NJOY2016/master/tests/79/input)]

Tests 79 was added to track an issue in HEATR when calculating the average outgoing energy from a distribution that uses multiple interpolation ranges in TAB1 records. Mainly nuclides using MF5 instead of MF6 are impacted by this change (e.g. Sn119 and Sn122 from ENDF/B-VIII.0).

## Test Problem 80

[[input](https://raw.githubusercontent.com/njoy/NJOY2016/master/tests/80/input)]

Tests 80 was added to track an issue in LEAPR that caused an inifite loop to occur when the beta grid contains very small values.

## Test Problem 81

[[input](https://raw.githubusercontent.com/njoy/NJOY2016/master/tests/81/input)]

Tests 81 was added as a test for background R-matrix elements that were added to the ENDF/B-VIII.1 Sr88 evaluation.

## Test Problem 82

[[input](https://raw.githubusercontent.com/njoy/NJOY2016/master/tests/82/input)]

Tests 82 was added to track the new ZAID options in ACER added in NJOY2016.75.
70 changes: 44 additions & 26 deletions src/acefc.f90
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ module acefc
real(kr)::aw0,tz

! parameters for continuous nxs block
integer::len2,izaid,nes,ntr,nr,ntrp,ntype,ndnf,nxsd(8)
integer::len2,izaid,nes,ntr,nr,ntrp,ntype,ndnf,is,iz,ia,nxsd(5)

! parameters for continuous jxs block
integer::esz,nu,mtr,lqr,tyr,lsig,sig,land,and,ldlw,dlw,&
Expand Down Expand Up @@ -85,7 +85,7 @@ module acefc
contains

subroutine acetop(nendf,npend,ngend,nace,ndir,iprint,itype,mcnpx,&
suff,hk,izn,awn,matd,tempd,newfor,iopp,ismooth,thin)
suff,hk,izn,awn,matd,tempd,newfor,iopp,ismooth,thin,izaoption)
!--------------------------------------------------------------------
! Prepare an ACE fast continuous file.
!--------------------------------------------------------------------
Expand All @@ -94,7 +94,7 @@ subroutine acetop(nendf,npend,ngend,nace,ndir,iprint,itype,mcnpx,&
use endf ! provides endf routines and variables
! externals
integer::nendf,npend,ngend,nace,ndir,iprint,itype,matd,newfor,iopp,ismooth,i
integer::mcnpx
integer::mcnpx,izaoption
real(kr)::suff
character(70)::hk
integer::izn(16)
Expand Down Expand Up @@ -205,7 +205,7 @@ subroutine acetop(nendf,npend,ngend,nace,ndir,iprint,itype,mcnpx,&
call atend(mscr,0)

!--load ace data into memory.
call acelod(mscr,suff,matd,tempd,newfor,mcnpx,ismooth)
call acelod(mscr,suff,matd,tempd,newfor,mcnpx,ismooth,izaoption)

!--print ace file.
if (iprint.gt.0) call aceprt(hk)
Expand Down Expand Up @@ -286,17 +286,25 @@ subroutine first(nendf,npend,nout,nethr,itab,matd,tempd,newfor,iopp)
call contio(npend,0,0,scr,nb,nw)
if (math.ne.matd)&
call error('first','desired temperature not found.',' ')
za=scr(1)
za=nint(za)
za=nint(scr(1))
awr=scr(2)
nxp=n2h
jscr=7
if (iverf.ge.5) call contio(npend,0,0,scr(jscr),nb,nw)
if (iverf.ge.5) jscr=jscr+6
if (iverf.eq.6) call contio(npend,0,0,scr(jscr),nb,nw)
if (iverf.eq.6) jscr=jscr+6
is=0
if (iverf.ge.5) then
call contio(npend,0,0,scr(jscr),nb,nw)
jscr=jscr+6
is=nint(scr(10)) ! endf-5 and endf-6 both store liso
endif
if (iverf.eq.6) then
call contio(npend,0,0,scr(jscr),nb,nw)
jscr=jscr+6
endif
awi=1
izai=1
izaid=nint(scr(1))
ia=mod(izaid,1000)
iz=(izaid-ia)/1000
if (iverf.eq.6) then
awi=scr(13)
nlib=nint(scr(17))
Expand Down Expand Up @@ -4879,7 +4887,7 @@ subroutine gamout(ngend,nendf,nout,nf12c,matd)
return
end subroutine gamout

subroutine acelod(nin,suff,matd,tempd,newfor,mcnpx,ismooth)
subroutine acelod(nin,suff,matd,tempd,newfor,mcnpx,ismooth,izaoption)
!-------------------------------------------------------------------
! Load data in ace format from the input file.
!-------------------------------------------------------------------
Expand All @@ -4888,7 +4896,7 @@ subroutine acelod(nin,suff,matd,tempd,newfor,mcnpx,ismooth)
use util ! repoz,dater,error,skiprz,sigfig
use endf ! provides endf routines and variables
! externals
integer::nin,matd,newfor,mcnpx,ismooth
integer::nin,matd,newfor,mcnpx,ismooth,izaoption
real(kr)::suff,tempd
! internals
integer::nwscr,nnu,nnup,kfis,mtnr,mtntr,i,nnud,nnf
Expand Down Expand Up @@ -4918,18 +4926,28 @@ subroutine acelod(nin,suff,matd,tempd,newfor,mcnpx,ismooth)
nnex=0
nwscr=1000000
allocate(scr(nwscr))
do i=1,8
do i=1,5
nxsd(i)=0
enddo
do i=1,2
jxsd(i)=0
enddo
call repoz(nin)
iza=nint(za)
iza=izaid
aw0=awr
write(hm,'('' mat'',i4)') matd
tz=tempd*bk/emev
zaid=iza+suff
zaid=izaid+suff
if (izaoption.eq.1.and.is.gt.0) then
zaid=izaid+300+100*is+suff
endif
if (izaoption.eq.1.and.izaid.eq.95242) then
if (is.eq.0) then
zaid=izaid+400+suff
elseif (is.eq.1) then
zaid=izaid+suff
endif
endif
if (mcnpx.eq.0) then
if (izai.eq.1) then
write(hz,'(f9.2,''c'')') zaid
Expand Down Expand Up @@ -4968,7 +4986,6 @@ subroutine acelod(nin,suff,matd,tempd,newfor,mcnpx,ismooth)
endif
endif
ntrp=ntrpp
izaid=nint(za)
call dater(hdt)
hd=' '//hdt

Expand Down Expand Up @@ -11076,9 +11093,10 @@ subroutine aceprt(hk)
&6x,''* *'',9x,''ntrp'',i10/&
&6x,''* processed by *'',8x,''ntype'',i10/&
&6x,''* *'',9x,''ndnf'',i10/&
&6x,''* njoy *'',10x,''esz'',i10/&
&6x,''* *'',11x,''nu'',i10/&
&6x,''***********************'',10x,''mtr'',i10/&
&6x,''* njoy *'',12x,''z'',i10/&
&6x,''* *'',12x,''a'',i10/&
&6x,''***********************'',12x,''s'',i10/&
&39x,''esz'',i10/40x,''nu'',i10/39x,''mtr'',i10/&
&39x,''lqr'',i10/39x,''tyr'',i10/38x,''lsig'',i10/&
&39x,''sig'',i10/38x,''land'',i10/39x,''and'',i10/&
&38x,''ldlw'',i10//39x,''dlw'',i10/39x,''gpd'',i10/&
Expand All @@ -11089,7 +11107,7 @@ subroutine aceprt(hk)
&37x,''dndat'',i10/38x,''ldnd'',i10/39x,''dnd'',i10/&
&37x,''ptype'',i10/38x,''ntro'',i10/37x,''ploct'',i10///&
&6x,''hk---'',a70)')&
hz,aw0,tz,hd,hm,len2,nes,ntr,nr,ntrp,ntype,ndnf,esz,&
hz,aw0,tz,hd,hm,len2,nes,ntr,nr,ntrp,ntype,ndnf,iz,ia,is,esz,&
nu,mtr,lqr,tyr,lsig,sig,land,and,ldlw,dlw,gpd,mtrp,lsigp,&
sigp,landp,andp,ldlwp,dlwp,yp,fis,end,iurpt,nud,dndat,ldnd,&
dnd,ptype,ntro,ploct,hk
Expand Down Expand Up @@ -12938,7 +12956,7 @@ subroutine aceout(itype,nace,ndir,hk,izn,awn,mcnpx)
endif
write(nout,'(4(i7,f11.0))') (izn(i),awn(i),i=1,16)
write(nout,'(8i9)')&
len2,izaid,nes,ntr,nr,ntrp,ntype,ndnf,(nxsd(i),i=1,8),&
len2,izaid,nes,ntr,nr,ntrp,ntype,ndnf,is,iz,ia,(nxsd(i),i=1,5),&
esz,nu,mtr,lqr,tyr,lsig,sig,land,and,ldlw,dlw,&
gpd,mtrp,lsigp,sigp,landp,andp,ldlwp,dlwp,yp,fis,end,&
iurpt,nud,dndat,ldnd,dnd,(jxsd(i),i=1,2),ptype,ntro,ploct
Expand All @@ -12956,14 +12974,14 @@ subroutine aceout(itype,nace,ndir,hk,izn,awn,mcnpx)
if (mcnpx.eq.0) then
write(nout) hz(1:10),aw0,tz,hd,hk,hm,&
(izn(i),awn(i),i=1,16),&
len2,izaid,nes,ntr,nr,ntrp,ntype,ndnf,(nxsd(i),i=1,8),&
len2,izaid,nes,ntr,nr,ntrp,ntype,ndnf,is,iz,ia,(nxsd(i),i=1,5),&
esz,nu,mtr,lqr,tyr,lsig,sig,land,and,ldlw,dlw,&
gpd,mtrp,lsigp,sigp,landp,andp,ldlwp,dlwp,yp,fis,end,&
iurpt,nud,dndat,ldnd,dnd,(jxsd(i),i=1,2),ptype,ntro,ploct
else
write(nout) hz(1:13),aw0,tz,hd,hk,hm,&
(izn(i),awn(i),i=1,16),&
len2,izaid,nes,ntr,nr,ntrp,ntype,ndnf,(nxsd(i),i=1,8),&
len2,izaid,nes,ntr,nr,ntrp,ntype,ndnf,is,iz,ia,(nxsd(i),i=1,5),&
esz,nu,mtr,lqr,tyr,lsig,sig,land,and,ldlw,dlw,&
gpd,mtrp,lsigp,sigp,landp,andp,ldlwp,dlwp,yp,fis,end,&
iurpt,nud,dndat,ldnd,dnd,(jxsd(i),i=1,2),ptype,ntro,ploct
Expand Down Expand Up @@ -13926,7 +13944,7 @@ subroutine acefix(nin,itype,nout,ndir,iprint,nplot,suff,&
endif
read (nin,'(4(i7,f11.0))') (izo(i),awo(i),i=1,16)
read (nin,'(8i9)')&
len2,izaid,nes,ntr,nr,ntrp,ntype,ndnf,(nxsd(i),i=1,8),&
len2,izaid,nes,ntr,nr,ntrp,ntype,ndnf,is,iz,ia,(nxsd(i),i=1,5),&
esz,nu,mtr,lqr,tyr,lsig,sig,land,and,ldlw,dlw,&
gpd,mtrp,lsigp,sigp,landp,andp,ldlwp,dlwp,yp,fis,end,&
iurpt,nud,dndat,ldnd,dnd,(jxsd(i),i=1,2),ptype,ntro,ploct
Expand Down Expand Up @@ -14004,13 +14022,13 @@ subroutine acefix(nin,itype,nout,ndir,iprint,nplot,suff,&
else if (itype.eq.2) then
if (mcnpx.eq.0) then
read(nin) hz(1:10),aw0,tz,hd,hko,hm,(izo(i),awo(i),i=1,16),&
len2,izaid,nes,ntr,nr,ntrp,ntype,ndnf,(nxsd(i),i=1,8),&
len2,izaid,nes,ntr,nr,ntrp,ntype,ndnf,is,iz,ia,(nxsd(i),i=1,5),&
esz,nu,mtr,lqr,tyr,lsig,sig,land,and,ldlw,dlw,&
gpd,mtrp,lsigp,sigp,landp,andp,ldlwp,dlwp,yp,fis,end,&
iurpt,nud,dndat,ldnd,dnd,(jxsd(i),i=1,2),ptype,ntro,ploct
else
read(nin) hz(1:13),aw0,tz,hd,hko,hm,(izo(i),awo(i),i=1,16),&
len2,izaid,nes,ntr,nr,ntrp,ntype,ndnf,(nxsd(i),i=1,8),&
len2,izaid,nes,ntr,nr,ntrp,ntype,ndnf,is,iz,ia,(nxsd(i),i=1,5),&
esz,nu,mtr,lqr,tyr,lsig,sig,land,and,ldlw,dlw,&
gpd,mtrp,lsigp,sigp,landp,andp,ldlwp,dlwp,yp,fis,end,&
iurpt,nud,dndat,ldnd,dnd,(jxsd(i),i=1,2),ptype,ntro,ploct
Expand Down
Loading

0 comments on commit e7f5f61

Please sign in to comment.