From fe5069cc3872b513f4715b0cfd303175ae80c468 Mon Sep 17 00:00:00 2001 From: Samo Penic <samo.penic@fe.uni-lj.si> Date: Wed, 30 Apr 2014 10:23:50 +0000 Subject: [PATCH] Debugged vertexmove. testing bondflip. --- src/timestep.c | 16 +++++++++++----- 1 files changed, 11 insertions(+), 5 deletions(-) diff --git a/src/timestep.c b/src/timestep.c index d5fd583..9001639 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,kc; + 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,9 +24,10 @@ if(fd==NULL){ fatal("Cannot open statistics.csv file for writing",1); } - fprintf(fd, "Epoch OuterLoop VertexMoveSucessRate BondFlipSuccessRate Volume Area lamdba1 lambda2 lambda3 Kc\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); + vesicle_volume(vesicle); //needed for constant volume at this moment if(start_iteration<inititer) ts_fprintf(stdout, "Starting simulation (first %d x %d MC sweeps will not be recorded on disk)\n", inititer, mcsweeps); for(i=start_iteration;i<inititer+iterations;i++){ vmsr=0.0; @@ -56,7 +57,11 @@ calculateUlmComplex(vesicle); storeUlmComplex2(vesicle); saveAvgUlm2(vesicle); - kc=calculateKc(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++){ @@ -71,7 +76,7 @@ fclose(fd1); } - fprintf(fd, "%lu %u %e %e %1.16e %1.16e %1.16e %1.16e %1.16e %1.16e\n",epochtime,i,vmsr,bfsr,volume, area,l1,l2,l3,kc); + 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); @@ -84,7 +89,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(); @@ -100,6 +105,7 @@ //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=TS_FAIL; if(retval==TS_SUCCESS) bfsrcnt++; } -- Gitblit v1.9.3