mirror of
				https://github.com/paboyle/Grid.git
				synced 2025-10-24 17:54:47 +01:00 
			
		
		
		
	Move out src initialization for re-use / Adding antiperiodic BC
This commit is contained in:
		| @@ -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