From 5c64e2bc9d28240b5308882af2e6cf7505d444b6 Mon Sep 17 00:00:00 2001 From: Samo Penic <samo.penic@gmail.com> Date: Tue, 07 Jun 2016 19:14:09 +0000 Subject: [PATCH] Fixed energy calculations --- src/timestep.c | 4 ++-- src/io.c | 29 ++++++++++++++++++++++++++++- src/tape | 6 ++++-- 3 files changed, 34 insertions(+), 5 deletions(-) diff --git a/src/io.c b/src/io.c index 39dc1e0..f0207ac 100644 --- a/src/io.c +++ b/src/io.c @@ -862,7 +862,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)); - 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\">"); for(i=0;i<vlist->n;i++){ fprintf(fh,"%u ",vtx[i]->idx); } @@ -914,6 +914,33 @@ } fprintf(fh,"</DataArray>\n"); + //here comes additional data. Energy! + fprintf(fh,"<DataArray type=\"Float64\" Name=\"bending_energy\" format=\"ascii\">"); + for(i=0;i<vlist->n;i++){ + fprintf(fh,"%.17e ",vtx[i]->energy*vtx[i]->xk); + } + //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 ", vesicle->poly_list->poly[i]->vlist->vtx[j]->energy* vesicle->poly_list->poly[i]->k); + } + } + } + //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 ", vesicle->filament_list->poly[i]->vlist->vtx[j]->energy* vesicle->filament_list->poly[i]->k); + } + } + } + fprintf(fh,"</DataArray>\n"); + + fprintf(fh,"</PointData>\n<CellData>\n</CellData>\n<Points>\n<DataArray type=\"Float64\" Name=\"Koordinate tock\" NumberOfComponents=\"3\" format=\"ascii\">\n"); diff --git a/src/tape b/src/tape index 59cc09c..0784fac 100644 --- a/src/tape +++ b/src/tape @@ -21,7 +21,7 @@ constvolprecision=1e-14 #Constant area constraint (0 disable constant area, 2 enable constant area with epsarea) -constareaswitch=2 +constareaswitch=0 ####### Polymer (brush) definitions ########### # npoly is a number of polymers attached to npoly distinct vertices on vesicle @@ -37,7 +37,7 @@ # nfono is a number of monomers in each filament nfono=300 # Persistence lenght of the filaments (in units l_min) -xi=0 +xi=100 ####### Nucleus (inside the vesicle) ########### # Radius of an impenetrable hard sphere inside the vesicle @@ -69,6 +69,8 @@ #shut up if we are using cluster!!! quiet=false + + #what type of multiprocessing? (*none, smp, cluster, distributed, cuda, auto) #currently only none makes sense. diff --git a/src/timestep.c b/src/timestep.c index 6972015..6328b0f 100644 --- a/src/timestep.c +++ b/src/timestep.c @@ -61,9 +61,9 @@ epochtime=get_epoch(); srand48(epochtime); /*Nir Gov: randomly add spontaneous curvature for some vertices */ - for(i=0;i<200;i++){ + for(i=0;i<20;i++){ int b=rand() % vesicle->vlist->n; - vesicle->vlist->vtx[b]->c=-0.1; + vesicle->vlist->vtx[b]->c=-0.5; } centermass(vesicle); cell_occupation(vesicle); -- Gitblit v1.9.3