From c854bf8109ddce134fc0e6fc5c27e7e648bc7734 Mon Sep 17 00:00:00 2001
From: Samo Penic <samo.penic@gmail.com>
Date: Sat, 19 May 2018 17:16:50 +0000
Subject: [PATCH] Merge branch 'stretching-devel' of ssh://git.penic.eu:29418/trisurf-ng into stretching-devel

---
 src/vertexmove.c |   24 ++++++++++++++++++++++--
 1 files changed, 22 insertions(+), 2 deletions(-)

diff --git a/src/vertexmove.c b/src/vertexmove.c
index 2517f69..401dddf 100644
--- a/src/vertexmove.c
+++ b/src/vertexmove.c
@@ -21,7 +21,7 @@
     ts_double dist;
     ts_bool retval; 
     ts_uint cellidx; 
-    ts_double delta_energy, delta_energy_cv,oenergy,dvol=0.0, darea=0.0;
+    ts_double delta_energy, delta_energy_cv,oenergy,dvol=0.0, darea=0.0, dstretchenergy=0.0;
     ts_double costheta,sintheta,phi,r;
 	//This will hold all the information of vtx and its neighbours
 	ts_vertex backupvtx[20], *constvol_vtx_moved=NULL, *constvol_vtx_backup=NULL;
@@ -113,7 +113,10 @@
 		for(i=0;i<vtx->tristar_no;i++) darea-=vtx->tristar[i]->area;
     
     }
-
+	//stretching energy 1 of 3
+	if(vesicle->tape->stretchswitch==1){
+		for(i=0;i<vtx->tristar_no;i++) dstretchenergy-=vtx->tristar[i]->energy/3.0;
+	}
     delta_energy=0;
     
 //    vesicle_volume(vesicle);
@@ -191,6 +194,17 @@
     }
 /* Vertices with spontaneous curvature may have spontaneous force perpendicular to the surface of the vesicle. additional delta energy is calculated in this function */
 	delta_energy+=direct_force_energy(vesicle,vtx,backupvtx);
+
+	//stretching energy 2 of 3
+	if(vesicle->tape->stretchswitch==1){
+		for(i=0;i<vtx->tristar_no;i++){ 
+			stretchenergy(vesicle, vtx->tristar[i]);
+			dstretchenergy+=vtx->tristar[i]->energy/3.0;
+			}
+	}
+
+	delta_energy+=dstretchenergy;	
+		
 /* No poly-bond energy for now!
 	if(vtx->grafted_poly!=NULL){
 		delta_energy+=
@@ -221,6 +235,12 @@
 	
     //update the normals of triangles that share bead i.
    for(i=0;i<vtx->tristar_no;i++) triangle_normal_vector(vtx->tristar[i]);
+	//stretching energy 3 of 3
+	if(vesicle->tape->stretchswitch==1){
+		for(i=0;i<vtx->tristar_no;i++){ 
+			stretchenergy(vesicle,vtx->tristar[i]);
+			}
+	}
 
 //    fprintf(stderr, "before vtx(x,y,z)=%e,%e,%e\n",constvol_vtx_moved->x, constvol_vtx_moved->y, constvol_vtx_moved->z);
     if(vesicle->tape->constvolswitch == 1){

--
Gitblit v1.9.3