CHROMA
mg_proto_helpers.h
Go to the documentation of this file.
1 /*
2  * mg_proto_helpers.h
3  *
4  * Created on: Mar 24, 2017
5  * Author: bjoo
6  */
7 
8 #ifndef LIB_ACTIONS_FERM_INVERT_MG_PROTO_MG_PROTO_HELPERS_H_
9 #define LIB_ACTIONS_FERM_INVERT_MG_PROTO_MG_PROTO_HELPERS_H_
10 
11 #include <memory>
12 #include <string>
13 #include "lattice/fine_qdpxx/mg_level_qdpxx.h"
14 #include "lattice/fine_qdpxx/vcycle_recursive_qdpxx.h"
16 #include "lattice/fine_qdpxx/wilson_clover_linear_operator.h"
17 
18 namespace Chroma {
19 
20 namespace MGProtoHelpers {
21 
23 {
24  std::shared_ptr<MG::MultigridLevels> mg_levels;
25  std::shared_ptr<MG::VCycleRecursiveQDPXX> v_cycle;
26 };
27 
28 // for testing
29 std::shared_ptr<const MG::QDPWilsonCloverLinearOperator>
30 createFineLinOp( const MGProtoSolverParams& params, const multi1d<LatticeColorMatrix>& u);
31 
32 void createMGPreconditioner(const MGProtoSolverParams& params, const multi1d<LatticeColorMatrix>& u);
33 void deleteMGPreconditioner(const std::string& subspaceID);
34 std::shared_ptr<MGPreconditioner> getMGPreconditioner(const std::string& subspaceId);
35 
36 } // Namespace MGProtoHelpers
37 
38 
39 } // Namespace Chroma
40 
41 
42 
43 
44 
45 
46 #endif /* LIB_ACTIONS_FERM_INVERT_MG_PROTO_MG_PROTO_HELPERS_H_ */
Params params
shared_ptr< MGPreconditioner > getMGPreconditioner(const std::string &subspaceId)
shared_ptr< const MG::QDPWilsonCloverLinearOperator > createFineLinOp(const MGProtoSolverParams &params, const multi1d< LatticeColorMatrix > &u)
void createMGPreconditioner(const MGProtoSolverParams &params, const multi1d< LatticeColorMatrix > &u)
void deleteMGPreconditioner(const std::string &subspaceId)
Asqtad Staggered-Dirac operator.
Definition: klein_gord.cc:10
static multi1d< LatticeColorMatrix > u
::std::string string
Definition: gtest.h:1979
std::shared_ptr< MG::MultigridLevels > mg_levels
std::shared_ptr< MG::VCycleRecursiveQDPXX > v_cycle