CHROMA
syssolver_cg_params.cc
Go to the documentation of this file.
1 /*! \file
2  * \brief Params of CG inverter
3  */
4 
6 
7 namespace Chroma
8 {
9 
10  // Read parameters
11  void read(XMLReader& xml, const std::string& path, SysSolverCGParams& param)
12  {
13  XMLReader paramtop(xml, path);
14 
15  read(paramtop, "RsdCG", param.RsdCG);
16  read(paramtop, "MaxCG", param.MaxCG);
17 
18  if( paramtop.count("RsdCGRestart") > 0 ) {
19  read(paramtop, "RsdCGRestart", param.RsdCGRestart);
20  }
21  else {
22  param.RsdCGRestart = param.RsdCG;
23  }
24 
25  if( paramtop.count("MaxCGRestart") > 0 ) {
26  read(paramtop, "MaxCGRestart", param.MaxCGRestart);
27  }
28  else {
29  param.MaxCGRestart = param.MaxCG;
30  }
31 
32 
33  int aa = paramtop.count("MinCG") ;
34  if( aa > 0 ) {
35  read(paramtop,"MinCG",param.MinCG);
36  }
37  else {
38  param.MinCG = 0 ;
39  }
40 
41 
42  }
43 
44  // Writer parameters
45  void write(XMLWriter& xml, const std::string& path, const SysSolverCGParams& param)
46  {
47  push(xml, path);
48 
49 // int version = 1;
50 // write(xml, "version", version);
51  write(xml, "invType", "CG_INVERTER");
52  write(xml, "RsdCG", param.RsdCG);
53  write(xml, "MaxCG", param.MaxCG);
54  write(xml, "MinCG", param.MinCG);
55  write(xml, "RsdCGRestart", param.RsdCGRestart);
56  write(xml, "MaxCGRestart", param.MaxCGRestart);
57  pop(xml);
58  }
59 
60  //! Default constructor
62  {
63  RsdCG = zero;
64  MaxCG = 0;
65  MinCG = 0;
68  }
69 
70  //! Read parameters
72  {
73  read(xml, path, *this);
74  }
75 
76 }
void read(XMLReader &xml, const std::string &path, AsqtadFermActParams &param)
Read parameters.
void write(XMLWriter &xml, const std::string &path, const AsqtadFermActParams &param)
Writer parameters.
Asqtad Staggered-Dirac operator.
Definition: klein_gord.cc:10
push(xml_out,"Condensates")
pop(xml_out)
Double zero
Definition: invbicg.cc:106
::std::string string
Definition: gtest.h:1979
Params for CG inverter.
SysSolverCGParams()
Default constructor.
Solve a CG1 system.