From 7ec6fb63c690080d0624c7bf138d0fd84fe7664e Mon Sep 17 00:00:00 2001 From: Samo Penic <samo.penic@gmail.com> Date: Tue, 15 May 2018 16:11:14 +0000 Subject: [PATCH] First working version, not debugged and energy assigned to vesicles on timesteps --- src/io.c | 50 +++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 39 insertions(+), 11 deletions(-) diff --git a/src/io.c b/src/io.c index 16ab2c8..83bb26d 100644 --- a/src/io.c +++ b/src/io.c @@ -1,3 +1,4 @@ + /* vim: set ts=4 sts=4 sw=4 noet : */ #include "general.h" #include<stdio.h> @@ -423,7 +424,7 @@ vesicle->tape=parsetape(command_line_args.tape_fullfilename); // recreating space for cells // vesicle->clist=init_cell_list(vesicle->tape->ncxmax, vesicle->tape->ncymax, vesicle->tape->nczmax, vesicle->tape->stepsize); - vesicle->clist->max_occupancy=8; + vesicle->clist->max_occupancy=16; // vesicle->tape=(ts_tape *)malloc(sizeof(ts_tape)); // retval=fread(vesicle->tape, sizeof(ts_tape),1,fh); retval=fread(iteration,sizeof(ts_uint),1,fh); @@ -825,6 +826,7 @@ ts_bond_list *blist=vesicle->blist; ts_vertex **vtx=vlist->vtx; ts_uint i,j; + ts_double senergy=0.0; char filename[10000]; char just_name[255]; FILE *fh; @@ -862,11 +864,7 @@ xml_trisurf_data(fh,vesicle); fprintf(fh, " <UnstructuredGrid>\n"); fprintf(fh, "<Piece NumberOfPoints=\"%u\" NumberOfCells=\"%u\">\n",vlist->n+monono*polyno+fonono*filno, blist->n+monono*polyno+filno*(fonono-1)+vesicle->tlist->n); -<<<<<<< HEAD - fprintf(fh,"<PointData Scalars=\"scalars\">\n<DataArray type=\"Int64\" Name=\"scalars\" format=\"ascii\">"); -======= fprintf(fh,"<PointData Scalars=\"vertices_idx\">\n<DataArray type=\"Int64\" Name=\"vertices_idx\" format=\"ascii\">"); ->>>>>>> nirgov for(i=0;i<vlist->n;i++){ fprintf(fh,"%u ",vtx[i]->idx); } @@ -891,8 +889,6 @@ } fprintf(fh,"</DataArray>\n"); -<<<<<<< HEAD -======= if(cstlist!=NULL){ fprintf(fh,"<DataArray type=\"Int64\" Name=\"vertices_in_cluster\" format=\"ascii\">"); for(i=0;i<vlist->n;i++){ @@ -978,9 +974,37 @@ } } fprintf(fh,"</DataArray>\n"); + if(vesicle->tape->stretchswitch==1){ + fprintf(fh,"<DataArray type=\"Float64\" Name=\"stretching_energy\" format=\"ascii\">"); + for(i=0;i<vlist->n;i++){ + senergy=0.0; + for(j=0;j<vtx[i]->tristar_no;j++){ + senergy+=vtx[i]->tristar[j]->energy; + } + fprintf(fh,"%.17e ",senergy); + } + //polymeres + if(poly){ + poly_idx=vlist->n; + for(i=0;i<vesicle->poly_list->n;i++){ + for(j=0;j<vesicle->poly_list->poly[i]->vlist->n;j++,poly_idx++){ + fprintf(fh,"%.17e ", 0.0); + } + } + } + //filaments + if(fil){ + poly_idx=vlist->n+monono*polyno; + for(i=0;i<vesicle->filament_list->n;i++){ + for(j=0;j<vesicle->filament_list->poly[i]->vlist->n;j++,poly_idx++){ + // fprintf(stderr,"was here\n"); + fprintf(fh,"%.17e ", 0.0); + } + } + } + fprintf(fh,"</DataArray>\n"); + } - ->>>>>>> nirgov fprintf(fh,"</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++){ @@ -1171,6 +1195,8 @@ CFG_SIMPLE_INT("constvolswitch",&tape->constvolswitch), CFG_SIMPLE_INT("constareaswitch",&tape->constareaswitch), CFG_SIMPLE_FLOAT("constvolprecision",&tape->constvolprecision), + CFG_SIMPLE_INT("stretchswitch",&tape->stretchswitch), + CFG_SIMPLE_FLOAT("xkA0",&tape->xkA0), CFG_SIMPLE_FLOAT("pressure",&tape->pressure), CFG_SIMPLE_FLOAT("k_spring",&tape->kspring), CFG_SIMPLE_FLOAT("xi",&tape->xi), @@ -1181,8 +1207,8 @@ CFG_SIMPLE_INT("iterations",&tape->iterations), CFG_SIMPLE_INT("mcsweeps",&tape->mcsweeps), CFG_SIMPLE_INT("inititer", &tape->inititer), - CFG_SIMPLE_BOOL("quiet",&tape->quiet), - CFG_SIMPLE_STR("multiprocessing",tape->multiprocessing), + CFG_SIMPLE_BOOL("quiet",(cfg_bool_t *)&tape->quiet), + CFG_SIMPLE_STR("multiprocessing",&tape->multiprocessing), CFG_SIMPLE_INT("smp_cores",&tape->brezveze0), CFG_SIMPLE_INT("cluster_nodes",&tape->brezveze1), CFG_SIMPLE_INT("distributed_processes",&tape->brezveze2), @@ -1225,6 +1251,8 @@ ts_bool getcmdline_tape(cfg_t *cfg, char *opts){ char *commands, *backup, *saveptr, *saveopptr, *command, *operator[2]; + operator[0]=0; + operator[1]=0; ts_uint i,j; commands=(char *)malloc(10000*sizeof(char)); backup=commands; //since the pointer to commands will be lost, we acquire a pointer that will serve as backup. -- Gitblit v1.9.3