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