Development of TALYS since beta release of TALYS-0.64 - December 5, 2004 ********** Release of TALYS-0.64 ********** - January 11, 2005 Start of development of TALYS-0.65 Added two keywords: "Cstrip" and "Cknock", to enable adjustment of complex-particle pre-equilibrium cross sections. Usage, e.g.: Cstrip d 1.3 Cknock a 0.8 Removed redundant line in output block of input parameters: " flag for coupling ..." January 27 2005 - Replaced formatted reading of OMP's by unformatted reading in omppar.f. This solves Thomas Nilsson's problem. February 26 2005 - Removed redundant declaration of istat in machine.f - Removed redundant label 204 in neck.f - Introduced loop 120 in multipreeq2.f (to remove any possible label ambiguity) and put two expressions outside this loop. - Removed 4 unused format statements from labsurface.f - Removed 4 unused format statements from fmin.f February 27 2005 - Added output to extra files in totalout.f: total cross sections (totalxs.tot), elastic cross sections (elastic.tot), and non-elastic cross sections (nonelastic.tot). Backward compatibility: the file total.tot remains as it is (results per column). - Introduced max() function for xsexclcont in totalxs.f to avoid small negative numbers for continuum exclusive cross section March 23 2005 Generalized matrix.f for complex particle emission by including mass of the projectile June 7 2005 Removed trailing blanks (column > 72) in sform.f Corrected indexing problem in output of direct angular distributions, in directout.f (problem discovered by Stepan Pomp). Initialized maxA=maxZ+maxN in reacinitial.f and removed this (redundant) in residual.f Added Cknock and Cstrip to parameter table writing in finalout.f Added keywords: "v1adjust", "v2adjust", etc., to enable adjustment of all optical model parameters. Usage, e.g.: rvdadjust n 1.05 vso1adjust a 0.8 For this, opticaln.f, opticalp.f, opticald.f, opticalt.f, opticalh.f, opticala.f, input5.f, checkkeyword.f and finalout.f were changed. June 17 2005 Initialized wemission and wemission2 arrays to zero in reacinitial.f. (failure to do so was probably harmless) Simplified calculation for natural targets. The output files are now extended with a string '.AAA' where AAA is the mass number of each isotope. This avoids creating directories (with SYSTEM calls) to store intermediate results. For this, the following subroutines were changed: constants.f, abundance.f, natural.f, totalout.f, channelsout.f, residualout.f, angleout.f, productionout.f. Calculations for natural targets are now machine-independent. Of course there are somewhat more output files in your working directory. June 21 2005 Introduced the null device file in machine.f, as suggested by Arnd Junghans and Michael Borchard. Various of the *ecis.f subroutines were called by a hardwired '/dev/null '. This is now defined once in machine.f. Windows users need to replace this string by 'NUL ' in machine.f. For maximal flexibility, the "nulldev" keyword is added as well. For this, input1.f was changed. On the advice of Michael Borchard, I introduced the "strucpath" keyword (also in input1.f) to enable to overrule the default path for nuclear structure. Calculations with various nuclear structure libraries can now easily be performed. The addition of the "nulldev" and "strucpath" keywords means that now TALYS could be distributed as a pre-compiled executable, if this is ever necessary (you never know...) Users that do not have access to the source code can then run the code but would always have to include the "strucpath" keyword in any input file. In addition, non-Unix/Linux users would always have to include the "nulldev" keyword in any input file. Under the current GNU GPL license, this is not relevant. June 22 2005 Introduced "pairmodel" keyword, to enable choice between pre-equilibrium pairing energy. The default is pairmodel 1, which is Fu's model as in TALYS-0.64. With pairmodel 2, the compound nucleus value is adopted. The latter is adjustable with the "pair" keyword. For this, preeqpair.f and subroutines calling preeqpair (emission*.f, lambda*.f) had to be slightly changed. Added pre-equilibrium pairing energy to the output of pre-equilibrium. (preeqout.f) June 29 2005 Repaired a serious error for pre-equilibrium reactions. The parameter wvol was initialized to 0. in reacinitial.f. Since this subroutine is called for every incident energy, preeqmode=3 (optical model based transition rates) produced zero or negligible pre-equilibrium cross sections. Others may not yet have encountered this problem since by default preeqmode=2 is used. The error is corrected by initializing wvol in strucinitial.f. July 7 2005 Various level density subroutines were revised, and the level density models have been reordered. In TALYS-0.64 the choices used to be: ldmodel 1: Gilbert and Cameron (or, Constant temperature) ldmodel 2: Gilbert and Cameron + collective enhancement ldmodel 3: tabulated microscopic level densities Now, there are the following possibilities ldmodel 1: Gilbert and Cameron (or, Constant temperature) ldmodel 2: Back-shifted Fermi gas model ldmodel 3: Superfluid model ldmodel 4: tabulated microscopic level densities plus an extra keyword, "colenhance", which can be used in combination with ldmodel 1-3 to enable or disable collective enhancement. For the Back-shifted Fermi gas model, a subroutine bsfgmodel.f was added. With the keyword "Pshift", the extra pairing shift of the Fermi Gas model can be adjusted. The default is set in densitypar.f. For the Superfluid model, densitypar was extended with some initializations and the subroutine superfluid.f was added. The calculation of the level density and the total level density is now performed in subroutines density.f and densitytot.f respectively. This change enabled an easier plotting of the total level density v.s. discrete levels in densityout.f. This can now be done for an arbitrary total level density model. The parameters of the BSFG and superfluid model have not yet been optimized, so that the quality of ldmodel 1 is superior at the moment. At the moment, this is the only example where TALYS is NOT backward compatible with TALYS-0.64. Users may want to check input files in which they specified the keyword "ldmodel". The default remains the same (ldmodel 1 with colenhance n), which IS backward compatible. July 20 2005 Added astroinit.f, stellarrate.f, partfunc.f, and astroout.f for the calculation of thermonuclear reaction rates for astrophysics. In the current implementation, only the ground state of the target nucleus is considered, i.e. there is not yet an averaging over all excited target states. The keyword "flagastro" was added. July 22 2005 Switched densitytable and densitymatch call in structure.f. The densityout subroutine has been extended to print the parameters for the back shifted Fermi gas and superfluid model. July 25 2005 Corrected a few errors for the recoil calculation: The elastic scattering contribution was added for the inelastic channel, in recoilout.f and an error for residual nuclides with only one accessible level was corrected. To spectraout.f and ddxout.f blocks were added to write the spectra and DDX in the LAB frame to separate files for ejectiles. July 26 2005 An error in the d0theory.f subroutine was corrected. This was harmless. July 27 2005 Generalized the description of the spin cutoff factor at low energies, to prevent discontinuities for level density models other than Gilbert-Cameron. Also added keyword "filedensity", to write level density results per nucleus to separate files. For this densityout.f had to be changed. Added the keyword "reaction", to disable the nuclear reaction calculation (if e.g. you only want a level density calculation). August 30 2005 Added keyword "pairconstant", for systematic pairing formula P = pairconstant /sqrt(A) By default pairconstant=12. Changed allowed upper value for alphald into 0.2 in checkvalue.f September 12 2005 Generalized level density subroutines to allow non-equiparity level densities, by adding parity to the calling variable list. Future tables by Goriely can now be included. Added option to use HFB and HFbcs gamma-ray strength functions The "strength" keyword for E1 radiation can now take on 1 (Kopecky-Uhl), 2 (Brink-Axel), 3 (HFBcs) and 4 (HFB) September 13 2005 Changed densitypar.f: if a value from a table or input is given for the level density parameter a, at the binding energy, the shell correction is now adjusted, instead of the damping gamma. September 15 2005 Added a new keyword "spincutmodel" for level density spin distributions. spincutmodel 1: s.c. ~ (a/ainf) sqrt (U/a) spincutmodel 2: s.c. ~ sqrt (U/a) For collective level densities and fission, spincutmodel 2 is always used. For the moment we keep spincutmodel 1 as the default for the ground state. September 16 2005 Rather crucial change in colenhance.f: explicit collective enhancement is not taken into account for the constant temperature part of Gilbert-Cameron. Up to now this was, incorrectly, the case. October 4 2005 Changed radius at bottom of deformpar.f from 1.25 to 1.2, in accordance with usual definition of moment of inertia. October 15 2005 Changed character specifications into character*90 in brosafy.f and massdis.f (advice of Emmeric Dupont) October 22 2005 Changed initialization of pairing energy to 1.e-20 MeV instead of 0 MeV. This means that a value of 0. for pair is now interpreted as a zero and not as a value that should be overwritten by a parameterization. The same was done for E0. November 3 2005 Repaired an error in exgrid.f, found by Arnd Junghans. In certain circumstances the Q-value was not properly calculated. This did not affect the cross section calculations but an erroneous value for the Q-value was printed in the output of residual production cross sections. An extra variable Exmax0 was introduced to fix this. More problematic was that the wrong Q-value also entered some of the ENDF-6 files (MT600++). November 19 2005 Changed label 200 in deformpar.f to close statement. The g95 compiler complained about ENDFILE error. November 28 2005 Repaired Z,A indexing error in massdis.f and brosafy.f December 4 2005 Added keywords "massmodel" and "expmass". With massmodel 1 (Moeller) and massmodel 2 (Duflo-Zuker) the theoretical nuclear mass model can be chosen. With the "expmass" keyword the use of experimental Audi-Wapstra values can be disabled. Subroutine masses.f was changed for this. December 8 2005 Added "shellmodel" keyword to choose between Myers-Swiatecki liquid drop expression (shellmodel1) and that of Goriely (shellmodel 2) December 8 2005 Repaired an error for optical model input files (E. Dupont): eomp and vomp are now generalized to include Zix,Nix values. January 17 2006 Bug in input5.f. Changed line 728 into do 500 i2=13,80 Now optmodfileP works again. February 1 2006 Changed character strings to 16 in residualout.f and natural.f. This was a bug for residual production for natural targets. February 7 2006 Included nucleon global actinide OMP by Soukhovitskii et al. This is used for Z > 90 when a local OMP is not available. February 21 2006 The default Cstrip(5)=4 was set to get a global good prediction of (n,h) cross sections, as suggested by Kopecky. February 24 2006 Added Hilaire-Goriely parity-dependent level densities, ldmodel=5. February 26 2006 Changed definition of c1table (which is now a simple energy shift) for microscopic level density March 5 2006 Added 1 blank character in first column of all write statements to standard output. This is standard Fortran and unfortunately some compilers exist that chomp the first character. March 15 2006 Revised and simplified the reading of input. Added the getkeywords subroutine which reads input lines. The input rules are now somewhat relaxed: It is no longer necessary that the keyword starts in the first column. March 29 2006 Added massmodel 3: Goriely HFB masses April 7 2006 Removed the "colldamp" keyword, with which a could be explicitly damped to A/13 in an effective level density model. This is now more consistently covered in explicit collective level density models. Also removed the possibility to do fission calculations with an effective level density model, i.e. without collective enhancement. The associated subroutines are now much more readable, while this was an unsatisfactory way to calculate fission. May 10 2006 Generalized pairing shift: added fission barrier as extra degree of freedom to perform adjustments of pairing energy on top of barriers. June 13 2006 Added astrotarget.f and astroprepare.f. Now there is a loop over excited target states for an astrophysical calculation. June 21 2006 Added element number Z=110 (Ds) to TALYS and associated codes July 7 2006 Added keyword "massnucleus" to enable user input of the nuclear mass in amu. Added keyword "massexcess" to enable user input of the mass excess in MeV. July 10 2006 Internal release of TALYS-0.68 July 10 2006 Repaired output error in incidentout.f (harmless) Corrected Ztarget index to Zixtarget in astrotarget.f July 12 2006 Changed character definition of xsfile and fisfile in channelsout.f and productionout.f Corrected a few read ambiguities for filenames in input5.f (read * format changed into direct definition of strings). Changed flagsys to false for all particles. By default the complex particle OMPs are used for reaction cross sections and transmission coefficients, i.e. no renormalization with Tripathi systematics. Implemented Pascal Romain's corrections for reading of transmission coefficient files in incidentread.f and inverseread.f July 28 2006 Surprising results from the NAGware compiler: the default option is that Fortran is case sensitive!. Anyway, for cosmetic reasons, a few subroutines were modified so that uppercases and lowercases (e.g Einc vs. einc) are not mixed. August 9 2006 Complaint from Absoft compiler: more than 20 continuation lines. This occurred a few times in talys.cmb and is, indeed, not standard Fortran. Corrected. August 15 2006 Changed from ECIS-97 to ECIS-03. This changed about 10 subroutines: incidentecis.f, ....., and incidentread.f,..... Especially the reading of subroutines inverseread.f, etc. has been drastically simplified. August 16 2006 Removed error for axially symmetric nuclides in colenhance (P. Romain) October 16 2006 Replaced all $ characters in write continuation statements by double quotes (more portable) October 20 2006 Introduced keyword endfdetail for more ENDF-6 flexibility December 7 2006 Removed astrophysical subroutines from TALYS-0.72 beta release. They will be included in the 1.0 release. December 10 2006 Included latest complex particle pre-equilibrium model by Kalbach, including adjustments by Vivian Demetriou. December 22 2006 ********** Release of TALYS-0.72 ********** December 23 2006 Re-introduced astrophysical subroutines January 10 2007 Included simple break-up model by Kalbach. Extra break-up contribution is added for (d,n) and (d,p) reactions. February 6 2007 Division by level density in hrtw.f and goe.f (for astrophysics) March 9 2007 The bins in lambdapiplus.f, etc. are a bit enlarged for multiple pre-equilibrium emission. This speeds up the calculation whereas the differences are negligible. March 20 Surendra Babu reported a problem on alpha inelastic scattering that has been solved in preeqcomplex.f: One term of Kalbach's formula can get too small. March 21 Implemented the possibility to read in a population distribution for the target nucleus, i.e. to start with an excited energy population instead of a projectile + target. May 1 2007 Bug in ddxout.f found by Stephan Pomp. The output files in the LAB frame contain zeroes only, whereas the main output contains the good results. May 8 2007. Added mom.f routine for JLM OMP calculations. JLM calculations are activated with the jlmomp keyword Added new keywords lvadjust, etc. for normalization Added radialfile keyword for user-defined radial matter density file May 11, 2007 Added 'end=' to all read statements in input*.f. TALYS crashed without giving appropriate error messages. Discovered by Arjan Plompen. Implemented ECIS-06 May 15 2007 Removed little bug in lambdapiplus.f (wvol array could run out of bounds) May 22 2007 Changed definition of numN into 4+4*memorypar Reduced numomp dimension to 200 and built in check for number of lines in OMP file Reduced numenrec=5*memorypar to numenrec=4*memorypar Reduced numangrec=18 to numangrec=9 Replaced numchannel by numZchan and numNchan May 22 2007 Changed emission energy grid and ranges of segment keyword. This enabled to economize on array sizes, especially the specexc array in channels.f. numen is now reduced from 360 to 212. May 30 2007 Error found by Ian Thompson: Tri-axial fission barriers should be turned on for all nuclides with N > 144, not only for the target nucleus. Change in input5.f June 6 2007 Removed deformation parameters for vibrational states of U235,237 from nuclear structure database June 8 2007 Built in extra exponent security in kalbach.f to prevent overflow June 11 2007 Corrected error in Goriely level densities: negative parities now also assigned in densitytable.f Secured Kvib against exponential overflow in colenhance.f June 20 2007 Changed upper limit of allowed beta2 values to 1.5 in checkvalue.f June 27 2007 Changed integration safety for level densities. They are now multiplied by (1.+1.e-10) instead of an addition of 1.e-30 August 8 2007 Added Goriely Kvib model for vibrational enhancement, with kvibmodel keyword. Included Audi-Wapstra 2003 table and RIPL-2 D0 values August 13 2007 Extended domain of betald to negative values August 24 2007 Extra protection in fstrength.f for strength functions in case of photonuclear reactions. September 1 2007 Removed collective enhancement factor for the spin cutoff factor at the end of spincut.f. This was a remnant of TALYS-064 coding and should not have been there anymore. September 5 2007 Reprogrammed the damping of collective enhancement in colenhance.f September 11 2007 Included extra array boundary protection in rotband.f and rotclass2.f (problem found by Emilie Rich and Anabella Tudora) September 12 2007 Error in temperature definition of Kopecky-Uhl formula, found by Anabella Tudora, corrected September 19 2007 Corrected wrong awso value in opticalt.f (found by Pascal Romain) September 20 2007 Implemented new global level density parameters in input5.f October 3 2007 Added Capote WKB approximation for fission path: fismodel 5 Added betafiscor and vfiscor keywords to adjust fission paths Changed Goriely shell correction in mliquid2.f October 4 2007 Various small changes in astrophysical subroutines stellarrate.f astroinit.f astroout.f (fission cross section included) Added etable and ftable keywords to adjust tabulated gamma strength functions October 22 2007 Added keyword isold for functional form for asymptotic level density parameter that depends on Z and N instead of A only Added keyword radialmodel to choose between different radial matter densities. November 1 2007 Completed thermal extrapolation of total and elastic cross sections (these were missing, causing some problems in ENDF-6 files) November 13 2007 Changed inconsistency with optmodall y (ecissave y and eciscalc y) December 17 2007 Added dispersion relation potentials and keyword 'dispersion' to activate this. December 21 2007 Release of TALYS-1.0