paboyle / Grid

Data parallel C++ mathematical object library
GNU General Public License v2.0
154 stars 109 forks source link

GaugeFixing inconsistent #345

Open philomat opened 3 years ago

philomat commented 3 years ago

I was trying to gauge fix a large gauge field (lattice size 64^4). If I use steepest descent gauge fixing without Fourier acceleration: FourierAcceleratedGaugeFixer<PeriodicGimplR>::SteepestDescentGaugeFix(Utmp2,xform1,alpha,20000,1.0e-12, 1.0e-12,false,3); to fix to Coulomb gauge the Output after 20000 iterations is: Grid : Message : 16589.446841 s : Iteration 19980 Phi= 2.90184e-07 Omega= 1.2855e-09 trG 1

with Fourier acceleration: FourierAcceleratedGaugeFixer<PeriodicGimplR>::SteepestDescentGaugeFix(Utmp1,xform2,alpha,20000,1.0e-12, 1.0e-12,true,3); Output after 20000 iterations: Grid : Message : 68891.966857 s : Iteration 19980 Phi= -0.000190128 Omega= 0.447696 trG 0.552304

To me, it seem like the Fourier accelerated version is not converging. Also the difference of the gauge fixed fields: norm2(Utmp2-Utmp1) is about 100%. My test was basically following Test_fft_gfix.cc

Am I using the gauge fixing wrong, or is there something wrong with the routines?

paboyle commented 3 years ago

per email conversation - suggested reducing alpha and trying. It breaks down quite rapidly with alpha, as per Jamie Hudspith's thesis.

paboyle commented 3 years ago

Any updates?

RJHudspith commented 3 years ago

I am also interested in news about this. I don't think 64^4 is a particularly large volume to be seeing difficulties, and 20,000 iterations seems like a lot.

For my code (https://github.com/RJHudspith/GLU) to 10^-14 accuracy, convergence happens on the order of 2000 iterations for a lattice of that size (iteration count varies a bit with beta and boundaries). It is likely the algorithm has completely diverged by 20,000 iterations, as you have indicated. One possibility is to re-try the gauge-fixing after an initial random gauge transform of the links, this changes the initial conditions of the solve and could lead to convergence.

I agree with Peter that the choice of alpha might be a bit large; in (https://arxiv.org/pdf/1412.2807.pdf) I showed that the value of ~0.08 is preferable for Landau gauge. There is quite some literature quoting this value too for this algorithm.

paboyle commented 3 years ago

Thanks Jamie - didn't spot you had chimed in till now.

fwiw, I gave a copy of your thesis PDF to Philipp.