From a752b502e11eababc1bae73434b9dde9380c0c59 Mon Sep 17 00:00:00 2001
From: Samo Penic <samo.penic@gmail.com>
Date: Wed, 03 Sep 2014 21:19:57 +0000
Subject: [PATCH] Added capability to decrease number of poly in tape and random polymeres are removed from the vesicle in dump aswell.

---
 src/main.c |   14 ++++++++++++++
 1 files changed, 14 insertions(+), 0 deletions(-)

diff --git a/src/main.c b/src/main.c
index 00bd95f..8a3a550 100644
--- a/src/main.c
+++ b/src/main.c
@@ -73,6 +73,20 @@
 			ts_fprintf(stdout, "Simulation already completed. if you want to rerun it try with --force-from-tape or --reset-iteration-count\n\n");
 			return 0;
 		}
+
+	/* if requested in tape, we can have smaller number of polymeres attached to membrane than the number of polymeres in dump file */
+		if(vesicle->tape->npoly != vesicle->poly_list->n){
+
+		ts_fprintf(stdout,"(INFO) the number of polymeres attached to membrane in tape is different than a number of polymeres in dump file!\n");
+		if(vesicle->tape->npoly > vesicle->poly_list->n){
+			ts_fprintf(stdout,"(INFO) It is possible to decrease the number of polymeres on the membrane, but it is not allowed to increase its number. The maximal allowed number in tape is %d The execution of program will terminate!\n",vesicle->poly_list->n);
+			fatal("Terminating due to increase of number of polymeres",1);
+		} else {
+			remove_random_polymeres(vesicle->poly_list, vesicle->poly_list->n - vesicle->tape->npoly);
+			ts_fprintf(stdout,"(INFO)\n(INFO) The new number of polymeres from tape is %d.\n\n",vesicle->poly_list->n);
+
+		}
+		}
 	}
 
 	run_simulation(vesicle, tape->mcsweeps, tape->inititer, tape->iterations, start_iteration);

--
Gitblit v1.9.3