QUDA  v1.1.0
A library for QCD on GPUs
Classes | Namespaces | Functions
multigrid.h File Reference
#include <invert_quda.h>
#include <transfer.h>
#include <vector>
#include <complex_quda.h>

Go to the source code of this file.

Classes

struct  quda::MGParam
 
class  quda::MG
 
struct  quda::multigrid_solver
 

Namespaces

 quda
 

Functions

void quda::ApplyCoarse (ColorSpinorField &out, const ColorSpinorField &inA, const ColorSpinorField &inB, const GaugeField &Y, const GaugeField &X, double kappa, int parity=QUDA_INVALID_PARITY, bool dslash=true, bool clover=true, bool dagger=false, const int *commDim=0, QudaPrecision halo_precision=QUDA_INVALID_PRECISION)
 Apply the coarse dslash stencil. This single driver accounts for all variations with and without the clover field, with and without dslash, and both single and full parity fields. More...
 
void quda::CoarseOp (GaugeField &Y, GaugeField &X, const Transfer &T, const cudaGaugeField &gauge, const cudaCloverField *clover, double kappa, double mass, double mu, double mu_factor, QudaDiracType dirac, QudaMatPCType matpc)
 Coarse operator construction from a fine-grid operator (Wilson / Clover) More...
 
void quda::StaggeredCoarseOp (GaugeField &Y, GaugeField &X, const Transfer &T, const cudaGaugeField &gauge, const cudaGaugeField *XinvKD, double mass, QudaDiracType dirac, QudaMatPCType matpc)
 Coarse operator construction from a fine-grid operator (Staggered) More...
 
void quda::CoarseCoarseOp (GaugeField &Y, GaugeField &X, const Transfer &T, const GaugeField &gauge, const GaugeField &clover, const GaugeField &cloverInv, double kappa, double mass, double mu, double mu_factor, QudaDiracType dirac, QudaMatPCType matpc, bool need_bidirectional, bool use_mma=false)
 Coarse operator construction from an intermediate-grid operator (Coarse) More...
 
void quda::calculateYhat (GaugeField &Yhat, GaugeField &Xinv, const GaugeField &Y, const GaugeField &X, bool use_mma=false)
 Calculate preconditioned coarse links and coarse clover inverse field. More...