59   const std::string 
test_name = 
"HMC.Clover_Isochemical.Nf2";
 
   63     const std::string filename_input  = 
"test_HMC_Clover_Isochemical_Nf2.yaml";
 
   64     const std::string filename_output = 
"stdout";
 
   66     class Parameters_Test_HMC_Clover_Isochemical : 
public Parameters {
 
   68       Parameters_Test_HMC_Clover_Isochemical()
 
   70         Register_string(
"gauge_config_status", 
"NULL");
 
   72         Register_string(
"gauge_config_type_input", 
"NULL");
 
   73         Register_string(
"config_filename_input", 
"NULL");
 
   75         Register_string(
"gauge_config_type_output", 
"NULL");
 
   76         Register_string(
"config_filename_output", 
"NULL");
 
   78         Register_int(
"trajectory_number", 0);
 
   79         Register_int(
"trajectory_number_step", 0);
 
   80         Register_int(
"save_config_interval", 0);
 
   82         Register_int(
"seed_for_noise", 0);
 
   83         Register_int(
"number_of_noises", 0);
 
   85         Register_string(
"verbose_level", 
"NULL");
 
   87         Register_double(
"expected_result", 0.0);
 
   95 #ifdef USE_TESTMANAGER_AUTOREGISTER 
   97 #if defined(USE_GROUP_SU2) 
  141     const string str_gconf_status = params_test->
get_string(
"gauge_config_status");
 
  142     const string str_gconf_read   = params_test->
get_string(
"gauge_config_type_input");
 
  143     const string readfile         = params_test->
get_string(
"config_filename_input");
 
  144     const string str_gconf_write  = params_test->
get_string(
"gauge_config_type_output");
 
  145     const string writefile        = params_test->
get_string(
"config_filename_output");
 
  146     int          i_conf           = params_test->
get_int(
"trajectory_number");
 
  147     const int    Ntraj            = params_test->
get_int(
"trajectory_number_step");
 
  148     const int    i_save_conf      = params_test->
get_int(
"save_config_interval");
 
  149     int          i_seed_noise     = params_test->
get_int(
"seed_for_noise");
 
  150     const string str_vlevel       = params_test->
get_string(
"verbose_level");
 
  152     const bool   do_check        = params_test->
is_set(
"expected_result");
 
  153     const double expected_result = do_check ? params_test->
get_double(
"expected_result") : 0.0;
 
  155     const string           str_action_G_type  = params_action_G->
get_string(
"action_type");
 
  156     const string           str_fopr_type      = params_fopr->
get_string(
"fermion_type");
 
  157     const string           str_gmset_type     = params_fopr->
get_string(
"gamma_matrix_type");
 
  158     const string           str_proj_type      = params_proj->
get_string(
"projection_type");
 
  159     const string           str_smear_type     = params_smear->
get_string(
"smear_type");
 
  160     const string           str_solver_MD_type = params_solver_MD->
get_string(
"solver_type");
 
  161     const string           str_solver_H_type  = params_solver_H->
get_string(
"solver_type");
 
  162     const int              Nlevels            = params_integrator->
get_int(
"number_of_levels");
 
  163     const std::vector<int> level_action       = params_integrator->
get_int_vector(
"level_of_actions");
 
  168     vout.
general(vl, 
"  gconf_status   = %s\n", str_gconf_status.c_str());
 
  169     vout.
general(vl, 
"  gconf_read     = %s\n", str_gconf_read.c_str());
 
  170     vout.
general(vl, 
"  readfile       = %s\n", readfile.c_str());
 
  171     vout.
general(vl, 
"  gconf_write    = %s\n", str_gconf_write.c_str());
 
  172     vout.
general(vl, 
"  writefile      = %s\n", writefile.c_str());
 
  175     vout.
general(vl, 
"  i_save_conf    = %d\n", i_save_conf);
 
  176     vout.
general(vl, 
"  i_seed_noise   = %d\n", i_seed_noise);
 
  177     vout.
general(vl, 
"  vlevel         = %s\n", str_vlevel.c_str());
 
  178     vout.
general(vl, 
"  gmset_type     = %s\n", str_gmset_type.c_str());
 
  179     vout.
general(vl, 
"  proj_type      = %s\n", str_proj_type.c_str());
 
  180     vout.
general(vl, 
"  smear_type     = %s\n", str_smear_type.c_str());
 
  181     vout.
general(vl, 
"  solver_MD_type = %s\n", str_solver_MD_type.c_str());
 
  182     vout.
general(vl, 
"  solver_H_type  = %s\n", str_solver_H_type.c_str());
 
  193       vout.
crucial(vl, 
"%s: Input parameters have not been set.\n", test_name.c_str());
 
  203     if (str_gconf_status == 
"Continue") {
 
  205     } 
else if (str_gconf_status == 
"Cold_start") {
 
  207     } 
else if (str_gconf_status == 
"Hot_start") {
 
  208       int i_seed_noise = 1234567;
 
  212       vout.
crucial(vl, 
"%s: unsupported gconf status \"%s\".\n", test_name.c_str(), str_gconf_status.c_str());
 
  261     actions.
append(level_action[0], action_F);
 
  262     actions.
append(level_action[1], action_G);
 
  264     std::vector<Director *> directors(1);
 
  274     HMC_General hmc(actions, directors, integrator, rand); 
 
  295     vout.
general(vl, 
"Polyakov loop = %e %e\n", real(ploop0), imag(ploop0));
 
  298     for (
int traj = 0; traj < Ntraj; ++traj) {
 
  304       if ((i_conf + traj + 1) % i_save_conf == 0) {
 
  310       vout.
general(vl, 
"Polyakov loop = %e %e\n", real(ploop1), imag(ploop1));
 
  312       double result_quark_suscept1 = quark_suscept->
measure();
 
  323       vout.
detailed(vl, 
"check skipped: expected_result not set.\n\n");
 
Random number generator base on M-series. 
 
void detailed(const char *format,...)
 
void set_parameters(const Parameters ¶ms)
 
void general(const char *format,...)
 
virtual void set_parameters(const Parameters &)=0
 
int get_int(const string &key) const 
 
static Parameters * New(const std::string &realm)
 
void read_file(Field *U, const string &filename)
 
void set_random(RandomNumbers *rand)
 
bool append(const int level, Action *action)
 
virtual void set_parameters(const Parameters ¶m)=0
 
Base class of Integrator class family. 
 
virtual void set_parameters(const Parameters ¶ms)=0
 
std::vector< int > get_int_vector(const string &key) const 
 
static bool RegisterTest(const std::string &key, const Test_function func)
 
void set_parameters(const Parameters ¶ms)
 
Manager of commonly used data object in HMC. 
 
bool is_set(const string &) const 
 
double get_double(const string &key) const 
 
std::string generate_filename(const char *fmt,...)
 
Quark number susceptibility for the Wilson-type fermion. 
 
void write_file(Field *U, const string &filename)
 
virtual void set_parameters(const Parameters &)=0
 
double measure()
measure tr1 = Tr[D1*Sq], tr2 = Tr[D2*Sq], tr3 = Tr[D1*Sq*D1*Sq]. 
 
int non_NULL(const std::string v)
 
Get quark propagator for Fopr with lexical site index. 
 
void crucial(const char *format,...)
 
virtual void set_parameters(const Parameters ¶ms)=0
 
void Register_Parameters(const string &, Parameters *const)
 
lists of actions at respective integrator levels. 
 
Manager of smeared configurations. 
 
int verify(const double result, const double expected, double eps)
 
Test of HMC update for clover fermions with isochemical potential. 
 
void set_parameters(const Parameters ¶ms)
 
Force calculation for smeared fermion operators. 
 
int non_negative(const int v)
 
static void read(const std::string ¶ms_file, Parameters *params)
 
virtual void set_parameters(const Parameters &)=0
 
dcomplex measure_ploop(Field_G &U)
Polyakov loop measurement. 
 
GaugeConfig class for file I/O of gauge configuration. 
 
Z2 Noise vector for trance calculation. 
 
string get_string(const string &key) const 
 
void report(const Bridge::VerboseLevel vl=Bridge::GENERAL)
 
virtual void set_parameters(const Parameters &)=0
 
Standard fermion action for HMC. 
 
static VerboseLevel set_verbose_level(const std::string &str)
 
const std::string test_name