Bridge++
Ver. 1.1.x
Main Page
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
fprop_Standard_eo.cpp
Go to the documentation of this file.
1
14
#include "
fprop_Standard_eo.h
"
15
16
//====================================================================
17
void
Fprop_Standard_eo::set_config
(
Field
*U)
18
{
19
m_index
->
convertField
(*
m_Ueo
, *U);
20
21
// m_solver->get_fopr()->set_config(m_Ueo);
22
m_solver
->
get_fopr
()->
set_config
(U);
23
}
24
25
26
//====================================================================
27
void
Fprop_Standard_eo::invert_D
(
Field
& xq,
const
Field
& b,
int
& Nconv,
double
& diff)
28
{
29
int
Nin = b.
nin
();
30
int
Nvol = b.
nvol
();
31
int
Nex = b.
nex
();
32
33
Field
Be(Nin, Nvol / 2, Nex);
34
Field
bo(Nin, Nvol / 2, Nex);
35
Field
xe(Nin, Nvol / 2, Nex);
36
37
int
Nconv1;
38
39
Fopr_eo
*fopr = (
Fopr_eo
*)
m_solver
->
get_fopr
();
40
41
fopr->
set_mode
(
"D"
);
42
fopr->
preProp
(Be, bo, b);
43
m_solver
->
solve
(xe, Be, Nconv1, diff);
44
fopr->
postProp
(xq, xe, bo);
45
46
//- NB. #mult is doubled for even-odd
47
Nconv = 2 * Nconv1;
48
}
49
50
51
//====================================================================
52
void
Fprop_Standard_eo::invert_DdagD
(
Field
& xq,
const
Field
& b,
int
& Nconv,
double
& diff)
53
{
54
int
Nin = b.
nin
();
55
int
Nvol = b.
nvol
();
56
int
Nex = b.
nex
();
57
58
Field
Be(Nin, Nvol / 2, Nex);
59
Field
bo(Nin, Nvol / 2, Nex);
60
Field
xe(Nin, Nvol / 2, Nex);
61
62
int
Nconv1, Nconv2;
63
double
diff1, diff2;
64
65
Fopr_eo
*fopr = (
Fopr_eo
*)
m_solver
->
get_fopr
();
66
67
fopr->
set_mode
(
"Ddag"
);
68
fopr->
preProp
(Be, bo, b);
69
m_solver
->
solve
(xe, Be, Nconv1, diff1);
70
fopr->
postProp
(xq, xe, bo);
71
72
fopr->
set_mode
(
"D"
);
73
fopr->
preProp
(Be, bo, xq);
74
m_solver
->
solve
(xe, Be, Nconv2, diff2);
75
fopr->
postProp
(xq, xe, bo);
76
77
//- NB. #mult is doubled for even-odd
78
Nconv = 2 * (Nconv1 + Nconv2);
79
80
//- rough estimate of diff
81
diff = (diff1 + diff2) / 2.0;
82
}
83
84
85
//====================================================================
86
//============================================================END=====
src
Measurements
Fermion
fprop_Standard_eo.cpp
Generated on Tue Jul 23 2013 10:48:49 for Bridge++ by
1.8.3.1