From d5d78a49c6b51fb1f6f0661d063034eaf65e02f7 Mon Sep 17 00:00:00 2001
From: Samo Penic <samo.penic@gmail.com>
Date: Wed, 25 Sep 2019 09:20:36 +0000
Subject: [PATCH] Constant volume and constant area fix. Removed spherical harmonics calculations in simulations. No ulm2.cvs and state.dat files are produced anymore

---
 src/io.c |   55 +++++++++++++++++++++++++++----------------------------
 1 files changed, 27 insertions(+), 28 deletions(-)

diff --git a/src/io.c b/src/io.c
index 83bb26d..30bd4d6 100644
--- a/src/io.c
+++ b/src/io.c
@@ -826,7 +826,7 @@
 	ts_bond_list *blist=vesicle->blist;
 	ts_vertex **vtx=vlist->vtx;
     ts_uint i,j;
-	ts_double senergy=0.0;
+	//ts_double senergy=0.0;
     	char filename[10000];
         char just_name[255];
 	FILE *fh;
@@ -974,39 +974,27 @@
 			}
 		}
     fprintf(fh,"</DataArray>\n");
+
+	
+	fprintf(fh,"</PointData>\n<CellData>\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);
+		for(i=0;i<blist->n;i++){
+			fprintf(fh, "0.0 ");
 		}
-			//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);
-					}
-				}
-			}
+		for(i=0;i<monono*polyno+filno*(fonono-1);i++){
+			fprintf(fh,"0.0 ");
+		}
+		for(i=0;i<vesicle->tlist->n;i++){
+			fprintf(fh,"%.17e ",vesicle->tlist->tria[i]->energy);
+		}
 	    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");
+
+
+	fprintf(fh,"</CellData>\n<Points>\n<DataArray type=\"Float64\" Name=\"Koordinate tock\" NumberOfComponents=\"3\" format=\"ascii\">\n");
 	for(i=0;i<vlist->n;i++){
 		fprintf(fh,"%.17e %.17e %.17e\n",vtx[i]->x,vtx[i]->y, vtx[i]->z);
 	}
@@ -1217,12 +1205,23 @@
 	CFG_SIMPLE_FLOAT("c0",&tape->c0),
 	CFG_SIMPLE_FLOAT("w",&tape->w),
 	CFG_SIMPLE_FLOAT("F",&tape->F),
+/* Variables related to plane confinement */
+	CFG_INT("plane_confinement_switch", 0, CFGF_NONE),
+	CFG_FLOAT("plane_d", 15, CFGF_NONE),
+	CFG_FLOAT("plane_F", 1000, CFGF_NONE),
+/* Variables related to stretching */
+//	CFG_FLOAT("stretchswitch", 0, CFGF_NONE),
+//	CFG_FLOAT("xkA0",0,CFGF_NONE),
         CFG_END()
     };
     cfg_t *cfg;    
     ts_uint retval;
     cfg = cfg_init(opts, 0);
     retval=cfg_parse_buf(cfg, buffer);
+	tape->plane_confinement_switch=cfg_getint(cfg,"plane_confinement_switch");
+	tape->plane_d=cfg_getfloat(cfg,"plane_d");
+	tape->plane_F=cfg_getfloat(cfg,"plane_F");
+
     if(retval==CFG_FILE_ERROR){
 	fatal("No tape file.",100);
 	}

--
Gitblit v1.9.3