Exercise 6: | Pion Propagator |
Goals: | Computing pseudoscalar two-point function |
Concepts: | Using QOP routines, summing over 3-d hypersurface |
Directory: | $HOME/examples/06-pion |
How to: | $
cd
$HOME/examples/06-pion $ make NO_PROFILE=1 $ submit pion /scratch/data/beta6_gauge_8x8x8x16 0.1503 |
Let us shift gears now and compute some quark observables. In order to construct any fermion observable one needs to solve the Dirac equation. We will not attempt to develop a solver in this exercise, instead we will use an existing solver from the QOPQDP library. This exercise focuses on mechanisms used to limit QDP computations to a timeslice.
First, let us dispose of the fermion inverter. We setup the Wilson inverter and solve for each of 12 point sources in the following part of main.c. On line 71 we pack individual solutions of the Dirac equations into a propagator.
47 /* initialize Wilson Dirac matrix solver */
|
Next, the pion propagator is computed and printed:
75 /* print out pion correlator */
|
Let us take a look on pion.c which does the work. Line 22 creates a collection of nt subsets, one for each time slice.
3 static QDP_Subset *timeslices = NULL;
|
After that we sum the propagator for a fixed t on line 29:
25 /* allocate space for correlator on each timeslice */
|
The rest of print_pion() prints the values of the correlator and does some housekeeping:
31 /* print result */
|