From ded11ede7e9eb11c216d35d61ab9331e697f47bc Mon Sep 17 00:00:00 2001
From: Samo Penic <samo.penic@gmail.com>
Date: Sat, 07 Dec 2013 09:09:37 +0000
Subject: [PATCH] commiting before checking out onother branch

---
 src/timestep.c |    6 +++---
 src/vertex.c   |   10 +++-------
 src/bondflip.c |   19 ++++++++++++++++---
 3 files changed, 22 insertions(+), 13 deletions(-)

diff --git a/src/bondflip.c b/src/bondflip.c
index 17a1977..06479e2 100644
--- a/src/bondflip.c
+++ b/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);
     }
diff --git a/src/timestep.c b/src/timestep.c
index 693575a..9e5e61c 100644
--- a/src/timestep.c
+++ b/src/timestep.c
@@ -30,7 +30,7 @@
 ts_bool single_timestep(ts_vesicle *vesicle){
     ts_bool retval;
     ts_double rnvec[3];
-    ts_uint i; //b;
+    ts_uint i, b;
     for(i=0;i<vesicle->vlist->n;i++){
         rnvec[0]=drand48();
         rnvec[1]=drand48();
@@ -45,10 +45,10 @@
         rnvec[1]=drand48();
         rnvec[2]=drand48();
 */ 
-//	b=rand() % vesicle->blist->n;
+	b=rand() % vesicle->blist->n;
         //find a bond and return a pointer to a bond...
         //call single_bondflip_timestep...
-   //     retval=single_bondflip_timestep(vesicle,vesicle->blist->bond[b],rnvec);
+        retval=single_bondflip_timestep(vesicle,vesicle->blist->bond[b],rnvec);
 //	if(retval==TS_SUCCESS) cnt++;        
     } 
 //	printf("Bondflip success rate in one sweep: %d/%d=%e\n", cnt,vesicle->blist->n,(double)cnt/(double)vesicle->blist->n);
diff --git a/src/vertex.c b/src/vertex.c
index ffd5f7d..023e6fc 100644
--- a/src/vertex.c
+++ b/src/vertex.c
@@ -26,18 +26,14 @@
     	/* initialize Ylm for spherical hamonics DONE in sh.c */
     	}
     vlist->n=N;
-	vlist->list_size=TS_VLIST_CHUNK; //TODO: can be buggy in some cases, when N>0 and we want to delete some vertices.
-	return vlist;
+    vlist->list_size=TS_VLIST_CHUNK; //TODO: can be buggy in some cases, when N>0 and we want to delete some vertices.
+    return vlist;
 }
 
 
 ts_bool vertex_list_add_vtx(ts_vertex_list *vlist, ts_vertex *vtx){
 
 #ifdef DEBUG
-	if(vtx==NULL)
-	err("VTX is null");
-	if(vlist==NULL) err("VLIST is null");
-
 	if(vtx==NULL || vlist==NULL)
 		return TS_FAIL;
 #endif
@@ -48,7 +44,6 @@
 		}
 		vlist->list_size+=TS_VLIST_CHUNK;
 	}
-//	printf("Test %u (max %u)!\n", vlist->n, vlist->list_size);
 	vlist->vtx[vlist->n]=vtx;
 	vlist->n++;
 	return TS_SUCCESS;
@@ -112,6 +107,7 @@
 	return TS_SUCCESS;
 }
 
+
 ts_bool vtx_add_cneighbour(ts_bond_list *blist, ts_vertex *vtx1, ts_vertex *vtx2){
     ts_bool retval;
 	retval=vtx_add_neighbour(vtx1, vtx2);

--
Gitblit v1.9.3