Bridge++
Ver. 2.0.2
asolver_MG.cpp
Go to the documentation of this file.
1
15
//====================================================================
16
#include "
lib_alt/Solver/asolver_MG.h
"
17
18
#include "
lib/ResourceManager/threadManager.h
"
19
#include "
lib/Tools/randomNumberManager.h
"
20
#include "
lib_alt_QXS/Field/afield.h
"
21
#include "
lib_alt_QXS/Field/afield-inc.h
"
22
#include "
lib_alt_QXS/Field/aindex_block_lex.h
"
// matching btw coasre/fine lattices
23
24
// clover specific
25
#include "
lib_alt_QXS/Fopr/afopr_Clover.h
"
26
#include "
lib_alt_QXS/Fopr/afopr_Clover_dd.h
"
27
#include "
lib_alt_QXS/Fopr/afopr_Clover_coarse.h
"
28
#include "
lib_alt/Solver/MultiGrid_Clover.h
"
29
30
31
#include "
lib_alt/Solver/asolver_SAP_MINRES.h
"
32
#include "
lib_alt/Solver/asolver_SAP.h
"
33
34
#ifdef USE_QWSLIB
35
#define USE_SAP_QWS
36
#endif
37
38
#ifdef USE_SAP_QWS
39
// use QWS
40
#include "
lib_alt_QXS/Solver/asolver_SAP_QWS.h
"
41
#endif
42
43
typedef
AField<float, QXS>
AField_f
;
44
typedef
AField<double, QXS>
AField_d
;
45
46
// multigrid
47
using
MultiGrid_t
=
MultiGrid_Clover<AField_f, AField_f>
;
48
49
// operators
50
using
FoprD_t
=
AFopr_Clover<AField_d>
;
51
using
FoprF_t
=
AFopr_Clover_dd<AField_f>
;
52
using
FoprCoarse_t
=
AFopr_Clover_coarse<AField_f>
;
53
#ifdef USE_SAP_QWS
54
#define USE_FOPR_FOR_SMOOTHER
55
using
FoprSmoother_t =
AFopr_Clover_QWS_dd<AField_f>
;
56
#endif
57
58
// solver types
59
using
OuterSolver_t
=
ASolver_FBiCGStab<AField_d>
;
60
using
CoarseSolver_t
=
ASolver_BiCGStab_Cmplx<AField_f>
;
61
#ifdef USE_SAP_QWS
62
using
Smoother_t
=
ASolver_SAP_QWS<AField_f>
;
63
#else
64
using
Smoother_t
=
ASolver_SAP<AField_f>
;
65
#define USE_SAP_FOR_SMOOTHER
66
#endif
67
68
#include "
lib_alt/Solver/asolver_MG-tmpl.h
"
69
70
template
<>
71
const
std::string
ASolver_MG<AField_d>::class_name
=
"ASolver_MG"
;
72
73
template
class
ASolver_MG<AField_d>
;
afield-inc.h
afield.h
ASolver_FBiCGStab
Definition:
asolver_FBiCGStab.h:32
ASolver_SAP
Definition:
asolver_SAP.h:29
ASolver_MG
Definition:
asolver_MG.h:34
AField< float, QXS >
AField_d
AField< double, QXS > AField_d
Definition:
asolver_MG.cpp:44
aindex_block_lex.h
asolver_SAP_QWS.h
SAP solver (qws version)
asolver_MG.h
Multigrid solver.
ASolver_BiCGStab_Cmplx
Definition:
asolver_BiCGStab_Cmplx.h:52
MultiGrid_Clover.h
afopr_Clover_dd.h
afopr_Clover.h
AFopr_Clover_coarse
Definition:
afopr_Clover_coarse.h:40
ASolver_SAP_QWS
Definition:
asolver_SAP_QWS.h:33
asolver_MG-tmpl.h
threadManager.h
randomNumberManager.h
AFopr_Clover_dd
Definition:
afopr_Clover_dd.h:45
AFopr_Clover_QWS_dd
Definition:
afopr_Clover_QWS_dd.h:40
afopr_Clover_coarse.h
asolver_SAP_MINRES.h
AFopr_Clover
Definition:
afopr_Clover.h:41
asolver_SAP.h
SAP solver (Alt-version)
MultiGrid_Clover
Definition:
MultiGrid_Clover.h:25
AField_f
AField< float, QXS > AField_f
Definition:
asolver_MG.cpp:43
src
lib_alt_QXS
Solver
asolver_MG.cpp
Generated on Sat Feb 10 2024 14:20:01 for Bridge++ by
1.8.17