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