QUDA
1.0.0
|
Full Gauge Laplace operator. Although not a Dirac operator per se, it's a linear operator so it's conventient to put in the Dirac operator abstraction. More...
#include <dirac_quda.h>
Public Member Functions | |
GaugeLaplace (const DiracParam ¶m) | |
GaugeLaplace (const GaugeLaplace &laplace) | |
virtual | ~GaugeLaplace () |
GaugeLaplace & | operator= (const GaugeLaplace &laplace) |
virtual void | Dslash (ColorSpinorField &out, const ColorSpinorField &in, const QudaParity parity) const |
virtual void | DslashXpay (ColorSpinorField &out, const ColorSpinorField &in, const QudaParity parity, const ColorSpinorField &x, const double &k) const |
virtual void | M (ColorSpinorField &out, const ColorSpinorField &in) const |
virtual void | MdagM (ColorSpinorField &out, const ColorSpinorField &in) const |
virtual void | prepare (ColorSpinorField *&src, ColorSpinorField *&sol, ColorSpinorField &x, ColorSpinorField &b, const QudaSolutionType) const |
virtual void | reconstruct (ColorSpinorField &x, const ColorSpinorField &b, const QudaSolutionType) const |
![]() | |
Dirac (const DiracParam ¶m) | |
Dirac (const Dirac &dirac) | |
virtual | ~Dirac () |
Dirac & | operator= (const Dirac &dirac) |
void | setCommDim (const int commDim_[QUDA_MAX_DIM]) const |
Enable / disable communications for the Dirac operator. More... | |
virtual void | checkParitySpinor (const ColorSpinorField &, const ColorSpinorField &) const |
virtual void | checkFullSpinor (const ColorSpinorField &, const ColorSpinorField &) const |
void | checkSpinorAlias (const ColorSpinorField &, const ColorSpinorField &) const |
void | Mdag (ColorSpinorField &out, const ColorSpinorField &in) const |
void | MMdag (ColorSpinorField &out, const ColorSpinorField &in) const |
void | setMass (double mass) |
double | Kappa () const |
virtual double | Mu () const |
virtual double | MuFactor () const |
unsigned long long | Flops () const |
QudaMatPCType | getMatPCType () const |
int | getStencilSteps () const |
void | Dagger (QudaDagType dag) const |
void | flipDagger () const |
virtual void | createCoarseOp (GaugeField &Y, GaugeField &X, const Transfer &T, double kappa, double mass=0., double mu=0., double mu_factor=0.) const |
Create the coarse operator (virtual parent) More... | |
QudaPrecision | HaloPrecision () const |
void | setHaloPrecision (QudaPrecision halo_precision_) const |
![]() | |
Object () | |
virtual | ~Object () |
Additional Inherited Members | |
![]() | |
static Dirac * | create (const DiracParam ¶m) |
![]() | |
static void * | operator new (std::size_t size) |
static void | operator delete (void *p) |
static void * | operator new[] (std::size_t size) |
static void | operator delete[] (void *p) |
![]() | |
bool | newTmp (ColorSpinorField **, const ColorSpinorField &) const |
void | deleteTmp (ColorSpinorField **, const bool &reset) const |
![]() | |
cudaGaugeField * | gauge |
double | kappa |
double | mass |
int | laplace3D |
QudaMatPCType | matpcType |
QudaDagType | dagger |
unsigned long long | flops |
ColorSpinorField * | tmp1 |
ColorSpinorField * | tmp2 |
QudaDiracType | type |
QudaPrecision | halo_precision |
int | commDim [QUDA_MAX_DIM] |
TimeProfile | profile |
Full Gauge Laplace operator. Although not a Dirac operator per se, it's a linear operator so it's conventient to put in the Dirac operator abstraction.
Definition at line 1022 of file dirac_quda.h.
quda::GaugeLaplace::GaugeLaplace | ( | const DiracParam & | param | ) |
Definition at line 9 of file gauge_laplace.cpp.
quda::GaugeLaplace::GaugeLaplace | ( | const GaugeLaplace & | laplace | ) |
Definition at line 11 of file gauge_laplace.cpp.
|
virtual |
Definition at line 13 of file gauge_laplace.cpp.
|
virtual |
Implements quda::Dirac.
Definition at line 21 of file gauge_laplace.cpp.
References quda::ApplyLaplace(), quda::Dirac::checkSpinorAlias(), comm_dim(), comm_dim_partitioned(), quda::Dirac::dagger, quda::Dirac::flops, quda::Dirac::gauge, quda::Dirac::laplace3D, quda::Dirac::profile, and quda::ColorSpinorField::Volume().
Referenced by quda::GaugeLaplacePC::M().
|
virtual |
Implements quda::Dirac.
Definition at line 35 of file gauge_laplace.cpp.
References quda::ApplyLaplace(), quda::Dirac::checkSpinorAlias(), comm_dim(), comm_dim_partitioned(), quda::Dirac::dagger, quda::Dirac::flops, quda::Dirac::gauge, quda::Dirac::laplace3D, quda::Dirac::profile, and quda::ColorSpinorField::Volume().
Referenced by M(), quda::GaugeLaplacePC::M(), quda::GaugeLaplacePC::prepare(), and quda::GaugeLaplacePC::reconstruct().
|
virtual |
Implements quda::Dirac.
Reimplemented in quda::GaugeLaplacePC.
Definition at line 51 of file gauge_laplace.cpp.
References quda::Dirac::checkFullSpinor(), DslashXpay(), quda::Dirac::kappa, and QUDA_INVALID_PARITY.
Referenced by MdagM().
|
virtual |
Implements quda::Dirac.
Reimplemented in quda::GaugeLaplacePC.
Definition at line 57 of file gauge_laplace.cpp.
References quda::Dirac::checkFullSpinor(), quda::Dirac::deleteTmp(), M(), quda::Dirac::Mdag(), quda::Dirac::newTmp(), and quda::Dirac::tmp1.
GaugeLaplace & quda::GaugeLaplace::operator= | ( | const GaugeLaplace & | laplace | ) |
Definition at line 15 of file gauge_laplace.cpp.
References quda::Dirac::operator=().
Referenced by quda::GaugeLaplacePC::operator=().
|
virtual |
Implements quda::Dirac.
Reimplemented in quda::GaugeLaplacePC.
Definition at line 68 of file gauge_laplace.cpp.
References errorQuda, QUDA_MATPC_SOLUTION, and QUDA_MATPCDAG_MATPC_SOLUTION.
|
virtual |
Implements quda::Dirac.
Reimplemented in quda::GaugeLaplacePC.
Definition at line 80 of file gauge_laplace.cpp.