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 | 25 ++++++++++++++++--------- 1 files changed, 16 insertions(+), 9 deletions(-) diff --git a/src/timestep.c b/src/timestep.c index f24eccd..2ecc30b 100644 --- a/src/timestep.c +++ b/src/timestep.c @@ -10,11 +10,12 @@ #include "io.h" #include "stats.h" #include "sh.h" +#include "shcomplex.h" #include "vesicle.h" 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; @@ -23,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); @@ -51,10 +52,15 @@ r0=getR0(vesicle); if(vesicle->sphHarmonics!=NULL){ preparationSh(vesicle,r0); - calculateYlmi(vesicle); - calculateUlm(vesicle); - storeUlm2(vesicle); + //calculateYlmi(vesicle); + 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++){ @@ -69,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); @@ -82,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(); @@ -94,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