1
0
mirror of https://github.com/paboyle/Grid.git synced 2025-11-05 14:29:31 +00:00

Compare commits

...

2 Commits

Author SHA1 Message Date
Chulwoo Jung
2bf9179d2c Adding mass step 2025-08-06 16:52:51 +00:00
Chulwoo Jung
c606f5dca0 Move out src initialization for re-use / Adding antiperiodic BC 2025-08-06 16:51:14 +00:00
2 changed files with 18 additions and 11 deletions

View File

@@ -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>

View File

@@ -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();