From aad5008716b9f53c40233a8d891bea82d1b3e5f3 Mon Sep 17 00:00:00 2001 From: Samo Penic <samo.penic@fe.uni-lj.si> Date: Wed, 18 May 2016 13:58:50 +0000 Subject: [PATCH] Improved tsmeasure. Found a nasty bug in trisurf regarding snapshot accuracy. Fixed it. --- src/io.c | 6 +++--- src/tsmeasure.c | 34 ++++++++++++++++------------------ 2 files changed, 19 insertions(+), 21 deletions(-) diff --git a/src/io.c b/src/io.c index a280b14..c35d42b 100644 --- a/src/io.c +++ b/src/io.c @@ -862,13 +862,13 @@ fprintf(fh,"</DataArray>\n</PointData>\n<CellData>\n</CellData>\n<Points>\n<DataArray type=\"Float64\" Name=\"Koordinate tock\" NumberOfComponents=\"3\" format=\"ascii\">\n"); for(i=0;i<vlist->n;i++){ - fprintf(fh,"%e %e %e\n",vtx[i]->x,vtx[i]->y, vtx[i]->z); + fprintf(fh,"%.17e %.17e %.17e\n",vtx[i]->x,vtx[i]->y, vtx[i]->z); } //polymeres if(poly){ for(i=0;i<vesicle->poly_list->n;i++){ for(j=0;j<vesicle->poly_list->poly[i]->vlist->n;j++){ - fprintf(fh,"%e %e %e\n", vesicle->poly_list->poly[i]->vlist->vtx[j]->x,vesicle->poly_list->poly[i]->vlist->vtx[j]->y, vesicle->poly_list->poly[i]->vlist->vtx[j]->z ); + fprintf(fh,"%.17e %.17e %.17e\n", vesicle->poly_list->poly[i]->vlist->vtx[j]->x,vesicle->poly_list->poly[i]->vlist->vtx[j]->y, vesicle->poly_list->poly[i]->vlist->vtx[j]->z ); } } } @@ -876,7 +876,7 @@ if(fil){ for(i=0;i<vesicle->filament_list->n;i++){ for(j=0;j<vesicle->filament_list->poly[i]->vlist->n;j++){ - fprintf(fh,"%e %e %e\n", vesicle->filament_list->poly[i]->vlist->vtx[j]->x,vesicle->filament_list->poly[i]->vlist->vtx[j]->y, vesicle->filament_list->poly[i]->vlist->vtx[j]->z ); + fprintf(fh,"%.17e %.17e %.17e\n", vesicle->filament_list->poly[i]->vlist->vtx[j]->x,vesicle->filament_list->poly[i]->vlist->vtx[j]->y, vesicle->filament_list->poly[i]->vlist->vtx[j]->z ); } } } diff --git a/src/tsmeasure.c b/src/tsmeasure.c index aa03aa1..394f42a 100644 --- a/src/tsmeasure.c +++ b/src/tsmeasure.c @@ -40,7 +40,7 @@ calculateUlmComplex(vesicle); ts_int i,j; for(i=0;i<vesicle->sphHarmonics->l;i++){ - for(j=0;j<2*i+1;j++){ + for(j=i;j<2*i+1;j++){ printf("%e ", gsl_complex_abs2(vesicle->sphHarmonics->ulmComplex[i][j])); } } @@ -51,18 +51,19 @@ int main(){ ts_vesicle *vesicle; ts_char *i,*j; - ts_uint tstep; + ts_uint tstep,n; ts_char *number; + struct dirent **list; + int count; ts_fprintf(stdout,"TRISURF-NG v. %s, compiled on: %s %s.\n", TS_VERSION, __DATE__, __TIME__); - ts_fprintf(stdout,"Programming done by: Samo Penic and Miha Fosnaric\n"); - ts_fprintf(stdout,"Released under terms of GPLv3\n"); - ts_fprintf(stdout,"Starting program...\n\n"); - DIR *dir = opendir("."); - if(dir){ + count=scandir(".",&list,0,alphasort); + if(count<0){ + fatal("Error, cannot open directory.",1); + } + tstep=0; + for(n=0;n<count;n++){ struct dirent *ent; - tstep=0; - while((ent = readdir(dir)) != NULL) - { + ent=list[n]; i=rindex(ent->d_name,'.'); if(i==NULL) continue; if(strcmp(i+1,"vtu")==0){ @@ -71,19 +72,16 @@ number=strndup(j+1,j-i); quiet=1; ts_fprintf(stdout,"timestep: %u filename: %s\n",atoi(number),ent->d_name); + printf("%u ",atoi(number)); vesicle=restoreVesicle(ent->d_name); vesicle_calculate_ulm2(vesicle); tstep++; //vesicle_free(vesicle); free(number); - } + } + free(ent); } - } - free(dir); - - - - -return 0; + free(list); + return 0; } -- Gitblit v1.9.3