Routines needed for Clover improved wilson fermions. More...
#include <su2hmc.h>Go to the source code of this file.
Classes | |
| struct | Bilinear_a |
| Structure of arrays for Hermitian bilinear \(X_{\mu\nu}\) in memory. More... | |
| struct | Bilinear |
| Hermitian bilinear \(X_{\mu\nu}\) on the local stack. More... | |
Functions | |
| void | ByGenLeft (Complex_f a[nc], const unsigned short gen) |
| Multiply leaf (or part of one) by generator from left. | |
| void | ByGenRight (Complex_f a[nc], const unsigned short gen) |
| Multiply leaf (or part of one) by generator from right. | |
| void | Clover_SU2plaq (Complex_f *ut[nc], Complex_f Leaves[nc], unsigned int *iu, int i, int mu, int nu) |
| Calculates the SU2 plaquette at site i in the \(\mu--\nu\) direction. | |
| void | Half_Leaves (Complex_f *hLeaves[2], Complex_f *ut[2], unsigned int *iu, unsigned int *id, const unsigned short mu, const unsigned short nu) |
| Calculates the products of the first two links in a plaquette. | |
| void | Leaf (Complex_f Leaves[nc], Complex_f *ut[nc], unsigned int *iu, unsigned int *id, unsigned int i, const unsigned short mu, const unsigned short nu, const unsigned short leaf) |
| Calculates a leaf for a clover term. | |
| void | Clover (Complex_f *clover[2], Complex_f *ut[2], unsigned int *iu, unsigned int *id) |
| Calculates the clovers in all directions at all sites. | |
| void | ByClover (Complex *phi, Complex *r, Complex *clover[2], Complex *sigval, const float akappa, unsigned short *sigin, bool dag) |
| Clover analogue of the Dslash operation. This version acts on all flavours similar to Dslash and Dslash_d. | |
| void | ByClover_f (Complex_f *phi, Complex_f *r, Complex_f *clover[2], Complex_f *sigval, const float akappa, unsigned short *sigin, bool dag) |
| Clover analogue of the Dslash operation. This version acts on all flavours similar to Dslash and Dslash_d. | |
| void | HbyClover (Complex *phi, Complex *r, Complex *clover[2], Complex *sigval, const float akappa, unsigned short *sigin, bool dag) |
| Clover analogue of the Dslash operation. This version acts on all flavours similar to Dslash and Dslash_d. | |
| void | HbyClover_f (Complex_f *phi, Complex_f *r, Complex_f *clover[2], Complex_f *sigval, const float akappa, unsigned short *sigin, bool dag) |
| Clover analogue of the Dslash operation. This version acts on all flavours similar to Dslash and Dslash_d. | |
| void | CalcXmunu (Bilinear_a Xmunu, Complex_f *X1, Complex_f *X2, const Complex_f *sigval, const unsigned short *sigin, const unsigned short mu, const unsigned short nu) |
| Gets \(X_{\mu\nu}\) for the clover force. | |
| void | Clov_Force (double *dSdpi, Complex_f *ut[2], Complex_f *X1, Complex_f *X2, const Complex_f *sigval, const unsigned short *sigin, unsigned int *iu, unsigned int *id, const float akappa) |
| Gets the clover contribution to the force. | |
| int | Init_clover (Complex **sigval, Complex_f **sigval_f, unsigned short **sigin, float c_sw) |
| Initialise values needed for the clover terms. | |
| void | Clover_free (Complex_f *clover[nc]) |
| Free's memory used for clover terms and leaves. | |
| int | cuClover (Complex_f *clover[nc], Complex_f *ut[nc], unsigned int *iu, unsigned int *id) |
| CUDA wrapper for calculating the clovers in all directions at all sites \( F_{\mu\nu}(n)=\frac{-i}{8a^2}\left(Q_{\mu\nu}(n)-Q_{\nu\mu}(n)\right)\). | |
| void | cuByClover (Complex *phi, Complex *r, Complex *clover[nc], Complex *sigval, const float akappa, unsigned short *sigin, bool dag) |
| CUDA wrapper for ByClover. | |
| void | cuHbyClover (Complex *phi, Complex *r, Complex *clover[nc], Complex *sigval, const float akappa, unsigned short *sigin, bool dag) |
| CUDA wrapper for HbyClover. | |
| void | cuByClover_f (Complex_f *phi, Complex_f *r, Complex_f *clover[nc], Complex_f *sigval, const float akappa, unsigned short *sigin, bool dag) |
| CUDA wrapper for ByClover_f. | |
| void | cuHbyClover_f (Complex_f *phi, Complex_f *r, Complex_f *clover[nc], Complex_f *sigval, const float akappa, unsigned short *sigin, bool dag) |
| CUDA wrapper for HbyClover_f. | |
| void | cuCalcXmunu (Bilinear_a Xmunu, Complex_f *X1, Complex_f *X2, const Complex_f *sigval, const unsigned short *sigin, const unsigned short mu, const unsigned short nu) |
| CUDA wrapper for CalcXmunu. Only called during testing to be honest. | |
| int | cuClov_Force (double *dSdpi, Complex_f *ut[nc], Complex_f *X1, Complex_f *X2, const Complex_f *sigval, const unsigned short *sigin, const unsigned int *iu, const unsigned int *id, const float akappa) |
| CUDA wrapper for Clover_Force. | |
Routines needed for Clover improved wilson fermions.
Definition in file clover.h.