45 namespace Test_QuarkNumSuscept {
46 const std::string
test_name =
"QuarkNumberSusceptibility.Clover_Isochemical";
50 const std::string filename_input =
"test_QuarkNumberSusceptibility_Clover_Isochemical.yaml";
51 const std::string filename_output =
"stdout";
53 class Parameters_Test_QuarkNumSuscept_Clover_Isochemical :
public Parameters {
55 Parameters_Test_QuarkNumSuscept_Clover_Isochemical()
57 Register_string(
"gauge_config_status",
"NULL");
58 Register_string(
"gauge_config_type_input",
"NULL");
59 Register_string(
"config_filename_input",
"NULL");
61 Register_int(
"seed_for_noise", 0);
62 Register_int(
"number_of_noises", 0);
64 Register_string(
"verbose_level",
"NULL");
66 Register_double(
"expected_result", 0.0);
74 #ifdef USE_TESTMANAGER_AUTOREGISTER
76 #if defined(USE_GROUP_SU2)
95 Parameters *params_test =
new Parameters_Test_QuarkNumSuscept_Clover_Isochemical;
111 params_manager.
read_params(filename_input, params_all);
113 const string str_gconf_status = params_test->
get_string(
"gauge_config_status");
114 const string str_gconf_read = params_test->
get_string(
"gauge_config_type_input");
115 const string readfile = params_test->
get_string(
"config_filename_input");
116 int i_seed_noise = params_test->
get_int(
"seed_for_noise");
117 const string str_vlevel = params_test->
get_string(
"verbose_level");
119 const bool do_check = params_test->
is_set(
"expected_result");
120 const double expected_result = do_check ? params_test->
get_double(
"expected_result") : 0.0;
122 const string str_gmset_type = params_clover->
get_string(
"gamma_matrix_type");
123 const string str_proj_type = params_proj->
get_string(
"projection_type");
124 const string str_smear_type = params_smear->
get_string(
"smear_type");
125 const string str_solver_type = params_solver->
get_string(
"solver_type");
130 vout.
general(vl,
" gconf_status = %s\n", str_gconf_status.c_str());
131 vout.
general(vl,
" gconf_read = %s\n", str_gconf_read.c_str());
132 vout.
general(vl,
" readfile = %s\n", readfile.c_str());
133 vout.
general(vl,
" i_seed_noise = %d\n", i_seed_noise);
134 vout.
general(vl,
" vlevel = %s\n", str_vlevel.c_str());
135 vout.
general(vl,
" gmset_type = %s\n", str_gmset_type.c_str());
136 vout.
general(vl,
" proj_type = %s\n", str_proj_type.c_str());
137 vout.
general(vl,
" smear_type = %s\n", str_smear_type.c_str());
138 vout.
general(vl,
" solver_type = %s\n", str_solver_type.c_str());
155 if (str_gconf_status ==
"Continue") {
157 }
else if (str_gconf_status ==
"Cold_start") {
159 }
else if (str_gconf_status ==
"Hot_start") {
163 vout.
crucial(vl,
"%s: unsupported gconf status \"%s\".\n",
test_name.c_str(), str_gconf_status.c_str());
172 Projection *proj = Projection::New(str_proj_type);
173 Smear *smear = Smear::New(str_smear_type, proj);
186 Solver *solver = Solver::New(str_solver_type, fopr_smear);
201 result = quark_suscept->
measure();
208 delete params_clover;
211 delete params_dr_smear;
212 delete params_solver;
229 delete quark_suscept;
237 vout.
detailed(vl,
"check skipped: expected_result not set.\n\n");
Random number generator base on M-series.
void read_params(const std::string ¶ms_file, Parameters *params)
read parameters from file.
void detailed(const char *format,...)
void general(const char *format,...)
const std::string test_name
Container of Field-type object.
virtual void set_parameters(const Parameters &)=0
int get_int(const string &key) const
static Parameters * New(const std::string &realm)
void set_random(RandomNumbers *rand)
virtual void set_parameters(const Parameters ¶ms)=0
smeared fermion operator.
static bool RegisterTest(const std::string &key, const Test_function func)
bool is_set(const string &) const
double get_double(const string &key) const
Quark number susceptibility for the Wilson-type fermion.
void set_parameters(const Parameters ¶ms)
int quark_num_suscept(void)
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,...)
void Register_Parameters(const string &, Parameters *const)
base class for projection operator into gauge group.
Manager of smeared configurations.
Base class for noise vector generator.
Base class for linear solver class family.
Base class of random number generators.
void set_parameters(const Parameters ¶ms)
void set_parameters(const Parameters ¶ms)
set paramters, must be called before set_config
int non_zero(const double v)
base class for smearing of link variables.
Parameter manager with YAML parser.
GaugeConfig class for file I/O of gauge configuration.
Base class of fermion operator family.
int verify(const double expected, const double result)
void read_file(Field *u, const string &filename)
Z2 Noise vector for trance calculation.
string get_string(const string &key) const
void report(const Bridge::VerboseLevel vl=Bridge::GENERAL)
void set_config(Field *U)
set pointer to original thin link variable
static VerboseLevel set_verbose_level(const std::string &str)