up previous
Up: Fresco Previous: Appendix V : KIND=1

Subsections

Appendix VI : Search version SFRESCO

This is a program which searches for a $\chi^2$ minimum when comparing the outputs of FRESCO with sets of data, using the MINUIT search routines. The inputs for SFRESCO specify the FRESCO input and output files, the number and types of search variables, and the experimental data sets.

A search_file format is defined as follows:

Card 1:
(2*string, 2*integer: free format)
input_file, output_file, nvariables, ndatasets

input_file: name of file (in single quotes) with regular FRESCO input
output_file: name of file for the final FRESCO output
nvariables: number of search variables
ndatasets: number of experimental data sets.

Repeated nvariables times, a namelist with some of the following variables:

Card 2: (namelist: 'variable')
name,kind,step,valmin,valmax, null,
kp,pline,col,potential,
dataset,datanorm,
nafrac,afrac,
energy, jtot,par,channel,width
name is name of variable (up to 10 characters),
kind: 0=ignore, 1=potential, 2=afrac, 3=R-matrix energy,
4=R-mat partial width, 5=dataset normalisation
step: step size for finding derivatives etc, zero for fixed. (default 0.01)
valmin: strict lower bound (if non-zero),
valmax: strict upper bound (if non-zero),
null: (default -124578) `undefined' value,

kind=1: Variable potential parameter:
kp: number of potential as on Card 10,
pline: order of which Card 10 within potential definition,
col: number on Card 10: selecting P0-P7 ,
potential: value of this potential parameter (default null: use input_file)

kind=2: Variable spectroscopic amplitude:
nafrac: order number of Cards 17 in input_file
afrac: spectroscopic amplitude A (default null: use input_file)

kind=3: Variable energy of R-matrix term:
term: term number (default 1)
jtot: J value for additional R-matrix term
par: parity (+1 or -1)
energy: energy (cm MeV in entrance channel) of additional R-matrix term (default 0)
nopot: Disable potential & Buttle correction for this J/pi set (logical T or F, default F)

kind=4: Variable partial width of R-matrix term:
channel: channel number (in order generated by FRESCO)
term: term number (default 1)
width: width for this channel (MeV1/2) (default 0)

kind=5: Variable dataset normalisation:
dataset: index of which dataset (1 up to ndatasets) (default 1)
datanorm: search on absolute normalisation of this dataset (default: 1.0)

Repeated ndatasets times, namelist with some of the following variables, then the corresponding data:

Card 3: (namelist: 'data')
type,data_file,points,delta,xmin,lab,energy,angle,
idir,iscale,abserr,ic,ia,k,q,jtot,par,channel,value,error

type (default 0)
= 0 angular distribution for fixed energy
= 1 excitation and angular cross section double distributions
= 2 excitation cross section for fixed angle
= 3 excitation total cross section. Also: ic=0: ia=0 is total reaction cross section; ia=1 is total fusion cross section; 1<ia<NFUS+1 are fusion from potential KFUS (on Card 5) for inelastic state ia-1.
= 4 excitation phase shift for fixed partial wave
= 5 desired factor for bound state search (binding energy or potential scale according to ISC).
= 6 specific experimental constraint on a search parameter par, to be value with error error (abserr=T or F).

data_file: name of data file with data, `=' for search_file, `<' for stdin (default `=')
points: number of data points (default: keep reading as many as possible),
delta: if non-zero, construct linear x-scale from xmin in steps of delta, (default 0)
lab: T or F for lab angles and cross sections (default F).
energy: lab energy for this type=0 dataset (default: use ELAB(1) from Card 19)

idir (default 0)
=-1 cross-section data are given as astrophysical S-factors, but will be converted to absolute,
= 0 cross-section data are given in absolute units,
= 1 cross-section data are ratio to Rutherford
= 2 cross sections are given in absolute units but will be converted to ratio to rutherford.

iscale (default 2)
= -1 dimensionless (eg ratio to rutherford if idir=1),
= 0 absolute cross-section units are fermi-squared/sr.
= 1 absolute scale is barn/sr
= 2 absolute scale is mb/sr
= 3 absolute scale is micro-b/sr

abserr: T or F for absolute error (default F)
ic: partition number of cross section channel (index of Cards 6) (default 1)
ia: excitation pair number of cross section (index of Cards 7) (default 1)
k: tensor rank of cross section (0, 1, 2,..) (default 0).
q: index for tensor Tkq of cross section (0, 1, 2,..) (default 0). T00 = angular distribution $\sigma(\theta)$.
jtot: The J value (as on Card 2) for phase shift
par: The parity (-1 or +1) for phase shift, for type=4
par       or number of search parameter, for type=6.
channel: Channel number of entrance channel in coupled channels set (default 1), for phase shift
value: Value of search parameter, for type=6
error: Error in value of search parameter, for type=6

Data input (free format):
if type=1, read: energy, angle, value, error
if type=5, read: kn, target, error
otherwise:
if delta$\ne$0, read: value, error
if delta=0, read: x, value, error

where x is angle for type=0, and lab energy for type=2, 3 and 4.

SFresco Input

The inputs to SFresco are
Card 1: name of search_file

Cards 2: repeatedly one of (in all upper or all lower case):
EX: exit
Q: query status of search variables
SET var val: set variable number var to value val.
FIX var: fix variable number var (set step=0).
STEP var step: unfix variable number var with step step.
SCAN var val1 val2 step: scan variable number var from value val1 to value val2 in steps of step.
SHOW: list all datasets with current predictions and $\chi$ values.
PLOT plotfile: write file (default: search.plot) for reading by xmgr, xvgr, with data and theoretical curves.
LINE plotfile: write file (default: search.plot) for reading by xmgr, xvgr, with theoretical curves only.
READ file: read plot output file for further searches, if not:
READ snapfile: if the input string file contains the string 'snap', read to the end of previous snap output snapfile, for further searches.
ESCAN emin emax estep: scan lab. energy in incident channel, to give phase shifts in fort.71, fusion & reaction cross sections in fort.40, and S-factors in fort.35 and 75. This is to look for/at resonances, or at behaviour out of data's energy range, not for $\chi^2$ fitting.
MIN: call minuit interactively, to read from stdin. Return to SFresco by minuit command end.

A example of this search_file input is:

'6hep.in' '6hep.out' 7 1
 &variable kind=1 name='V' kp=1 pline=2 col=1 /
 &variable kind=1 name='r0' kp=1 pline=2 col=2 valmin=.7 valmax=2.0/
 &variable kind=1 name='a' kp=1 pline=2 col=3 /
 &variable kind=1 name='W' kp=1 pline=2 col=4 /
 &variable kind=1 name='rw' kp=1 pline=2 col=5 valmin=.7 valmax=2.0/
 &variable kind=1 name='aw' kp=1 pline=2 col=6 /
 &variable kind=5 name='exptnorm' /
 &data type=0 iscale=2  idir=0 lab=F  abserr=T/
 13.99     565.7     28.3
 17.59     478.19    23.91
 21.22     425.41    21.28
 24.92     338.44    16.93
 28.68     284.71    14.24
 36.48     168.59    8.43
 40.56     137.9     6.86
 44.8      104.75    5.24
 53.       30.0      9.14
 53.94     38.45     2.71
 59.       25.62     2.55
 &
A example of the full SFresco input, suitable for batch running, is:
search4.in
min
fix 4
migrad
end
q
show
plot
where search4.in is the above search_file input file name.
up previous
Up: Fresco Previous: Appendix V : KIND=1
Ian Thompson 2011-09-08