lattice / quda

QUDA is a library for performing calculations in lattice QCD on GPUs.
https://lattice.github.io/quda
Other
286 stars 94 forks source link

Support chirally-projected fields #96

Closed mchengcit closed 10 years ago

mchengcit commented 11 years ago

Add support for chirally-projected fields, i.e. a full four-component field \psi, stored as two two-component fields (1+\gamma_5)/2 * \psi and (1-\gamma_5)/2 * \psi. Or, in QDP notation:

void QCDPC(V2eqD)(QDPN(ColorVector) _v[2], QDP_DiracFermion d, QDP_Subset sub) { int g5[2] = {4,4}; int pm[2] = {1,-1}; QDP_DiracFermion d2[2] = {d,d}; QDP_H_veq_spproj_D((QDPHalfFermion *)v, d2, g5, pm, sub, 2); }

Necessary for Wilson multigrid, where it is convenient to use this storage scheme.

maddyscientist commented 11 years ago

Assigning to me. These are stored in a single contiguous array though aren't they, just separated into two separate fields? Am I correct in thinking that the field ordering is thus:

[chirality][single parity spacetime][color][spin mod 2][complex]

where I am assuming C ordering (fastest on the right). I presume that full fields would have the parity index as a slower running index than chirality.

maddyscientist commented 10 years ago

Closing this issue, since it was only relevant for interfacing QUDA with the QOP multigrid solver, which isn't relevant now since QUDA has it's own multigrid solver now.