/Users/mdipierro/fermiqcd/development/Libraries/fermiqcd_staggered_algorithms.h File Reference

Go to the source code of this file.

Functions

mdp_matrix Omega4x4 (mdp_site x)
void mul_Q (staggered_field &psi_out, staggered_field &psi_in, gauge_field &U, coefficients &coeff, int parity=EVENODD)
 Executes current Staggered/Asqtad action.
inversion_stats mul_invQ (staggered_field &psi_out, staggered_field &psi_in, gauge_field &U, coefficients &coeff, mdp_real absolute_precision=staggered_inversion_precision, mdp_real relative_precision=0, int max_steps=2000)
 Executes current Staggered/Asqtad inverter.
mdp_array< mdp_real, 1 > lepage_coefficients (mdp_real plaquette, char type[])
void lepage_improved_links (gauge_field &V, gauge_field &U, mdp_array< mdp_real, 1 > c, int project=false)
void staggered_rephase (gauge_field &U, staggered_field &chi)

Variables

void(* default_staggered_action )(staggered_field &, staggered_field &, gauge_field &, coefficients &, int) = StaggeredAsqtadActionFast::mul_Q
 Pointer to current Staggered/Asqtad action.
inversion_stats(* default_staggered_inverter )(staggered_field &, staggered_field &, gauge_field &, coefficients &, mdp_real, mdp_real, int) = &(BiCGStab::inverter<staggered_field,gauge_field>)
 Pointer to current Staggered/Asqtad inverter.

Detailed Description

Version:
2009-12-21
Author:
Massimo Di Pierro <mdipierro@cs.depaul.edu>

Various stuff for staggered fermions

Distributed under GPL2 License

Created with support from the US Department of Energy


Function Documentation

mdp_array<mdp_real,1> lepage_coefficients ( mdp_real  plaquette,
char  type[] 
)

Takes a plaquette and a type of action and returns a 1D array with weights of paths required to build fat links for the action

See also:
lepage_improved_links()
void lepage_improved_links ( gauge_field V,
gauge_field U,
mdp_array< mdp_real, 1 >  c,
int  project = false 
)

Takes a gauge field U and a set of coefficients as computed by lepage_coefficients() and fills the gauge field V with fat links and Long links

Example:

/// gauge_field U(lattice,nc);
/// gauge_field V(lattice,nc);
/// U.load("myfield");
/// float p=1.0; // the average plaquette
/// lepage_improved_links(V,U,lepage_coefficients(p,"Full"),false);
/// /// now use V instead of U for staggered actions and inverters
/// 

Note that the type of action can be

  • "Full" for full as asqtad
  • "Staple+Naik"
  • "Fat3"
  • "Fat5"
  • "Fat7" Also note that if project==true the fat links are projected back to SU(nc)
inversion_stats mul_invQ ( staggered_field psi_out,
staggered_field psi_in,
gauge_field U,
coefficients coeff,
mdp_real  absolute_precision = staggered_inversion_precision,
mdp_real  relative_precision = 0,
int  max_steps = 2000 
)

Executes current Staggered/Asqtad inverter.

void mul_Q ( staggered_field psi_out,
staggered_field psi_in,
gauge_field U,
coefficients coeff,
int  parity = EVENODD 
)

Executes current Staggered/Asqtad action.

mdp_matrix Omega4x4 ( mdp_site  x  ) 
void staggered_rephase ( gauge_field U,
staggered_field chi 
)

Variable Documentation

void(* default_staggered_action)(staggered_field &, staggered_field &, gauge_field &, coefficients &, int) = StaggeredAsqtadActionFast::mul_Q

Pointer to current Staggered/Asqtad action.

Pointer to current Staggered/Asqtad inverter.

 All Classes Namespaces Files Functions Variables Typedefs Enumerator Friends Defines

Generated on Wed Dec 23 14:03:14 2009 for fermiqcd by  doxygen 1.6.1