X-Git-Url: http://git.treefish.org/~alex/phys/heatbath.git/blobdiff_plain/dca762861c66d8782be31811822812d347ee4577..a70bf950d14902f91ae0c0e4027537a7e23d3bc5:/sim-1mr-.hpp diff --git a/sim-1mr-.hpp b/sim-1mr-.hpp index 00e15be..75c41d9 100644 --- a/sim-1mr-.hpp +++ b/sim-1mr-.hpp @@ -45,6 +45,7 @@ void sim::updatePhi (const int& x) { const double theta = gsl_rng_uniform(rangsl) * 2*M_PI; complex V=0; + const double oldarg = arg(conf[x].phi); for (int nu=0; nu<4; nu++) V += conf[ (*nb)[x*4+nu] ].phi; @@ -53,8 +54,6 @@ void sim::updatePhi (const int& x) - 1./M * norm(V) + 2 * real( conf[x].phi * conj(V) ) ); - double oldarg = arg(conf[x].phi); - conf[x].phi = sqrt(std::log( 1./(1-r) )) / sqrt(M) * polar(1.0, oldarg) + V / M;