From b1d3d1f1a97310e1643d83e1f12778a51e966444 Mon Sep 17 00:00:00 2001 From: Nils Asmussen Date: Tue, 5 Mar 2019 16:16:30 +0000 Subject: [PATCH] add gauge transformation matrix as output to module MGauge/GaugeFix --- Hadrons/Modules/MGauge/GaugeFix.hpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Hadrons/Modules/MGauge/GaugeFix.hpp b/Hadrons/Modules/MGauge/GaugeFix.hpp index 87822a7e..6c1b40e6 100644 --- a/Hadrons/Modules/MGauge/GaugeFix.hpp +++ b/Hadrons/Modules/MGauge/GaugeFix.hpp @@ -94,7 +94,7 @@ std::vector TGaugeFix::getInput(void) template std::vector TGaugeFix::getOutput(void) { - std::vector out = {getName()}; + std::vector out = {getName(), getName()+"_xform"}; return out; } @@ -103,6 +103,7 @@ template void TGaugeFix::setup(void) { envCreateLat(GaugeField, getName()); + envCreateLat(LatticeColourMatrix, getName()+"_xform"); } @@ -116,6 +117,7 @@ void TGaugeFix::execute(void) LOG(Message) << par().gauge << std::endl; auto &U = envGet(GaugeField, par().gauge); auto &Umu = envGet(GaugeField, getName()); + auto &xform = envGet(LatticeColourMatrix, getName()+"_xform"); LOG(Message) << "Gauge Field fetched" << std::endl; //do we allow maxiter etc to be user set? Real alpha = par().alpha; @@ -123,7 +125,7 @@ void TGaugeFix::execute(void) Real Omega_tol = par().Omega_tol; Real Phi_tol = par().Phi_tol; bool Fourier = par().Fourier; - FourierAcceleratedGaugeFixer::SteepestDescentGaugeFix(U,alpha,maxiter,Omega_tol,Phi_tol,Fourier); + FourierAcceleratedGaugeFixer::SteepestDescentGaugeFix(U,xform,alpha,maxiter,Omega_tol,Phi_tol,Fourier); Umu = U; LOG(Message) << "Gauge Fixed" << std::endl; }