|
su2hmc
|
An ecclectic collection of functions used in the HMC. More...
#include <assert.h>#include <coord.h>#include <matrices.h>#include <par_mpi.h>#include <random.h>#include <string.h>#include <su2hmc.h>Go to the source code of this file.
Functions | |
| int | Init (int istart, int ibound, int iread, float beta, float fmu, float akappa, Complex_f ajq, Complex *u[2], Complex *ut[2], Complex_f *ut_f[2], Complex *gamval, Complex_f *gamval_f, int *gamin, double *dk[2], float *dk_f[2], unsigned int *iu, unsigned int *id) |
| Initialises the system. | |
| int | Hamilton (double *h, double *s, double res2, double *pp, Complex *X0, Complex *X1, Complex *Phi, Complex_f *ut[2], unsigned int *iu, unsigned int *id, Complex_f *gamval_f, int *gamin, float *dk[2], Complex_f jqq, float akappa, float beta, double *ancgh, int traj) |
| Calculate the Hamiltonian. | |
| int | C_gather (Complex_f *x, Complex_f *y, int n, unsigned int *table, unsigned int mu) |
| Extracts all the single precision gauge links in the \(\mu\) direction only. | |
| int | Z_gather (Complex *x, Complex *y, int n, unsigned int *table, unsigned int mu) |
| Extracts all the double precision gauge links in the \(\mu\) direction only. | |
| int | Fill_Small_Phi (int na, Complex *smallPhi, Complex *Phi) |
| int | UpDownPart (const int na, Complex *X0, Complex *R1) |
An ecclectic collection of functions used in the HMC.
Definition in file su2hmc.c.
Extracts all the single precision gauge links in the \(\mu\) direction only.
| x | The output |
| y | The gauge field for a particular colour |
| n | Number of sites in the gauge field. This is typically kvol |
| table | Table containing information on nearest neighbours. Usually id or iu |
| mu | Direciton we're interested in extractng |
Definition at line 357 of file su2hmc.c.
References Complex_f, and ndim.
Copies necessary (2*4*kvol) elements of Phi into a vector variable
| na | flavour index |
| smallPhi | The partitioned output |
| Phi | The pseudofermion field |
Definition at line 385 of file su2hmc.c.
References Complex, kvol, nc, ndirac, and ngorkov.
| int Hamilton | ( | double * | h, |
| double * | s, | ||
| double | res2, | ||
| double * | pp, | ||
| Complex * | X0, | ||
| Complex * | X1, | ||
| Complex * | Phi, | ||
| Complex_f * | ut[2], | ||
| unsigned int * | iu, | ||
| unsigned int * | id, | ||
| Complex_f * | gamval_f, | ||
| int * | gamin, | ||
| float * | dk[2], | ||
| Complex_f | jqq, | ||
| float | akappa, | ||
| float | beta, | ||
| double * | ancgh, | ||
| int | traj ) |
Calculate the Hamiltonian.
| h | Hamiltonian |
| s | Action |
| res2 | Limit for conjugate gradient |
| pp | Momentum field |
| X0 | Up/down partitioned pseudofermion field |
| X1 | Holder for the partitioned fermion field, then the conjugate gradient output |
| Phi | Pseudofermion field |
| ut | Gauge fields (single precision) |
| iu,id | Lattice indices |
| gamval_f | Single precision gamma matrices rescaled by kappa |
| gamin | Gamma indices |
| dk_f | \(\left(1+\gamma_0\right)e^{-\mu}\) and \(\left(1-\gamma_0\right)e^\mu\) float |
| jqq | Diquark source |
| akappa | Hopping parameter |
| beta | Inverse gauge coupling |
| ancgh | Conjugate gradient iterations counter |
| traj | Calling trajectory for error reporting |
Definition at line 245 of file su2hmc.c.
References Average_Plaquette(), AVX, Complex, Complex_f, Congradq(), Fill_Small_Phi(), kferm2, kmom, nf, Par_dsum(), and rank.
| int Init | ( | int | istart, |
| int | ibound, | ||
| int | iread, | ||
| float | beta, | ||
| float | fmu, | ||
| float | akappa, | ||
| Complex_f | ajq, | ||
| Complex * | u[2], | ||
| Complex * | ut[2], | ||
| Complex_f * | ut_f[2], | ||
| Complex * | gamval, | ||
| Complex_f * | gamval_f, | ||
| int * | gamin, | ||
| double * | dk[2], | ||
| float * | dk_f[2], | ||
| unsigned int * | iu, | ||
| unsigned int * | id ) |
Initialises the system.
| istart | Zero for cold, >1 for hot, <1 for none |
| ibound | Periodic boundary conditions |
| iread | Read configuration from file |
| beta | Inverse gauge coupling |
| fmu | Chemical potential |
| akappa | Hopping parameter |
| ajq | Diquark source |
| u | Gauge fields |
| ut | Trial gauge field |
| ut_f | Trial gauge field (single precision) |
| dk | \(\left(1+\gamma_0\right)e^{-\mu}\) and \(\left(1-\gamma_0\right)^\mu\) |
| dk_f | \(\left(1+\gamma_0\right)e^{-\mu}\) and \(\left(1-\gamma_0\right)^\mu\) float |
| iu,id | Up halo indices |
| gamin | Gamma matrix indices |
| gamval | Double precision gamma matrices rescaled by kappa |
| gamval_f | Single precision gamma matrices rescaled by kappa |
Definition at line 19 of file su2hmc.c.
References Addrc(), AVX, Check_addr(), Complex, Complex_f, DHalo_swap_dir(), halo, ksize, ksizet, kvol, kvol3, ndim, npt, nthreads, Par_ranset(), Par_sread(), pcoord, ran2(), rank, Reunitarise(), seed, and UP.
Definition at line 416 of file su2hmc.c.
Extracts all the double precision gauge links in the \(\mu\) direction only.
| x | The output |
| y | The gauge field for a particular colour |
| n | Number of sites in the gauge field. This is typically kvol |
| table | Table containing information on nearest neighbours. Usually id or iu |
| mu | Direciton we're interested in extractng |
Definition at line 371 of file su2hmc.c.