From 0ae4478cd9b38238a1a5ae26d39f21dd46127901 Mon Sep 17 00:00:00 2001 From: Peter Boyle Date: Wed, 18 Oct 2023 22:35:50 -0400 Subject: [PATCH] Checkpoint the subspace and ldop --- tests/debug/Test_general_coarse_hdcg_phys.cc | 102 ++++++++++--------- 1 file changed, 54 insertions(+), 48 deletions(-) diff --git a/tests/debug/Test_general_coarse_hdcg_phys.cc b/tests/debug/Test_general_coarse_hdcg_phys.cc index 07551aed..760e8f97 100644 --- a/tests/debug/Test_general_coarse_hdcg_phys.cc +++ b/tests/debug/Test_general_coarse_hdcg_phys.cc @@ -1,4 +1,4 @@ - /************************************************************************************* +/************************************************************************************* Grid physics library, www.github.com/paboyle/Grid @@ -44,7 +44,8 @@ void SaveOperator(Coarsened &Operator,std::string file) WR.open(file); for(int p=0;pIsBoss()); WR.open(file); for(int b=0;b IRLCheby(0.2,40.0,71); // 1 iter + // Chebyshev IRLCheby(0.01,44.0,201); // 1 iter + Chebyshev IRLCheby(0.006,44.0,301); // 1 iter FunctionHermOp IRLOpCheby(IRLCheby,CoarseOp); PlainHermOp IRLOp (CoarseOp); - int Nk=48; - int Nm=64; + int Nk=160; + int Nm=240; int Nstop=Nk; - ImplicitlyRestartedLanczos IRL(IRLOpCheby,IRLOp,Nstop,Nk,Nm,1.0e-5,20); + ImplicitlyRestartedLanczos IRL(IRLOpCheby,IRLOp,Nstop,Nk,Nm,1.0e-3,20); int Nconv; std::vector eval(Nm); @@ -281,20 +288,20 @@ int main (int argc, char ** argv) // HPDSolver HPDSolve(CoarseOp,CG,CoarseZeroGuesser); HPDSolver HPDSolve(CoarseOp,CG,DeflCoarseGuesser); c_res=Zero(); - HPDSolve(c_src,c_res); c_ref = c_res; - std::cout << GridLogMessage<<"src norm "< HPDSolveProj(CoarseOpProj,CG,DeflCoarseGuesser); c_res=Zero(); - HPDSolveProj(c_src,c_res); - std::cout << GridLogMessage<<"src norm "< CGsloppy(4.0e-2,maxit,false); + ConjugateGradient CGsloppy(5.0e-2,maxit,false); HPDSolver HPDSolveSloppy(CoarseOp,CGsloppy,DeflCoarseGuesser); // ChebyshevSmoother Smoother(lo,92,10,FineHermOp); // 36 best case @@ -404,12 +411,11 @@ int main (int argc, char ** argv) HPDSolve, Aggregates); - result=Zero(); - HDCGdefl(src,result); + // result=Zero(); + // HDCGdefl(src,result); result=Zero(); HDCG(src,result); - } }