From b2fa8c6b55c420c079f285224f8d56ed03939767 Mon Sep 17 00:00:00 2001 From: Samo Penic <samo.penic@fe.uni-lj.si> Date: Tue, 29 Apr 2014 18:13:26 +0000 Subject: [PATCH] Bondflip doesnt segfaults anymore. Bondflip is disabled, debugging vertexmove --- src/timestep.c | 18 ++++++++++++------ 1 files changed, 12 insertions(+), 6 deletions(-) diff --git a/src/timestep.c b/src/timestep.c index 62e640c..2ecc30b 100644 --- a/src/timestep.c +++ b/src/timestep.c @@ -15,7 +15,7 @@ ts_bool run_simulation(ts_vesicle *vesicle, ts_uint mcsweeps, ts_uint inititer, ts_uint iterations, ts_uint start_iteration){ ts_uint i, j,k; - ts_double r0; + ts_double r0,kc1,kc2,kc3,kc4; ts_double l1,l2,l3,volume=0.0,area=0.0,vmsr,bfsr, vmsrt, bfsrt; ts_ulong epochtime; FILE *fd1; @@ -24,7 +24,7 @@ if(fd==NULL){ fatal("Cannot open statistics.csv file for writing",1); } - fprintf(fd, "Epoch OuterLoop VertexMoveSucessRate BondFlipSuccessRate Volume Area lamdba1 lambda2 lambda3\n"); + fprintf(fd, "Epoch OuterLoop VertexMoveSucessRate BondFlipSuccessRate Volume Area lamdba1 lambda2 lambda3 Kc(2-9) Kc(6-9) Kc(2-end) Kc(3-6)\n"); centermass(vesicle); cell_occupation(vesicle); if(start_iteration<inititer) ts_fprintf(stdout, "Starting simulation (first %d x %d MC sweeps will not be recorded on disk)\n", inititer, mcsweeps); @@ -56,6 +56,11 @@ calculateUlmComplex(vesicle); storeUlmComplex2(vesicle); saveAvgUlm2(vesicle); + kc1=calculateKc(vesicle, 2,9); + kc2=calculateKc(vesicle, 6,9); + kc3=calculateKc(vesicle, 2,vesicle->sphHarmonics->l); + kc4=calculateKc(vesicle, 3,6); + fd1=fopen("state.dat","w"); fprintf(fd1,"%e %e\n",vesicle->volume, getR0(vesicle)); for(k=0;k<vesicle->vlist->n;k++){ @@ -70,7 +75,7 @@ fclose(fd1); } - fprintf(fd, "%lu %u %e %e %1.16e %1.16e %1.16e %1.16e %1.16e\n",epochtime,i,vmsr,bfsr,volume, area,l1,l2,l3); + fprintf(fd, "%lu %u %e %e %1.16e %1.16e %1.16e %1.16e %1.16e %1.16e %1.16e %1.16e %1.16e\n",epochtime,i,vmsr,bfsr,volume, area,l1,l2,l3,kc1, kc2, kc3,kc4); fflush(fd); // sprintf(filename,"timestep-%05d.pov",i-inititer); // write_pov_file(vesicle,filename); @@ -83,7 +88,7 @@ ts_bool single_timestep(ts_vesicle *vesicle,ts_double *vmsr, ts_double *bfsr){ ts_bool retval; ts_double rnvec[3]; - ts_uint i,j,b; + ts_uint i,j;//b; ts_uint vmsrcnt=0; for(i=0;i<vesicle->vlist->n;i++){ rnvec[0]=drand48(); @@ -95,10 +100,11 @@ ts_int bfsrcnt=0; for(i=0;i<3*vesicle->vlist->n;i++){ - 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); + retval=TS_FAIL; if(retval==TS_SUCCESS) bfsrcnt++; } -- Gitblit v1.9.3