mirror of
https://github.com/paboyle/Grid.git
synced 2025-04-09 21:50:45 +01:00
Sign factor for tadpole implementation corrected.
This commit is contained in:
parent
895244ecc3
commit
8083e3f7e8
@ -880,7 +880,7 @@ void CayleyFermion5D<Impl>::SeqConservedCurrent(PropagatorField &q_in,
|
|||||||
}
|
}
|
||||||
|
|
||||||
std::vector<RealD> G_s(Ls,1.0);
|
std::vector<RealD> G_s(Ls,1.0);
|
||||||
Integer sign = 1; // sign flip for vector/tadpole
|
RealD sign = 1.0; // sign flip for vector/tadpole
|
||||||
if ( curr_type == Current::Axial ) {
|
if ( curr_type == Current::Axial ) {
|
||||||
for(int s=0;s<Ls/2;s++){
|
for(int s=0;s<Ls/2;s++){
|
||||||
G_s[s] = -1.0;
|
G_s[s] = -1.0;
|
||||||
@ -890,7 +890,7 @@ void CayleyFermion5D<Impl>::SeqConservedCurrent(PropagatorField &q_in,
|
|||||||
auto b=this->_b;
|
auto b=this->_b;
|
||||||
auto c=this->_c;
|
auto c=this->_c;
|
||||||
if ( b == 1 && c == 0 ) {
|
if ( b == 1 && c == 0 ) {
|
||||||
sign = -1;
|
sign = -1.0;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
std::cerr << "Error: Tadpole implementation currently unavailable for non-Shamir actions." << std::endl;
|
std::cerr << "Error: Tadpole implementation currently unavailable for non-Shamir actions." << std::endl;
|
||||||
@ -919,7 +919,7 @@ void CayleyFermion5D<Impl>::SeqConservedCurrent(PropagatorField &q_in,
|
|||||||
|
|
||||||
tmp = Cshift(tmp,mu,1);
|
tmp = Cshift(tmp,mu,1);
|
||||||
Impl::multLinkField(Utmp,this->Umu,tmp,mu);
|
Impl::multLinkField(Utmp,this->Umu,tmp,mu);
|
||||||
tmp = sign*G_s[s]*( Utmp*ph - gmu*Utmp*ph ); // Forward hop
|
tmp = G_s[s]*( Utmp*ph - gmu*Utmp*ph ); // Forward hop
|
||||||
tmp = where((lcoor>=tmin),tmp,zz); // Mask the time
|
tmp = where((lcoor>=tmin),tmp,zz); // Mask the time
|
||||||
L_Q = where((lcoor<=tmax),tmp,zz); // Position of current complicated
|
L_Q = where((lcoor<=tmax),tmp,zz); // Position of current complicated
|
||||||
|
|
||||||
@ -933,7 +933,7 @@ void CayleyFermion5D<Impl>::SeqConservedCurrent(PropagatorField &q_in,
|
|||||||
tmp = tmp *ph;
|
tmp = tmp *ph;
|
||||||
tmp = Cshift(tmp,mu,-1);
|
tmp = Cshift(tmp,mu,-1);
|
||||||
Impl::multLinkField(Utmp,this->Umu,tmp,mu+Nd); // Adjoint link
|
Impl::multLinkField(Utmp,this->Umu,tmp,mu+Nd); // Adjoint link
|
||||||
tmp = -G_s[s]*( Utmp + gmu*Utmp );
|
tmp = -1*sign*G_s[s]*( Utmp + gmu*Utmp );
|
||||||
tmp = where((lcoor>=tmin+tshift),tmp,zz); // Mask the time
|
tmp = where((lcoor>=tmin+tshift),tmp,zz); // Mask the time
|
||||||
L_Q += where((lcoor<=tmax+tshift),tmp,zz); // Position of current complicated
|
L_Q += where((lcoor<=tmax+tshift),tmp,zz); // Position of current complicated
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user