void update_h_u1( Real eps ){ int ff_prec = PRECISION; /* Just use prevailing precision for now */ int i, dir; site *s; #ifdef FN free_fn_links_u1(&fn_links); free_fn_links_u1(&fn_links_dmdu0); #endif /* gauge field force */ rephase(OFF); #ifdef NON_COMPACT gauge_force(eps); #else imp_gauge_force(eps,F_OFFSET(mom)); //compact gauge force #endif rephase(ON); /* fermionic force */ /* First compute M*xxx in temporary vector xxx_odd */ /* See long comment at end of file */ /* The diagonal term in M doesn't matter */ /*for(dir=XUP;dir<=TUP;dir++) FORALLMYSITES(i,s) { if(dir!=TUP && s->link[dir].real != 1.) printf("spatial link[%d], numbr. %d is non-zero\n"); }*/ eo_fermion_force_oneterm_u1( eps, ((Real)nflavors)/4., F_OFFSET(xxx), ff_prec, &fn_links, &ks_act_paths ); #ifdef DRUT_DEBUG for(dir=XUP;dir<=TUP;dir++) FORALLSITES(i,s) { if(dir != TUP) { /*printf("spatial link[%d], numbr. %d is non-zero (%e,%e)\n", dir, i, s->link[dir].real, s->link[dir].imag);*/ s->mom[dir].imag = 0.; } } #endif /* keep N_f/4 as in graphene can just keep N_f=4 for unquenched and N_f=0 for quenched C.W. 7/12/2011 */ } /* update_h_u1 */
void update_h( Real eps ) { /* gauge field force */ gauge_force( eps ); /* fermionic force */ fermion_force( eps ); } /* update_h */