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 |   36 +++++++++++++++++++++++++++++++++++-
 1 files changed, 35 insertions(+), 1 deletions(-)

diff --git a/src/io.c b/src/io.c
index 65a426b..83bb26d 100644
--- a/src/io.c
+++ b/src/io.c
@@ -826,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;
@@ -973,7 +974,36 @@
 			}
 		}
     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");
+	}
 
 	
 	fprintf(fh,"</PointData>\n<CellData>\n</CellData>\n<Points>\n<DataArray type=\"Float64\" Name=\"Koordinate tock\" NumberOfComponents=\"3\" format=\"ascii\">\n");
@@ -1165,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),
@@ -1219,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