This Fortran 90 version does dynamic allocation of arrays of the
required sizes, and therefore does not need the PARAMETER declarations
which were a feature of previous FRESCO input specfications. The
FRESCO executable can be now completely compiled in advance,
and does not require other files (such as, previously, frxp0.f and
libfrxp.a) to run.
The f90 version reads card sequences as above, but can also read NAMELIST
input, which is more flexible in allowable number formats.
After the usual Card 0 with title information, the line
Card 1: NAMELISTindicates namelist input is to be assumed. A namelist group starts with a &NAME and ends with a /. Upper and lower case names are treated as equivalent. For a sample input, see Appendix II.
If Card 1 begins with 'CDCC', then CDCC input is assumed, see Appendix III.
The first namelist read is &FRESCO ... / :
&FRESCO namelist
This contains all the variables in Cards 1,1a, 2, 3, 4, 5 and 18 and 19:
hcm, rmatch, rintp, hnl, rnl, centre, rasym, accrcy, switch, ajswtch,
jtmin, jtmax, absend, dry, rela, nearfa,
kqmax, pp, thmin, thmax, thinc, koords, cutl, cutr, cutc,
ips, it0, iter, iblock, pade, iso, nnu, maxl, minl, mtmin, epc,
inh, plane, smallchan, smallcoup,
chans, listcc, treneg, cdetr, smats, xstabl, nlpl, waves, lampl, kfus, wdisk,
pel, exl, lab, lin, lex, elab, nlab
along with new variables
fatal, nosol, pset, jset, inh, psiren, tmp, masfil, unitmass, finec.
The new variables are:
fatal = T/F, if to stop or not when CRC iterations do not converge (previously ITER>0).
nosol = T/F, if not to solve the CRC equations, only construct couplings (previously |ITER|<IT0).
pset = -1 or +1, to restrict parity of total CRC set (0 = no restriction) (previously from CSET).
jset = number of CRC sets to calculate before stopping (0 = all sets) (previously from CSET).
inh = 0 : zero-range transfer forms in intervals of HCM exactly
(previously a PARAMETER).
= 1 : stored in steps of HCM * (proj. core)/(proj. composite mass)
= 2 : stored in steps of HCM * (targ. core)/(targ. composite mass)
So inh=2 corrects for longitudinal recoil during transfers
with zero-range projectiles.
psiren = T/F, to do simple renormalisation of channel wfs after Pade acceleration
tmp = name of directory for temporary files: `/tmp' or `.'
masfil = name of file of masses of isotopes (used to find masses and charges from the nuclide name, if read-in MASSes are zero).
unitmass = unit (in amu) for MASS values read in. Default = 1.000
finec = fine-structure constant: used to determine electrostatic e2. Default = 137.03599d0.
jump,jbord = namelist input jump(1) is stored in jump(2) etc for the program.
&PARTITION namelist
This has the information on Card 6, but the names have been made unique:
namep massp zp nex pwf namet masst zt qval (char*8 real real int logical char*8 real real real)
&STATES namelist
Card 7 information: repeat NEX times before the next partition namelist:
Jp, COPYp,BANDp ,Ep, KKp,Tp, CPOT,PWF, -------projectile state----- Jt, COPYt,BANDt ,Et, KKt,Tt, EXTRA,SPIFL,IGNORE -----target state-----------Here, PTYp and PTYt are synonyms for BANDp and BANDt, respectively.
End reading partitions with an empty namelist &partition / (Card 8)
&POT namelist
This has the information on Cards 9 and 10.
You can either input individual &pot namelists corresponding to each
separate Card 9 and Card 10, or you can combine TYPEs 0,1,2,3, 10 and 11 potentials
into a larger namelist.
Variables kp, type, shape, itt, p(1:7), where itt is a logical variable. The p(1:7) is synonymous to the set p1, p2, p3, p4, p5, p6, P7, and with the array def(:).
The equivalent to Card 9 is obtained if shape=0, then A#1=p1, A#2=p2, R0C=p3, and AC=p4.
kp shape itt ap at rc ac v rv av w rw aw wd wdr wda vd vdr vda vso rso aso vsoi rsoi asoi defp(:) deft(:) mnet(:) mnep(:)=0so A#1=at,A#2=ap, R0C=rc, and AC=ac etc. All the potentials will have the same shape.
More complicated potentials may be formed as usual by having multiple
&pot namelists, but keep only one Coulomb potential by having
rc non-zero in only one of them.
End reading potentials with an empty namelist &pot / (Card 12),
or by having kp<0 in the last namelist.
The information on Card 11 is give by a &step namelist with variables IB,IA,k, STR.
&OVERLAP namelist
This namelist has the standard variables of Card 13
kn1, kn2, ic1, ic2, in, kind, ch1, nn, l, lmax, sn,
ia, j, ib, kbpot, krpot, be, isc, ipc, nfl, nam, ampl
with the same names.
Extra variables keep, dm,nk,er,e are also defined:
keep = T to not reset all the variables to zero before reading next namelist.
dm = mass of bound particle, if to override default difference.
nk = number of integration steps to form continuum bin.
er = range (width) of continuum bin. If er > 0, then ratio of the upper and lower bin energies; and if er < 0, then er is the difference of the energies in MeV.
e : If e0, then replace be - e.
So be = binding energy, and e = eigenenergy.
&COUPLING namelist
This gives the information previously on Card 15.
icto,icfrom,kind,ip1,ip2,ip3,p1,p2,jmax,rmax,kfrag,kcore int int int int int int 4*real int intIf(kfrag>0) p1 kfrag, and if(kcore>0) p2 kcore.
The information on Card 16 is give by a &inel namelist with variables ib,ia,k,no,kp,a.
The information on Card 17 is give by a &cfp namelist with variables in,ib,ia,kn,a,keep.
The information for Coupling KINDS 3 and 4 is given by a &scale namelist with variables QSCALE(0:11).
IC,IC1,IC2 index to mass partitions
IA,IB index to projectile-target pairs of excited states within each partition
KP index to table of potentials, for scattering, binding, and folding
KN index to single-particle bound states
KN1,KN2 two-particle bound states are given for a range (RMIN to RNN) of internucleon separations, and are stored in the MSP table from KN1 to KN2 inclusive.
CP index to the coupling set up