From 142a67fe82b830e5c7816914afa62445959c87ca Mon Sep 17 00:00:00 2001
From: Samo Penic <samo.penic@fe.uni-lj.si>
Date: Tue, 05 Nov 2013 14:04:21 +0000
Subject: [PATCH] changes in bondflip call. No need to bondflip all the bonds, but only as many bonds as there are vertices. Also, rnvec seems to be not needed for bondflip, so it is commented out

---
 src/spherical_trisurf.c |   41 ++++++++++++++++++++++++++++++++++++-----
 1 files changed, 36 insertions(+), 5 deletions(-)

diff --git a/src/spherical_trisurf.c b/src/spherical_trisurf.c
index feba26a..7fa40f9 100644
--- a/src/spherical_trisurf.c
+++ b/src/spherical_trisurf.c
@@ -19,11 +19,14 @@
 */
 ts_bool saveAvgUlm2(ts_vesicle *vesicle);
 int main(int argv, char *argc[]){
-ts_uint i,j;
+ts_uint i,j,k;
 ts_vesicle *vesicle;
 ts_double r0;
 vesicle=initial_distribution_dipyramid(17,60,60,60,0.15);
 //parsetape(vesicle,&i);
+
+//similar to nmax in fortran code
+ts_uint nmax;
 
 //these four must come from parsetype!
 vesicle->dmax=1.67*1.67;
@@ -33,6 +36,21 @@
 //fprintf(stderr,"xk=%f",vesicle->bending_rigidity);
 
 	centermass(vesicle);
+cell_occupation(vesicle);
+
+//test if the structure is internally organized into cells correctly 
+ts_uint cind;
+for(i=0;i<vesicle->vlist->n;i++){
+	cind=vertex_self_avoidance(vesicle, vesicle->vlist->vtx[i]);
+
+	if(vesicle->clist->cell[cind]==vesicle->vlist->vtx[i]->cell){
+		//fprintf(stdout,"(T) Idx match!\n");
+	} else {
+		fprintf(stderr,"(T) ***** Idx don't match!\n");
+
+	}
+}
+//end test
 vesicle->sphHarmonics=sph_init(vesicle->vlist, 21);
 
 vesicle_volume(vesicle);
@@ -42,14 +60,25 @@
 calculateYlmi(vesicle);
 calculateUlm(vesicle);
 
-
-
-for(i=0;i<10000;i++){
+//preloop:
+for(i=0;i<1000;i++){
 	cell_occupation(vesicle);
 	for(j=0;j<1000;j++){
 		single_timestep(vesicle);
 	}	
 	centermass(vesicle);
+	fprintf(stderr, "Preloop %d completed.\n",i+1);
+}
+
+nmax=1000;
+for(i=0;i<nmax;i++){
+	for(j=0;j<200;j++){
+		cell_occupation(vesicle);
+		for(k=0;k<5;k++){
+		single_timestep(vesicle);
+		}
+		centermass(vesicle);
+	}	
     vesicle_volume(vesicle);
     r0=getR0(vesicle);
 
@@ -61,8 +90,10 @@
     saveAvgUlm2(vesicle);
 
 	write_vertex_xml_file(vesicle,i);
-	fprintf(stderr, "Loop %d completed.\n",i+1);
+	fprintf(stderr, "Loop %d out of %d completed.\n",i+1,nmax);
+
 }
+
 write_master_xml_file("test.pvd");
 write_dout_fcompat_file(vesicle,"dout");
 vesicle_free(vesicle);

--
Gitblit v1.9.3