Trisurf Monte Carlo simulator
Samo Penic
2013-12-07 ded11ede7e9eb11c216d35d61ab9331e697f47bc
src/bondflip.c
@@ -31,15 +31,16 @@
    ts_uint i; //j;
    ts_double oldenergy, delta_energy;
 //   ts_triangle *lm=NULL,*lp=NULL, *lp1=NULL, *lp2=NULL, *lm1=NULL, *lm2=NULL;
    ts_vertex *kp,*km;
    ts_vertex *kp=NULL,*km=NULL;
   ts_triangle *lm=NULL, *lp=NULL;
    if(it->neigh->n< 3) return TS_FAIL;
    if(k->neigh->n< 3) return TS_FAIL;
    if(k==NULL || it==NULL){
        fatal("In bondflip, number of neighbours of k or it is less than 3!",999);
    }
    nei=0;
    for(i=0;i<it->neigh->n;i++){ // Finds the nn of it, that is k 
        if(it->neigh->vtx[i]==k){
@@ -56,6 +57,18 @@
    km=it->neigh->vtx[neim];  // We located km and kp
    kp=it->neigh->vtx[neip];
   //find lm and lp (triangles that is common with k and it)
   for(i=0;i<it->tristar_no;i++){
      if(it->tristar[i]->vertex[0]==k || it->tristar[i]->vertex[1]==k || it->tristar[i]->vertex[2]==k){
         if(lm==NULL) lm=it->tristar[i];
         else lp=it->tristar[i];
      }
   }
   if(lm==NULL || lp==NULL) {
      fatal("In bondflip, cannot determine lp and lm",999);
   }
    if(km==NULL || kp==NULL){
        fatal("In bondflip, cannot determine km and kp!",999);
    }