Skip to content

Commit

Permalink
Merge pull request #67 from njoy/feature/acer-endf8
Browse files Browse the repository at this point in the history
Feature/acer endf8
  • Loading branch information
jlconlin authored Feb 6, 2018
2 parents e4ea13f + 438620f commit aafd3e3
Show file tree
Hide file tree
Showing 3 changed files with 160 additions and 137 deletions.
272 changes: 140 additions & 132 deletions src/aceth.f90
Original file line number Diff line number Diff line change
Expand Up @@ -1554,40 +1554,42 @@ subroutine tplots(nout,hk)
loc=loc+nang+3
enddo
enddo
zmin=zmax/1000
call ascll(zmin,zmax)
write(nout,'(''1'',i3,''/'')') iwcol
write(nout,'(a,''<'',a,''>'',a,''/'')') qu,hk(1:it),qu
write(nout,'(a,''thermal inelastic'',a,''/'')') qu,qu
write(nout,'(''-4 2/'')')
write(nout,'(1p,3e12.3,''/'')') xmin,xmax,1.
write(nout,'(a,''<s>ec. <e>nergy'',a,''/'')') qu,qu
write(nout,'(1p,3e12.3,''/'')') ymin,ymax,1.
write(nout,'(a,''<e>nergy (<m>e<v>)'',a,''/'')') qu,qu
write(nout,'(1p,3e12.3,''/'')') zmin,zmax,1.
write(nout,'(a,''<p>rob/<m>e<v>'',a,''/'')') qu,qu
write(nout,'(''/'')')
write(nout,'(''10 -15 15 3.5 5.5 2.5/'')')
write(nout,'(''1/'')')
loc=itxe-1
loc=loc+2*nie
do ie=1,nie
e=xss(itie+ie)
if (e.ge.ymin.and.e.le.ymax) write(nout,'(1p,e14.6,''/'')') e
nbini=nint(xss(itxe-1+nie+ie))
do j=1,nbini
ep=xss(loc+1)
p=xss(loc+2)
if (p.lt.zmin) p=zmin
if (e.ge.ymin.and.e.le.ymax.and.&
ep.gt.xmin.and.ep.le.xmax) then
write(nout,'(1p,2e14.6,''/'')') ep,p
endif
loc=loc+nang+3
if (zmax.gt.zero) then
zmin=zmax/1000
call ascll(zmin,zmax)
write(nout,'(''1'',i3,''/'')') iwcol
write(nout,'(a,''<'',a,''>'',a,''/'')') qu,hk(1:it),qu
write(nout,'(a,''thermal inelastic'',a,''/'')') qu,qu
write(nout,'(''-4 2/'')')
write(nout,'(1p,3e12.3,''/'')') xmin,xmax,1.
write(nout,'(a,''<s>ec. <e>nergy'',a,''/'')') qu,qu
write(nout,'(1p,3e12.3,''/'')') ymin,ymax,1.
write(nout,'(a,''<e>nergy (<m>e<v>)'',a,''/'')') qu,qu
write(nout,'(1p,3e12.3,''/'')') zmin,zmax,1.
write(nout,'(a,''<p>rob/<m>e<v>'',a,''/'')') qu,qu
write(nout,'(''/'')')
write(nout,'(''10 -15 15 3.5 5.5 2.5/'')')
write(nout,'(''1/'')')
loc=itxe-1
loc=loc+2*nie
do ie=1,nie
e=xss(itie+ie)
if (e.ge.ymin.and.e.le.ymax) write(nout,'(1p,e14.6,''/'')') e
nbini=nint(xss(itxe-1+nie+ie))
do j=1,nbini
ep=xss(loc+1)
p=xss(loc+2)
if (p.lt.zmin) p=zmin
if (e.ge.ymin.and.e.le.ymax.and.&
ep.gt.xmin.and.ep.le.xmax) then
write(nout,'(1p,2e14.6,''/'')') ep,p
endif
loc=loc+nang+3
enddo
if (e.ge.ymin.and.e.le.ymax) write(nout,'(''/'')')
enddo
if (e.ge.ymin.and.e.le.ymax) write(nout,'(''/'')')
enddo
write(nout,'(''/'')')
write(nout,'(''/'')')
endif

! plot energy distributions for middle incident energies
nang=nil-1
Expand All @@ -1614,40 +1616,42 @@ subroutine tplots(nout,hk)
loc=loc+nang+3
enddo
enddo
zmin=zmax/500
call ascll(zmin,zmax)
write(nout,'(''1'',i3,''/'')') iwcol
write(nout,'(a,''<'',a,''>'',a,''/'')') qu,hk(1:it),qu
write(nout,'(a,''thermal inelastic'',a,''/'')') qu,qu
write(nout,'(''-4 2/'')')
write(nout,'(1p,3e12.3,''/'')') xmin,xmax,1.
write(nout,'(a,''<s>ec. <e>nergy'',a,''/'')') qu,qu
write(nout,'(1p,3e12.3,''/'')') ymin,ymax,1.
write(nout,'(a,''<e>nergy (<m>e<v>)'',a,''/'')') qu,qu
write(nout,'(1p,3e12.3,''/'')') zmin,zmax,1.
write(nout,'(a,''<p>rob/<m>e<v>'',a,''/'')') qu,qu
write(nout,'(''/'')')
write(nout,'(''10 -15 15 3.5 5.5 2.5/'')')
write(nout,'(''1/'')')
loc=itxe-1
loc=loc+2*nie
do ie=1,nie
e=xss(itie+ie)
if (e.ge.ymin.and.e.le.ymax) write(nout,'(1p,e14.6,''/'')') e
nbini=nint(xss(itxe-1+nie+ie))
do j=1,nbini
ep=xss(loc+1)
p=xss(loc+2)
if (p.lt.zmin) p=zmin
if (e.ge.ymin.and.e.le.ymax.and.&
ep.gt.xmin.and.ep.le.xmax) then
write(nout,'(1p,2e14.6,''/'')') ep,p
endif
loc=loc+nang+3
if (zmax.gt.zero) then
zmin=zmax/500
call ascll(zmin,zmax)
write(nout,'(''1'',i3,''/'')') iwcol
write(nout,'(a,''<'',a,''>'',a,''/'')') qu,hk(1:it),qu
write(nout,'(a,''thermal inelastic'',a,''/'')') qu,qu
write(nout,'(''-4 2/'')')
write(nout,'(1p,3e12.3,''/'')') xmin,xmax,1.
write(nout,'(a,''<s>ec. <e>nergy'',a,''/'')') qu,qu
write(nout,'(1p,3e12.3,''/'')') ymin,ymax,1.
write(nout,'(a,''<e>nergy (<m>e<v>)'',a,''/'')') qu,qu
write(nout,'(1p,3e12.3,''/'')') zmin,zmax,1.
write(nout,'(a,''<p>rob/<m>e<v>'',a,''/'')') qu,qu
write(nout,'(''/'')')
write(nout,'(''10 -15 15 3.5 5.5 2.5/'')')
write(nout,'(''1/'')')
loc=itxe-1
loc=loc+2*nie
do ie=1,nie
e=xss(itie+ie)
if (e.ge.ymin.and.e.le.ymax) write(nout,'(1p,e14.6,''/'')') e
nbini=nint(xss(itxe-1+nie+ie))
do j=1,nbini
ep=xss(loc+1)
p=xss(loc+2)
if (p.lt.zmin) p=zmin
if (e.ge.ymin.and.e.le.ymax.and.&
ep.gt.xmin.and.ep.le.xmax) then
write(nout,'(1p,2e14.6,''/'')') ep,p
endif
loc=loc+nang+3
enddo
if (e.ge.ymin.and.e.le.ymax) write(nout,'(''/'')')
enddo
if (e.ge.ymin.and.e.le.ymax) write(nout,'(''/'')')
enddo
write(nout,'(''/'')')
write(nout,'(''/'')')
endif

! plot energy distributions for higher incident energies
nang=nil-1
Expand All @@ -1673,40 +1677,42 @@ subroutine tplots(nout,hk)
loc=loc+nang+3
enddo
enddo
zmin=zmax/500
call ascll(zmin,zmax)
write(nout,'(''1'',i3,''/'')') iwcol
write(nout,'(a,''<'',a,''>'',a,''/'')') qu,hk(1:it),qu
write(nout,'(a,''thermal inelastic'',a,''/'')') qu,qu
write(nout,'(''-4 2/'')')
write(nout,'(1p,3e12.3,''/'')') xmin,xmax,1.
write(nout,'(a,''<s>ec. <e>nergy'',a,''/'')') qu,qu
write(nout,'(1p,3e12.3,''/'')') ymin,ymax,1.
write(nout,'(a,''<e>nergy (<m>e<v>)'',a,''/'')') qu,qu
write(nout,'(1p,3e12.3,''/'')') zmin,zmax,1.
write(nout,'(a,''<p>rob/<m>e<v>'',a,''/'')') qu,qu
write(nout,'(''/'')')
write(nout,'(''10 -15 15 3.5 5.5 2.5/'')')
write(nout,'(''1/'')')
loc=itxe-1
loc=loc+2*nie
do ie=1,nie
e=xss(itie+ie)
if (e.ge.ymin.and.e.le.ymax) write(nout,'(1p,e14.6,''/'')') e
nbini=nint(xss(itxe-1+nie+ie))
do j=1,nbini
ep=xss(loc+1)
p=xss(loc+2)
if (p.lt.zmin) p=zmin
if (e.ge.ymin.and.e.le.ymax.and.&
ep.gt.xmin.and.ep.le.xmax) then
write(nout,'(1p,2e14.6,''/'')') ep,p
endif
loc=loc+nang+3
if (zmax.gt.zero) then
zmin=zmax/500
call ascll(zmin,zmax)
write(nout,'(''1'',i3,''/'')') iwcol
write(nout,'(a,''<'',a,''>'',a,''/'')') qu,hk(1:it),qu
write(nout,'(a,''thermal inelastic'',a,''/'')') qu,qu
write(nout,'(''-4 2/'')')
write(nout,'(1p,3e12.3,''/'')') xmin,xmax,1.
write(nout,'(a,''<s>ec. <e>nergy'',a,''/'')') qu,qu
write(nout,'(1p,3e12.3,''/'')') ymin,ymax,1.
write(nout,'(a,''<e>nergy (<m>e<v>)'',a,''/'')') qu,qu
write(nout,'(1p,3e12.3,''/'')') zmin,zmax,1.
write(nout,'(a,''<p>rob/<m>e<v>'',a,''/'')') qu,qu
write(nout,'(''/'')')
write(nout,'(''10 -15 15 3.5 5.5 2.5/'')')
write(nout,'(''1/'')')
loc=itxe-1
loc=loc+2*nie
do ie=1,nie
e=xss(itie+ie)
if (e.ge.ymin.and.e.le.ymax) write(nout,'(1p,e14.6,''/'')') e
nbini=nint(xss(itxe-1+nie+ie))
do j=1,nbini
ep=xss(loc+1)
p=xss(loc+2)
if (p.lt.zmin) p=zmin
if (e.ge.ymin.and.e.le.ymax.and.&
ep.gt.xmin.and.ep.le.xmax) then
write(nout,'(1p,2e14.6,''/'')') ep,p
endif
loc=loc+nang+3
enddo
if (e.ge.ymin.and.e.le.ymax) write(nout,'(''/'')')
enddo
if (e.ge.ymin.and.e.le.ymax) write(nout,'(''/'')')
enddo
write(nout,'(''/'')')
write(nout,'(''/'')')
endif

! plot energy distributions for highest incident energies
nang=nil-1
Expand All @@ -1732,40 +1738,42 @@ subroutine tplots(nout,hk)
loc=loc+nang+3
enddo
enddo
zmin=zmax/500
call ascll(zmin,zmax)
write(nout,'(''1'',i3,''/'')') iwcol
write(nout,'(a,''<'',a,''>'',a,''/'')') qu,hk(1:it),qu
write(nout,'(a,''thermal inelastic'',a,''/'')') qu,qu
write(nout,'(''-4 2/'')')
write(nout,'(1p,3e12.3,''/'')') xmin,xmax,1.
write(nout,'(a,''<s>ec. <e>nergy'',a,''/'')') qu,qu
write(nout,'(1p,3e12.3,''/'')') ymin,ymax,1.
write(nout,'(a,''<e>nergy (<m>e<v>)'',a,''/'')') qu,qu
write(nout,'(1p,3e12.3,''/'')') zmin,zmax,1.
write(nout,'(a,''<p>rob/<m>e<v>'',a,''/'')') qu,qu
write(nout,'(''/'')')
write(nout,'(''10 -15 15 3.5 5.5 2.5/'')')
write(nout,'(''1/'')')
loc=itxe-1
loc=loc+2*nie
do ie=1,nie
e=xss(itie+ie)
if (e.ge.ymin.and.e.le.ymax) write(nout,'(1p,e14.6,''/'')') e
nbini=nint(xss(itxe-1+nie+ie))
do j=1,nbini
ep=xss(loc+1)
p=xss(loc+2)
if (p.lt.zmin) p=zmin
if (e.ge.ymin.and.e.le.ymax.and.&
ep.gt.xmin.and.ep.le.xmax) then
write(nout,'(1p,2e14.6,''/'')') ep,p
endif
loc=loc+nang+3
if (zmax.gt.zero) then
zmin=zmax/500
call ascll(zmin,zmax)
write(nout,'(''1'',i3,''/'')') iwcol
write(nout,'(a,''<'',a,''>'',a,''/'')') qu,hk(1:it),qu
write(nout,'(a,''thermal inelastic'',a,''/'')') qu,qu
write(nout,'(''-4 2/'')')
write(nout,'(1p,3e12.3,''/'')') xmin,xmax,1.
write(nout,'(a,''<s>ec. <e>nergy'',a,''/'')') qu,qu
write(nout,'(1p,3e12.3,''/'')') ymin,ymax,1.
write(nout,'(a,''<e>nergy (<m>e<v>)'',a,''/'')') qu,qu
write(nout,'(1p,3e12.3,''/'')') zmin,zmax,1.
write(nout,'(a,''<p>rob/<m>e<v>'',a,''/'')') qu,qu
write(nout,'(''/'')')
write(nout,'(''10 -15 15 3.5 5.5 2.5/'')')
write(nout,'(''1/'')')
loc=itxe-1
loc=loc+2*nie
do ie=1,nie
e=xss(itie+ie)
if (e.ge.ymin.and.e.le.ymax) write(nout,'(1p,e14.6,''/'')') e
nbini=nint(xss(itxe-1+nie+ie))
do j=1,nbini
ep=xss(loc+1)
p=xss(loc+2)
if (p.lt.zmin) p=zmin
if (e.ge.ymin.and.e.le.ymax.and.&
ep.gt.xmin.and.ep.le.xmax) then
write(nout,'(1p,2e14.6,''/'')') ep,p
endif
loc=loc+nang+3
enddo
if (e.ge.ymin.and.e.le.ymax) write(nout,'(''/'')')
enddo
if (e.ge.ymin.and.e.le.ymax) write(nout,'(''/'')')
enddo
write(nout,'(''/'')')
write(nout,'(''/'')')
endif

! plot angle-energy distribution for several incident energies
ie=19
Expand Down
21 changes: 18 additions & 3 deletions src/thermr.f90
Original file line number Diff line number Diff line change
Expand Up @@ -1792,11 +1792,11 @@ subroutine calcem(temp,itemp,iold,inew,ne,nex)

!--use free-gas s(alpha,beta).
200 continue
! the beta grid is fixed to 30 beta values (previously only the first 9)
! following an issue with Fe56 from ENDF/B-VIII.0b7 - a better solution
! the beta grid is fixed to 45 beta values (previously only the first 9)
! following an issue with Fe56 and H1 from ENDF/B-VIII.0 - a better solution
! would be to contruct the grid adaptatively based on emax and tempr
nalpha=1
nbeta=30
nbeta=45
allocate(alpha(nalpha))
allocate(beta(nbeta))
allocate(sab(nalpha,nbeta))
Expand Down Expand Up @@ -1830,6 +1830,21 @@ subroutine calcem(temp,itemp,iold,inew,ne,nex)
beta(28)=300
beta(29)=350
beta(30)=400
beta(31)=500
beta(32)=600
beta(33)=700
beta(34)=800
beta(35)=900
beta(36)=1000
beta(37)=1250
beta(38)=1500
beta(39)=1750
beta(40)=2000
beta(41)=2250
beta(42)=2500
beta(43)=2750
beta(44)=3000
beta(45)=3500
t=temp
smz=1
sb=smz*((az+1)/az)**2
Expand Down
4 changes: 2 additions & 2 deletions src/vers.f90
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ module version
! These values are updated during the NJOY revision-control process.
implicit none
private
character(8),public::vers='2016.26'
character(8),public::vday='31Jan18'
character(8),public::vers='2016.27'
character(8),public::vday='06Feb18'
end module version

0 comments on commit aafd3e3

Please sign in to comment.