mirror of
https://github.com/paboyle/Grid.git
synced 2025-11-05 14:29:31 +00:00
Compare commits
2 Commits
8419cc5c64
...
2bf9179d2c
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2bf9179d2c | ||
|
|
c606f5dca0 |
@@ -1,14 +1,15 @@
|
|||||||
<?xml version="1.0"?>
|
<?xml version="1.0"?>
|
||||||
<grid>
|
<grid>
|
||||||
<LanczosParameters>
|
<LanczosParameters>
|
||||||
<mass>0.00107</mass>
|
<mass>-1.025</mass>
|
||||||
|
<mstep>-0.025</mstep>
|
||||||
<M5>1.8</M5>
|
<M5>1.8</M5>
|
||||||
<Ls>48</Ls>
|
<Ls>48</Ls>
|
||||||
<Nstop>10</Nstop>
|
<Nstop>10</Nstop>
|
||||||
<Nk>15</Nk>
|
<Nk>12</Nk>
|
||||||
<Np>85</Np>
|
<Np>30</Np>
|
||||||
<ChebyLow>0.003</ChebyLow>
|
<ChebyLow>0.1</ChebyLow>
|
||||||
<ChebyHigh>60</ChebyHigh>
|
<ChebyHigh>50</ChebyHigh>
|
||||||
<ChebyOrder>201</ChebyOrder>
|
<ChebyOrder>51</ChebyOrder>
|
||||||
</LanczosParameters>
|
</LanczosParameters>
|
||||||
</grid>
|
</grid>
|
||||||
|
|||||||
@@ -58,6 +58,7 @@ namespace Grid {
|
|||||||
struct LanczosParameters: Serializable {
|
struct LanczosParameters: Serializable {
|
||||||
GRID_SERIALIZABLE_CLASS_MEMBERS(LanczosParameters,
|
GRID_SERIALIZABLE_CLASS_MEMBERS(LanczosParameters,
|
||||||
RealD, mass ,
|
RealD, mass ,
|
||||||
|
RealD, mstep ,
|
||||||
Integer, Nstop,
|
Integer, Nstop,
|
||||||
Integer, Nk,
|
Integer, Nk,
|
||||||
Integer, Np,
|
Integer, Np,
|
||||||
@@ -181,9 +182,14 @@ int main(int argc, char** argv) {
|
|||||||
Np=LanParams.Np;
|
Np=LanParams.Np;
|
||||||
Nm = Nk + Np;
|
Nm = Nk + Np;
|
||||||
|
|
||||||
|
FermionField src(FGrid);
|
||||||
|
gaussian(RNG5, src);
|
||||||
|
std::vector<Complex> boundary = {1,1,1,-1};
|
||||||
|
FermionOp::ImplParams Params(boundary);
|
||||||
|
|
||||||
while ( mass > - 5.0){
|
|
||||||
FermionOp WilsonOperator(Umu,*FGrid,*FrbGrid,mass);
|
while ( mass > - 2.5){
|
||||||
|
FermionOp WilsonOperator(Umu,*FGrid,*FrbGrid,mass,Params);
|
||||||
MdagMLinearOperator<FermionOp,FermionField> HermOp(WilsonOperator); /// <-----
|
MdagMLinearOperator<FermionOp,FermionField> HermOp(WilsonOperator); /// <-----
|
||||||
//SchurDiagTwoOperator<FermionOp,FermionField> HermOp(WilsonOperator);
|
//SchurDiagTwoOperator<FermionOp,FermionField> HermOp(WilsonOperator);
|
||||||
Gamma5HermitianLinearOperator <FermionOp,LatticeFermion> HermOp2(WilsonOperator); /// <-----
|
Gamma5HermitianLinearOperator <FermionOp,LatticeFermion> HermOp2(WilsonOperator); /// <-----
|
||||||
@@ -204,8 +210,6 @@ while ( mass > - 5.0){
|
|||||||
ImplicitlyRestartedLanczos<FermionField> IRL(OpCheby, Op2, Nstop, Nk, Nm, resid, MaxIt);
|
ImplicitlyRestartedLanczos<FermionField> IRL(OpCheby, Op2, Nstop, Nk, Nm, resid, MaxIt);
|
||||||
|
|
||||||
std::vector<RealD> eval(Nm);
|
std::vector<RealD> eval(Nm);
|
||||||
FermionField src(FGrid);
|
|
||||||
gaussian(RNG5, src);
|
|
||||||
std::vector<FermionField> evec(Nm, FGrid);
|
std::vector<FermionField> evec(Nm, FGrid);
|
||||||
for (int i = 0; i < 1; i++) {
|
for (int i = 0; i < 1; i++) {
|
||||||
std::cout << i << " / " << Nm << " grid pointer " << evec[i].Grid()
|
std::cout << i << " / " << Nm << " grid pointer " << evec[i].Grid()
|
||||||
@@ -232,7 +236,9 @@ while ( mass > - 5.0){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
src = evec[0]+evec[1]+evec[2];
|
src = evec[0]+evec[1]+evec[2];
|
||||||
mass += -0.1;
|
src += evec[3]+evec[4]+evec[5];
|
||||||
|
src += evec[6]+evec[7]+evec[8];
|
||||||
|
mass += LanParams.mstep;
|
||||||
}
|
}
|
||||||
|
|
||||||
Grid_finalize();
|
Grid_finalize();
|
||||||
|
|||||||
Reference in New Issue
Block a user