FRESCO is a general-purpose reaction code, created and frequently updated by Ian Thompson. The code calculates virtually any nuclear reaction which can be expressed in a coupled-channel form. There is a public version of the code which can be downloaded from the website www.fresco.org.uk. FRESCO is accompanied by SFRESCO, a wrapper code that calls FRESCO for data fitting, SUMBINS and SUMXEN, two auxiliary codes for integrated cross sections. Although we do not include it here, in the same site you can also find XFRESCO the front-end program to FRESCO for X-window displays.
Its original version was written in Fortran 77 but some important sections were ported to Fortran 90. An important part concerns the input, which now uses namelist format, making it much easier to view the relevant variables. In this section we will discuss the general namelist format of the FRESCO input.
There are several different layers of output produced by FRESCO. The default output contains the most important information concerning the calculation, repeating the input information, and the resulting observables but most detailed information is contained in the generated fort files, including files ready for plotting purposes. At the end of this section we present the list of output produced by FRESCO.
Input files contain five major namelists regarding different aspects of the calculation: fresco, partition, pot, overlap, coupling. The first is for general parameters, the second for defining the properties intrinsic to the projectile and the target, the third for potentials, the fourth for the radial overlap functions and the last for the couplings to be included. Keep in mind that in some inputs, you may not find all these namelists. As FRESCO can calculate rather intricate processes, input files can sometimes look daunting. However, with the namelist format, you do not need to define all variables but only those that are relevant for your example. Below we introduce the contents of each namelist and their purpose. Detailed instructions are given in the FRESCO input manual on the website.
Every input file starts with a heading (80 characters) that should describe and identify the reaction to be calculated, with perhaps some detail of the method and states included. The following line begins with NAMELIST to indicate the subsequent style of input.
In this namelist you also find general options for the calculations and the desired observables. Cross sections are calculated from the angular range thmin-thmax (in degrees) in steps of thinc. This is also where you define the number of partial waves in the calculation, by providing the initial and final total angular momentum: jtmin, jtmax.2
absend controls the convergence. If in the interval max(0,jtmin) < J < jtmax the absorption in the elastic channel is smaller than absend mb for three consecutive sets, the calculation stops. When absend<0, it takes the full J-interval.3
There are many control variables which trace intermediate steps in the calculation (starting from zero, increasing values will give more in depth information). Here we shall mention just a few of the most frequently used. For printing the coupled partial waves for each (total angular momentum and parity) use chans; for details of the coupling coefficients listcc, and for S matrices use smats (absorption & reaction cross sections for successive partitions and excitations are output when smats 1, and elastic S-matrix elements are ouput when smats 2).
The variable xstabl>0 prints the cross sections and tensor analyzing powers up to rank k=xstabl for all excitation levels in all partitions in Fortran file 16 (usually called fort.16).
Finally, and most importantly, this is the place where the beam energy is specified through elab. If you want a calculation at several energies, you can use the array elab(i) i=1,4 and nlab(i), i=1,3 to define the boundary points and the number of intermediate energy steps between elab(i) and elab(i+1).
By default, the code assumes the elastic channel, the channel with the incoming plane wave, is the first excitation of the first partition. You can change this by using pel>1 for the partition number and exl>1 for the excitation within that partition. Also, elab refers by default to the energy of the projectile lin=1, but you can easily change the calculation to inverse kinematics by setting lin=2.
In partition you introduce all the mass partitions and the corresponding channels to be considered in the reaction. In the simplest case, elastic scattering within the optical model, you introduce just one partition, including the details of the projectile (namep,massp,zp) and the details of the target (namet,masst,zt). The Q-value for the reaction is given with qval (MeV) and the number of states that you want to include in this partition is nex. Below defining each partition, you have to introduce the nex associated pairs of states (at least one). This is done through another namelist &states.
Each pair of states is a specific combination of one state of the projectile and one state of the target. So this is the place where you introduce the spin, parity and excitation energy of these states: (jp,ptyp,ep) for projectile and (jt,ptyt,et) for target. The variables bandp and bandt are synonyms for ptyp and ptyt respectively. The optical potential for the distorted wave for p+t relative motion is given by the index cpot, also defined here. This namelist is repeated as many times as necessary, to introduce all the pairs of states you wish to include in the calculation. When repeating the &states namelist, if one of the bodies stays in the same state, you should not introduce spin, parity and excitation energy again, but just set copyp or copyt to refer to the &states namelist in which the original state was first introduced.
This namelist contains the parameters for the potentials to be used in the reaction calculation, either for bound single-particle states or optical potentials. The namelist is repeated for each term in the potential. To identify the potential, there is an index kp, and all the components with a given kp value are added together to produce the potential used. So, when calculating the distorted waves, cpot will refer to one of the kp. The same will be used when calculating the bound single-particle states with kbpot (in &overlap). Each term in the potential is characterized by a type and a shape, followed by parameters p(i), i = 1,,6. Traditionally, we define the Coulomb term first (type=0, shape=0 for a charged sphere). Then p(1)=ap and p(2)=at correspond to mass number of the projectile and the target needed for the conversion of the reduced radii into physical radii R=r(ap1/3 + at1/3). The p(3)=rc is the reduced Coulomb radius. Note that the same mass factor (ap1/3 + at1/3) is used in all terms of a given potential. type=1 corresponds to the volume nuclear interaction, with shape=0 for Woods-Saxon shape.4 The parameters for the real part are p(1)=V0, p(2)=r0, p(3)=a0 (for depth in MeV, the reduced radius in fm and the diffuseness in fm), while the parameters for the imaginary part are p(4)=Wi, p(5)=ri, p(6)=ai. A surface nuclear interaction is introduced with type=2 and the spin-orbit with type=3, for the projectile, and type=4 for the target.5
When the potential does not have an analytic form, it is useful to read it in numerically. This can be achieved setting shape=7,8,9 to read from file fort.4 the real or the imaginary part of the potential, or the full complex potential, respectively.
Overlap functions are needed in single-particle excitation calculations or in transfer calculations. The overlaps can refer to bound states and scattering states, but we will leave the latter for subsection 2.3. Every &overlap begins with an index kn1. The overlap function tells us how the composite nucleus B looks relative to its core A. The composite nucleus and the core are in partition ic1 and ic2 respectively, and refer to the projectile (in=1) or target (in=2). In the simpler case kind=0, we ignore the spin of the core and take coupling.6 The overlap has nn number of nodes (including the origin), l relative angular momentum, sn for the spin of the additional fragment (typically a neutron or proton sn=1/2), and total angular momentum j. The potential used in the calculation of the state is that indexed kbpot. You can also introduce the binding energy be if you want the potential to be adjusted to reproduce the binding energy (isc=1 for adjusting the depth of the central part). If no rescaling is needed, set isc=0. A spectroscopic amplitude for the overlap can be set to the value *ampl if both of these are non-zero. This amplitude can also be introduced after &coupling in the namelist &cfp.
For printing more detailed information into the standard output, there is a trace variable ipc. Its default value is zero, and, as it increases, it provides more detailed information on the overlap function.7
Couplings are calculated with the information given in this namelist and include general spin transfer (kind=1); electromagnetic couplings (kind=2), single particle excitations (kind=3,4 for projectile and target respectively); transfer couplings (kind=5,6,7,8 for zero-range, local energy approximation, finite-range and non-orthogonality corrections respectively). The coupling is from all states in partition icfrom to all states in partition icto. Couplings are included in the reverse direction unless icto <0. For specific options of the coupling we use the parameters ip1,ip2,ip3 and for choices of the potentials in the operator there are p1,p2 parameters. More detail on this namelist and others that follow will be given with specific examples.
File | Routines | Use |
2 | SFRESCO | search specification file |
3 | FREADF, FR | temporary namelist file |
4 | INTER | input external KIND=1,2 form factors |
POTENT | input external potentials | |
5 | standard input | |
6 | standard output | |
7 | DISPX | S-matrix elements |
13 | FR | total cross sections for each Elab |
16 | CRISS | tables of cross sections |
17 | FR | output scattering waves |
20-33 | For users | (eg bound states, amplitudes) |
34 | POTENT | output potentials |
35 | FR | astrophysical S-factors for |
36 | CRISS | scattering Legendre coefficients |
37 | CRISS | scattering amplitudes |
38 | DISPX | cross sections for each |
39 | FR | 2 cross sections for each |
40 | FR | all cross sections for each |
41 | SOURCE | source terms at each iteration |
42 | SOURCE | bin wave functions for each E |
43 | INFORM | bin phase shifts as k functions |
44 | INFORM | bin phase shifts as E functions |
45 | ERWIN | scattering phase shift as E functions |
46 | INFORM | ANC ratios & bound wave functions |
47 | reduced matrix elements | |
48 | FR | misc log file |
55 | INFORM | Single-particle wave functions |
56 | FR | J fusion, reaction and nonelastic |
57 | FR | output CDCC amplitudes |
58 | INFORM | bound state wave functions |
59 | INFORM | bound state vertex functions |
60-62 | RMATRIX | trace of R-matrix calculations |
66 | INTER | KIND=1 nonlocal formfactor |
71 | FR | phase shifts as functions |
75 | FR | astrophysical S-factors for Elab |
89 | MULTIP | all coupling potentials |
105 | FCN | progress during fitting |
106 | FCN | parameter snapshots during fitting |
200 | CRISS | elastic cross section if not fort.201 |
201-210 | CRISS | cross sections (cf 16) of up to 10 states |
301 | CDCIN | new Fresco input |
303 | SFRESCO | input search file |
304 | SFRESCO | output plot file |
305 | CDCIN | new input from CDCC, col format |
306 | SFRESCO/FRXX0 | input Fresco file |
307 | SFRESCO/FRXX0 | initial Output Fresco file |
308 | SFRESCO/FRXX0 | main Output Fresco file |
The main output file (fort.6 or stdout) contains first of all a representation of all the parameters read from the input file. It will provide a summary of the calculation of the overlap functions (including binding energy, depth of the adjusted potential, rms radius and asymptotic normalization coefficient) and the coupling matrix elements. For each beam energy, it provides some information relative to the kinematic variables in the reaction followed by the contribution to the cross section of each partial wave. Integrated cross sections and angular distributions are printed at the end of the file.
Also at the end of the standard output file, as a reminder to the user, is a list of other files that were created during the run with additional information. Here we mention a few: fort.16 contains all angular distributions in a graphic format (to be read by XMGR or XMGRACE); fort.13 contains total cross sections for each channel; fort.56 contains the total absorptive, reaction and non-elastic cross section for each angular momentum. Separate cross sections are included in files 201, 202, etc., in the order they were specified. A full list of file allocations is given in Table 1.