flue_wloops
Module to do calculations for wilson loops and generic paths of gauge links in SU3
Source: src/wloops.F90
Dependencies
Contents
- genplaquette
- polyakov
- genericpath
- cloverloopmunucoord
- loop5munucoord
- plaquettemunucoord
- magnetic
- periodcoord
- wmunutau
- wmunu
Subroutines
genplaquette
Calculates the plaquette using genplaquette Outputs the sum over all real trace plaquettes, the number of plaquettes and the time taken Do all plaquettes using mustart=1, muend=4, nuend=4 Do spatial plaquettes using mustart=2, muend=4, nuend=4 Do temporal plaquettes using mustart=1, muend=1, nuend=4
subroutine genplaquette(data, nt, nx, ny, nz, mustart, muend, nuend, sumtrp, np, time)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
data | complex(kind=wc) | in | dimension(3, 3, 4, nt, nx, ny, nz) | The gaugefield |
nt | integer | in | The size of the lattice | |
nx | integer | in | The size of the lattice | |
ny | integer | in | The size of the lattice | |
nz | integer | in | The size of the lattice | |
mustart | integer | in | Which dimensions to loop over | |
muend | integer | in | Which dimensions to loop over | |
nuend | integer | in | Which dimensions to loop over | |
sumtrp | real(kind=wp) | out | Sum of ReTr(P) of all plaquettes | |
np | integer | out | Number of plaquettes | |
time | real(kind=WP) | out | Time taken for calculation |
Call graph
polyakov
Calculates the Polyakov loop i.e. the real trace of temporal links Does not use genericPath
subroutine polyakov(data, sumtrp, np, time)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
data | complex(kind=wc) | in | dimension(:, :, :, :, :, :, 😃 | The Gaugefield [colour, colour, mu, NT, NX, NY, NZ] |
sumtrp | real(kind=wp) | out | The sum of all polyakov loops across lattice sites | |
np | integer | out | Number of loops measured | |
time | real(kind=WP) | out | time taken to calculate |
Call graph
Functions
genericpath
Returns the links starting from coordbase multiplied together along path Used to construct wilson loops, staples, etc
Attributes: pure
Returns: complex(kind=wc)
function genericpath(data, coordbase, path) result(u_xd)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
data | complex(kind=wc) | in | dimension(:, :, :, :, :, :, 😃 | The gaugefield of shape 3,3,4,nt,nx,ny,nz |
coordbase | integer | in | dimension(4) | The starting coordinate [it, ix, iy, iz] |
path | integer | in | dimension(😃 | The path to follow in terms of +ve/-ve mu/nu/etc |
Call graph
cloverloopmunucoord
Calculates the standard clover leaf definition of f_munu
Attributes: pure
Returns: complex(kind=wc)
function cloverloopmunucoord(data, nt, nx, ny, nz, mu, nu) result(u_xd)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
data | complex(kind=wc) | in | dimension(3, 3, 4, nt, nx, ny, nz) | The gaugefield |
nt | integer | in | Dimensions of gaugefield | |
nx | integer | in | Dimensions of gaugefield | |
ny | integer | in | Dimensions of gaugefield | |
nz | integer | in | Dimensions of gaugefield | |
mu | integer | in | planes to calculate f_munu for | |
nu | integer | in | planes to calculate f_munu for |
Call graph
loop5munucoord
Calculates f_munu according to the 5-loop improved definition. See i.e. hep-lat/0203008
Attributes: pure
Returns: complex(kind=wc)
function loop5munucoord(data, nt, nx, ny, nz, mu, nu) result(u_xd)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
data | complex(kind=wc) | in | dimension(3, 3, 4, nt, nx, ny, nz) | The gaugefield |
nt | integer | in | Dimensions of gaugefield | |
nx | integer | in | Dimensions of gaugefield | |
ny | integer | in | Dimensions of gaugefield | |
nz | integer | in | Dimensions of gaugefield | |
mu | integer | in | plane to calculate f_munu for | |
nu | integer | in | plane to calculate f_munu for |
Call graph
plaquettemunucoord
Calculates f_munu from the plaquette only
Returns: complex(kind=wc)
function plaquettemunucoord(data, nt, nx, ny, nz, mu, nu) result(u_xd)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
data | complex(kind=wc) | in | dimension(3, 3, 4, nt, nx, ny, nz) | The gaugefield |
nt | integer | in | Dimensions of gaugefield | |
nx | integer | in | Dimensions of gaugefield | |
ny | integer | in | Dimensions of gaugefield | |
nz | integer | in | Dimensions of gaugefield | |
mu | integer | in | plane to calculate f_munu for | |
nu | integer | in | plane to calculate f_munu for |
Call graph
magnetic
Computes the magnetic contribution to the gauge-field action density.
This routine evaluates the magnetic component of the field-strength tensor (F_{\mu\nu}) using a five-loop clover discretization. The three independent spatial components,
are constructed from the clover operators returned by loop5munucoord. The result is averaged over all lattice sites. The magnetic field components are therefore constructed from the spatial field-strength tensors:
- (F_{23}) →
bfield(:,:,:,:,:,:,1) - (F_{31}) →
bfield(:,:,:,:,:,:,2) - (F_{12}) →
bfield(:,:,:,:,:,:,3)
For each lattice site and magnetic component, the quantity
$ -\mathrm{Tr}(F_{ij}F_{ij})$
is accumulated and averaged over the lattice volume.
Returns: real(kind=wp)
function magnetic(data, nt, nx, ny, nz) result(b)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
data | complex(kind=wc) | in | dimension(3, 3, 4, nt, nx, ny, nz) | The gaugefield |
nt | integer | in | Dimensions of gaugefield | |
nx | integer | in | Dimensions of gaugefield | |
ny | integer | in | Dimensions of gaugefield | |
nz | integer | in | Dimensions of gaugefield |
Call graph
periodcoord
Handles periodic boundary conditions Only handles steps of 1!
Attributes: pure
Returns: integer
function periodcoord(coord, datashape)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
coord | integer | in | dimension(4) | Coord to check [it, ix, iy, iz] |
datashape | integer | in | dimension(7) | Dimensions of gaugefield [colour, colour, mu, NT, NX, NY, NZ] |
Call graph
wmunutau
Old unused function to calculate The nMuxNu loop at t=tau in plane mu nu Returns average value of realtrace of loop DOES NOT USE GENERIC PATH
Attributes: pure
Returns: real(kind=wp)
function wmunutau(data, tau, mu, nu, nmu, nnu) result(loopval)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
data | complex(kind=wc) | in | dimension(:, :, :, :, :, :, 😃 | The gaugefield [colour, colour, mu, NT, NX, NY, NZ] |
tau | integer | in | time slice to calculate at | |
mu | integer | in | plane to calcluate in | |
nu | integer | in | plane to calcluate in | |
nmu | integer | in | Dimensions of loop to calculate | |
nnu | integer | in | Dimensions of loop to calculate |
Call graph
wmunu
Calculates the nMuxnNu loop averages over all sites in the mu-nu plane Does not use genericPath
Attributes: pure
Returns: real(kind=wp)
function wmunu(data, mu, nu, nmu, nnu) result(loopval)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
data | complex(kind=wc) | in | dimension(:, :, :, :, :, :, 😃 | The Gaugefield [colour, colour, mu, NT, NX, NY, NZ] |
mu | integer | in | Plane to calculate in | |
nu | integer | in | Plane to calculate in | |
nmu | integer | in | Size of loop in mu, nu directions | |
nnu | integer | in | Size of loop in mu, nu directions |
Call graph