CHROMA
avp_ssed_solver.h
Go to the documentation of this file.
1 // -*- C++ -*-
2 /*! \file
3  * \brief DWF/SSE double-prec solver
4  */
5 
6 #ifndef AVP_SSED_SOLVER_H
7 #define AVP_SSED_SOLVER_H
8 
10 
11 extern "C" {
12  struct MIT_ssed_DWF_Gauge;
13  struct MIT_ssed_DWF_Fermion;
14 };
15 
16 
17 using namespace QDP;
18 namespace Chroma
19 {
20  //! AVP's DWF Solver interface
21  /*!
22  * \ingroup qprop
23  *
24  * @{
25  */
26  namespace AVPSolver
27  {
28 
29  class SSEDWFSolverD : public AVPSolverInterface< MIT_ssed_DWF_Gauge, MIT_ssed_DWF_Fermion >
30  {
31  public:
32  protected:
33  MIT_ssed_DWF_Fermion* loadFermionRHS(const void* OuterFermion) const;
34  MIT_ssed_DWF_Fermion* loadFermionGuess(const void *OuterFermion) const;
35  MIT_ssed_DWF_Fermion* allocateFermion(void) const;
36  void saveFermionSolver(void *OuterFermion,
37  MIT_ssed_DWF_Fermion* CGFermion) const;
38 
39  void saveFermionOperator(void *OuterFermion,
40  MIT_ssed_DWF_Fermion* CGFermion) const;
41  void deleteFermion(MIT_ssed_DWF_Fermion* ptr) const;
42  int cgInternal(MIT_ssed_DWF_Fermion *psi,
43  double *out_eps,
44  int *out_iter,
45  double M,
46  double m_f,
47  const MIT_ssed_DWF_Fermion *x0,
48  const MIT_ssed_DWF_Fermion *eta,
49  double eps,
50  int min_iter,
51  int max_iter) const;
52 
53  public:
54  void loadGauge(const void *u,
55  const void *v);
56 
57  void deleteGauge(void);
58 
59  int init(const int lattice[5],
60  void *(*allocator)(size_t size),
61  void (*deallocator)(void *));
62 
63  // Finalize - destructor call
64  void fini(void);
65  private:
66  MIT_ssed_DWF_Gauge *g;
67  };
68  }
69 
70  /*! @} */ // end of group qprop
71 }
72 
73 #endif
Base class for AVP's DWF solver interface.
void init(MesonSpecData_t &data, XMLWriter &xml, const std::string &path, const std::string &id_tag, const Params &params)
Do some initialization.
Asqtad Staggered-Dirac operator.
Definition: klein_gord.cc:10
static multi1d< LatticeColorMatrix > u
LatticeFermion eta
Definition: mespbg5p_w.cc:37
psi
Definition: pade_trln_w.cc:191