QUDA  v1.1.0
A library for QCD on GPUs
Namespaces | Functions
gauge_tools.h File Reference
#include <random_quda.h>

Go to the source code of this file.

Namespaces

 quda
 

Functions

void quda::gaugeObservables (GaugeField &u, QudaGaugeObservableParam &param, TimeProfile &profile)
 Calculates a variety of gauge-field observables. More...
 
void quda::projectSU3 (GaugeField &U, double tol, int *fails)
 Project the input gauge field onto the SU(3) group. This is a destructive operation. The number of link failures is reported so appropriate action can be taken. More...
 
double3 quda::plaquette (const GaugeField &U)
 Compute the plaquette of the gauge field. More...
 
void quda::gaugeGauss (GaugeField &U, RNG &rngstate, double epsilon)
 Generate Gaussian distributed su(N) or SU(N) fields. If U is a momentum field, then we generate random Gaussian distributed field in the Lie algebra using the anti-Hermitation convention. If U is in the group then we create a Gaussian distributed su(n) field and exponentiate it, e.g., U = exp(sigma * H), where H is the distributed su(n) field and sigma is the width of the distribution (sigma = 0 results in a free field, and sigma = 1 has maximum disorder). More...
 
void quda::gaugeGauss (GaugeField &U, unsigned long long seed, double epsilon)
 Generate Gaussian distributed su(N) or SU(N) fields. If U is a momentum field, then we generate random Gaussian distributed field in the Lie algebra using the anti-Hermitation convention. If U is in the group then we create a Gaussian distributed su(n) field and exponentiate it, e.g., U = exp(sigma * H), where H is the distributed su(n) field and sigma is the width of the distribution (sigma = 0 results in a free field, and sigma = 1 has maximum disorder). More...
 
void quda::APEStep (GaugeField &dataDs, GaugeField &dataOr, double alpha)
 Apply APE smearing to the gauge field. More...
 
void quda::STOUTStep (GaugeField &dataDs, GaugeField &dataOr, double rho)
 Apply STOUT smearing to the gauge field. More...
 
void quda::OvrImpSTOUTStep (GaugeField &dataDs, GaugeField &dataOr, double rho, double epsilon)
 Apply Over Improved STOUT smearing to the gauge field. More...
 
void quda::WFlowStep (GaugeField &out, GaugeField &temp, GaugeField &in, double epsilon, QudaWFlowType wflow_type)
 Apply Wilson Flow steps W1, W2, Vt to the gauge field. This routine assumes that the input and output fields are extended, with the input field being exchanged prior to calling this function. On exit from this routine, the output field will have been exchanged. More...
 
void quda::gaugeFixingOVR (GaugeField &data, const int gauge_dir, const int Nsteps, const int verbose_interval, const double relax_boost, const double tolerance, const int reunit_interval, const int stopWtheta)
 Gauge fixing with overrelaxation with support for single and multi GPU. More...
 
void quda::gaugeFixingFFT (GaugeField &data, const int gauge_dir, const int Nsteps, const int verbose_interval, const double alpha, const int autotune, const double tolerance, const int stopWtheta)
 Gauge fixing with Steepest descent method with FFTs with support for single GPU only. More...
 
void quda::computeFmunu (GaugeField &Fmunu, const GaugeField &gauge)
 Compute the Fmunu tensor. More...
 
void quda::computeQCharge (double energy[3], double &qcharge, const GaugeField &Fmunu)
 Compute the topological charge and field energy. More...
 
void quda::computeQChargeDensity (double energy[3], double &qcharge, void *qdensity, const GaugeField &Fmunu)
 Compute the topological charge, field energy and the topological charge density per lattice site. More...