[Up][Tutorial main page]

First example: running chroma

Running, output files and stripping the data

To run chroma use the command

chroma_install_dir/chroma -i hadspec.ini.xml -o hadspec.out.xml

where, chroma_install_dir, denotes the directory where you put the chroma executable. The input file is specified using the "-i" option. A lot of output in the form of XML is generated by the program. By default, the XML output goes into a file named XMLDAT. Alternatively can specify a file name (as above) using the "-o" option.

Chroma also outputs a lot of information to the screen (standard output). You can redirect the standard output to a file using

chroma_install_dir/chroma -i hadspec.ini.xml -o hadspec.out.xml > log_hadspec

You have now generated the following files:

Let us look at the output first, an example of which is given here: log_hadspec. There are several things to note:

The output file hadspec.out.xml contains a lot of (often repeated) information that can be difficult to digest. However, it is useful as a log of the calculation and does contain some important information. Don't spend much time looking into this at the moment, we comment on it's contents in section reference 1 below.

There is no information about the HADRON_SPECTRUM measurement in hadspec.out.xml as this is all in the file hadspec.dat.xml. This file contains the correlator data we are interested in, however, it also contains a lot of other output. To make it easier to read the correlator data into an analysis routine, for example to calculate effective masses, we will strip the data from the file hadspec.dat.xml and put it into a file with a simple text format. How to find the correlator data within hadspec.dat.xml is detailed below in section reference 2.

Stripping the correlator data from hadspec.dat.xml using ADAT

The ADAT software package contains many programs for stripping data from the various xml or binary files that chroma produces. It also contains programs for analysing the data. You will need the program strip_hadspec. Many files will be produced by the program so it is best to change to a new directory. Run the program with the command

strip_hadspec_install_dir/strip_hadspec hadspec.dat.xml

where strip_hadspec_install_dir is the directory where you have the strip_hadspec executable.

The program strips the correlator data into separate files for each hadron for every momentum and smearing combination used (here we just have one smearing combination). You will have generated the files shown in this list. The file names have a straightforward format:

channel_[momenta].D[MassString].[SourceSmear_Channel].[SinkSmear_Channel].[Smearing]

For example

pion_px1_py0_pz0.D5455.P_1.P_1.PP

Now let us look into the file: pion.D5455.P_1.P_1.PP,

1 8 1 4 1
0 0.695079547680507 0
1 0.0371189174074971 0
2 0.00801121179028996 0
3 0.00306581884433399 0
4 0.00206155294108612 0
5 0.00306324860321183 0
6 0.0080019051238196 0
7 0.0371176435437519 0

The first line states, in order, the number of configurations (1), the temporal extent of the lattice (8), that the correlator is complex (1) (0 if it is real) and the spatial extent of the lattice (4). The last number is no longer used.

The zero momentum pion correlator is then listed as a function of the timeslice.

At the moment you only have one data file (with results from one configuration). Later, in the section Mini spectrum calculation, you will use strip_hadspec with multiple files and calculate the effective mass of a particle.

Playing around

Now that you have successfully run chroma and stripped the output into a manageable format it is instructive to play around with the input file. Here are a few things to try.

You can now go on to the change the XML file in a significant way in the next part of the tutorial: Modifying the input file.

Reference 1: the output file hadspec.out.xml

Looking in the output file hadspec.out.xml we note the following:

Reference 2: how to find the correlator data within hadspec.dat.xml

To find the correlator data within hadspec.dat.xml search for the tag <Point_Point_Wilson_Mesons>. The first few lines of XML that follow this tag are shown below.

      <Point_Point_Wilson_Mesons>
        <elem>
          <gamma_value>0</gamma_value>
          <momenta>
            <elem>
              <sink_mom_num>0</sink_mom_num>
              <sink_mom>0 0 0</sink_mom>
              <mesprop>
                <elem>
                  <re>0.559868925531191</re>
                  <im>0</im>
                </elem>
                <elem>
                  <re>-0.0119817844101817</re>
                  <im>0</im>
                </elem>
                <elem>
                  <re>-0.00286980391956604</re>
                  <im>0</im>
                </elem>
                <elem>
                  <re>-0.00197637835844944</re>
                  <im>0</im>
                </elem>
                <elem>
                  <re>-0.00187173219273973</re>
                  <im>0</im>
                </elem>
                <elem>
                  <re>-0.00197547156858491</re>
                  <im>0</im>
                </elem>
                <elem>
                  <re>-0.00286186982066283</re>
                  <im>0</im>
                </elem>
                <elem>
                  <re>-0.0119718946280045</re>
                  <im>0</im>
                </elem>
              </mesprop>
            </elem>

The correlators are listed in terms of the &Gamma combinations used in the meson operator. There are 16 combinations, which are labelled by the tag <gamma_value>. What value corresponds to what &Gamma combination is given here, chroma_gamma_matrices (n&Gamma(dec) in the table).

The correlator is given for each momentum combination, labelled with the tag <sink_mom_num> and explicitly specified within the tag <sink_mom>.

The timeslice is not specified but the correlator is always displayed starting from the source timeslice.

After the mesons, the currents are listed, look for the <Point_Point_Meson_Currents> tag, and then follow the baryons (<Point_Point_Wilson_Baryons>). To find out what the values labelled by the <baryon_num> tag correspond to you will need to look in the chroma code itself, see section Looking in the chroma code.

[Up][Tutorial main page]