From 3de2893d882d2c407375146376fbf9bb54f33e8b Mon Sep 17 00:00:00 2001 From: Samo Penic <samo.penic@fe.uni-lj.si> Date: Wed, 30 Apr 2014 13:44:12 +0000 Subject: [PATCH] Constant volume works. CAVEAT: in centermass I had to recalculate all normals of triangles again! This could influence behaviour of the system. --- src/spherical_trisurf.c | 45 ++++++++++++++++++--------------------------- 1 files changed, 18 insertions(+), 27 deletions(-) diff --git a/src/spherical_trisurf.c b/src/spherical_trisurf.c index 950ecf8..0669981 100644 --- a/src/spherical_trisurf.c +++ b/src/spherical_trisurf.c @@ -25,6 +25,9 @@ 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; vesicle->stepsize=0.15; @@ -57,12 +60,23 @@ calculateYlmi(vesicle); calculateUlm(vesicle); +//preloop: +ts_double vmsr, bfsr; +for(i=0;i<1000;i++){ + cell_occupation(vesicle); + for(j=0;j<1000;j++){ + single_timestep(vesicle, &vmsr, &bfsr); + } + centermass(vesicle); + fprintf(stderr, "Preloop %d completed.\n",i+1); +} -for(i=0;i<1;i++){ - for(j=0;j<20;j++){ +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); + single_timestep(vesicle, &vmsr, &bfsr); } centermass(vesicle); } @@ -77,7 +91,7 @@ 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); } @@ -90,26 +104,3 @@ -ts_bool saveAvgUlm2(ts_vesicle *vesicle){ - - FILE *fh; - - fh=fopen("sph2out.dat", "w"); - if(fh==NULL){ - err("Cannot open file %s for writing"); - return TS_FAIL; - } - - ts_spharm *sph=vesicle->sphHarmonics; - ts_int i,j; - fprintf(fh,"l,\tm,\tulm^2avg\n"); - for(i=0;i<sph->l;i++){ - for(j=0;j<2*i+1;j++){ - fprintf(fh,"%d,\t%d,\t%e\n", i, j-i, sph->sumUlm2[i][j]/(ts_double)sph->N); - - } - fprintf(fh,"\n"); - } - fclose(fh); - return TS_SUCCESS; -} -- Gitblit v1.9.3