1 General structure

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.

1.1 Input file

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*(*ap*^{1/3} + *at*^{1/3}). The *p(3)= r_{c}* is the
reduced Coulomb radius. Note that the same mass factor
(

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 |

1.2 Output files

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.