From e86357faa6caf28f5032c624fa0cba24e5dc4686 Mon Sep 17 00:00:00 2001
From: mihaf <miha.fosnaric@gmail.com>
Date: Fri, 07 Mar 2014 12:13:21 +0000
Subject: [PATCH] Many fixes, before changing bondflip. triangles are still calculated in ts_bond_flip

---
 src/bondflip.c |   37 +++++++++++++++++++++++++------------
 1 files changed, 25 insertions(+), 12 deletions(-)

diff --git a/src/bondflip.c b/src/bondflip.c
index 478027d..2d41849 100644
--- a/src/bondflip.c
+++ b/src/bondflip.c
@@ -79,10 +79,7 @@
   oldenergy+=kp->xk* kp->energy;
   oldenergy+=km->xk* km->energy;
   oldenergy+=it->xk* it->energy;
-//  for(i=0;i<k->neigh_no;i++) oldenergy+=k->neigh[i]->xk*k->neigh[i]->energy;
-//  for(i=0;i<kp->neigh_no;i++) oldenergy+=kp->neigh[i]->xk*kp->neigh[i]->energy;
-//  for(i=0;i<km->neigh_no;i++) oldenergy+=km->neigh[i]->xk*km->neigh[i]->energy;
-//  for(i=0;i<it->neigh_no;i++) oldenergy+=it->neigh[i]->xk*it->neigh[i]->energy;
+	//Neigbours don't change its energy.
 /*
 fprintf(stderr,"*** Naslov k=%ld\n",(long)k);
 fprintf(stderr,"*** Naslov it=%ld\n",(long)it);
@@ -107,18 +104,34 @@
 
 /* Calculating the new energy */
   delta_energy=0;
-  for(i=0;i<k->neigh_no;i++) energy_vertex(k->neigh[i]);
-  for(i=0;i<kp->neigh_no;i++) energy_vertex(kp->neigh[i]);
-  for(i=0;i<km->neigh_no;i++) energy_vertex(km->neigh[i]);
-  for(i=0;i<it->neigh_no;i++) energy_vertex(it->neigh[i]);
+/*	ts_double dbg_energy=0.0;
+  for(i=0;i<k->neigh_no;i++) {
+	dbg_energy=k->neigh[i]->energy;
+	energy_vertex(k->neigh[i]);
+	if(abs(dbg_energy-k->neigh[i]->energy)>1e-100) fatal("Energy changes!",1);
+  }
+  for(i=0;i<kp->neigh_no;i++) {
+	dbg_energy=kp->neigh[i]->energy;
+	energy_vertex(kp->neigh[i]);
+	if(abs(dbg_energy-kp->neigh[i]->energy)>1e-100) fatal("Energy changes!",1);
+  }
+  for(i=0;i<km->neigh_no;i++){
+	dbg_energy=km->neigh[i]->energy;
+	 energy_vertex(km->neigh[i]);
+	if(abs(dbg_energy-km->neigh[i]->energy)>1e-100) fatal("Energy changes!",1);
+  }
+
+  for(i=0;i<it->neigh_no;i++){
+	dbg_energy=it->neigh[i]->energy;
+	 energy_vertex(it->neigh[i]);
+	if(abs(dbg_energy-it->neigh[i]->energy)>1e-100) fatal("Energy changes!",1);
+  }
+*/
   delta_energy+=k->xk* k->energy;
   delta_energy+=kp->xk* kp->energy;
   delta_energy+=km->xk* km->energy;
   delta_energy+=it->xk* it->energy;
-//  for(i=0;i<k->neigh_no;i++) delta_energy+=k->neigh[i]->xk*k->neigh[i]->energy;
-//  for(i=0;i<kp->neigh_no;i++) delta_energy+=kp->neigh[i]->xk*kp->neigh[i]->energy;
-//  for(i=0;i<km->neigh_no;i++) delta_energy+=km->neigh[i]->xk*km->neigh[i]->energy;
-//  for(i=0;i<it->neigh_no;i++) delta_energy+=it->neigh[i]->xk*it->neigh[i]->energy;
+	//Neigbours don't change its energy.
   delta_energy-=oldenergy;
  // fprintf(stderr,"I WAS HERE! Got energy!\n");
 /* MONTE CARLO */

--
Gitblit v1.9.3