|
QUDA
0.9.0
|
#include <dirac_quda.h>


Even-odd preconditioned variant of coarse Dslash operator
Definition at line 861 of file dirac_quda.h.
| quda::DiracCoarsePC::DiracCoarsePC | ( | const DiracParam & | param, |
| bool | enable_gpu = true |
||
| ) |
Definition at line 239 of file dirac_coarse.cpp.
| quda::DiracCoarsePC::DiracCoarsePC | ( | const DiracCoarse & | dirac, |
| const DiracParam & | param | ||
| ) |
Definition at line 244 of file dirac_coarse.cpp.
|
virtual |
Definition at line 249 of file dirac_coarse.cpp.
|
virtual |
Create the coarse even-odd preconditioned coarse operator. Unlike the Wilson operator, the coarsening of the preconditioned coarse operator differs from that of the unpreconditioned coarse operator, so we need to specialize it.
| T[in] | Transfer operator defining the coarse grid |
| Y[out] | Coarse link field |
| X[out] | Coarse clover field |
| Xinv[out] | Coarse clover inverse field |
| Yhat | coarse preconditioned link field |
| kappa | Kappa parameter for the coarse operator |
| mu | TM mu parameter for the coarse operator |
| mu_factor | multiplicative factor for the mu parameter |
Reimplemented from quda::DiracCoarse.
Definition at line 406 of file dirac_coarse.cpp.
References a, checkLocation, quda::CoarseCoarseOp(), quda::Dirac::kappa, quda::Dirac::matpcType, quda::DiracCoarse::mu, quda::DiracCoarse::mu_factor, QUDA_COARSEPC_DIRAC, QUDA_CPU_FIELD_LOCATION, quda::ColorSpinorField::TwistFlavor(), quda::Transfer::Vectors(), X, quda::DiracCoarse::X_d, quda::DiracCoarse::X_h, quda::DiracCoarse::Xinv_d, quda::DiracCoarse::Xinv_h, quda::DiracCoarse::Yhat_d, and quda::DiracCoarse::Yhat_h.

|
virtual |
Apply DslashXpay out = (D * in)
| [out] | out | Output field |
| [in] | in | Input field |
| [paraity] | parity Parity which we are applying the operator to |
Reimplemented from quda::DiracCoarse.
Definition at line 251 of file dirac_coarse.cpp.
References quda::ApplyCoarse(), checkLocation, quda::Dirac::dagger, quda::DiracCoarse::enable_gpu, errorQuda, quda::Dirac::flops, in, quda::Dirac::kappa, n, out, parity, QUDA_CPU_FIELD_LOCATION, QUDA_CUDA_FIELD_LOCATION, quda::DiracCoarse::X_d, quda::DiracCoarse::X_h, quda::DiracCoarse::Yhat_d, and quda::DiracCoarse::Yhat_h.
Referenced by DslashXpay(), and M().


|
virtual |
Apply DslashXpay out = (D * in + A * x)
| [out] | out | Output field |
| [in] | in | Input field |
| [paraity] | parity Parity which we are applying the operator to |
Reimplemented from quda::DiracCoarse.
Definition at line 264 of file dirac_coarse.cpp.
References Dslash(), quda::Dirac::flops, in, n, out, parity, x, and quda::blas::xpay().
Referenced by M().


|
virtual |
Apply the full operator.
| [out] | out | output vector, out = M * in |
| [in] | in | input vector |
Reimplemented from quda::DiracCoarse.
Definition at line 275 of file dirac_coarse.cpp.
References quda::DiracCoarse::Clover(), quda::Dirac::deleteTmp(), quda::DiracCoarse::Dslash(), Dslash(), DslashXpay(), errorQuda, in, quda::Dirac::matpcType, quda::Dirac::newTmp(), out, QUDA_EVEN_PARITY, QUDA_FULL_SITE_SUBSET, QUDA_MATPC_EVEN_EVEN, QUDA_MATPC_EVEN_EVEN_ASYMMETRIC, QUDA_MATPC_ODD_ODD, QUDA_MATPC_ODD_ODD_ASYMMETRIC, QUDA_ODD_PARITY, quda::ColorSpinorField::SiteSubset(), quda::Dirac::tmp1, and quda::blas::xpay().
Referenced by MdagM().


|
virtual |
Reimplemented from quda::DiracCoarse.
Definition at line 311 of file dirac_coarse.cpp.
References quda::Dirac::deleteTmp(), in, M(), quda::Dirac::Mdag(), quda::Dirac::newTmp(), out, and quda::Dirac::tmp2.

|
virtual |
Reimplemented from quda::DiracCoarse.
Definition at line 319 of file dirac_coarse.cpp.
References b, quda::DiracCoarse::CloverInv(), quda::Dirac::deleteTmp(), quda::DiracCoarse::Dslash(), errorQuda, quda::Dirac::matpcType, quda::Dirac::newTmp(), QUDA_EVEN_PARITY, QUDA_MATPC_EVEN_EVEN, QUDA_MATPC_EVEN_EVEN_ASYMMETRIC, QUDA_MATPC_ODD_ODD, QUDA_MATPC_ODD_ODD_ASYMMETRIC, QUDA_MATPC_SOLUTION, QUDA_MATPCDAG_MATPC_SOLUTION, QUDA_ODD_PARITY, src, quda::Dirac::tmp1, x, and quda::blas::xpay().

|
virtual |
Reimplemented from quda::DiracCoarse.
Definition at line 372 of file dirac_coarse.cpp.
References b, quda::Dirac::checkFullSpinor(), quda::DiracCoarse::CloverInv(), quda::Dirac::deleteTmp(), quda::DiracCoarse::Dslash(), errorQuda, quda::Dirac::matpcType, quda::Dirac::newTmp(), QUDA_EVEN_PARITY, QUDA_MATPC_EVEN_EVEN, QUDA_MATPC_EVEN_EVEN_ASYMMETRIC, QUDA_MATPC_ODD_ODD, QUDA_MATPC_ODD_ODD_ASYMMETRIC, QUDA_MATPC_SOLUTION, QUDA_MATPCDAG_MATPC_SOLUTION, QUDA_ODD_PARITY, quda::Dirac::tmp1, x, and quda::blas::xpay().

1.8.14