From 314f2dd60176b0f378baa66f5a5514fb15dddabc Mon Sep 17 00:00:00 2001
From: Samo Penic <samo.penic@gmail.com>
Date: Thu, 23 Feb 2012 19:29:55 +0000
Subject: [PATCH] Debugging, but not finished yet! There are still problems in vertex move and extreme points that remain sharp edged.

---
 src/main.c                 |   16 +++++++++++++---
 src/io.c                   |    6 ++++++
 src/initial_distribution.c |    6 ++++++
 src/vertexmove.c           |   12 ++++++------
 4 files changed, 31 insertions(+), 9 deletions(-)

diff --git a/src/initial_distribution.c b/src/initial_distribution.c
index a7a8202..382750b 100644
--- a/src/initial_distribution.c
+++ b/src/initial_distribution.c
@@ -14,8 +14,14 @@
     ts_fprintf(stderr,"Starting initial_distribution on vesicle with %u shells!...\n",nshell);
 	ts_bool retval;
     ts_uint no_vertices=5*nshell*nshell+2;
+
+
 	
     ts_vesicle *vesicle=init_vesicle(no_vertices,ncmax1,ncmax2,ncmax3,stepsize);
+
+//TODO: debugging only. Please remove ASAP!
+	vesicle->bending_rigidity=25.0;
+
     vesicle->nshell=nshell;
     retval = vtx_set_global_values(vesicle);
     retval = pentagonal_dipyramid_vertex_distribution(vesicle->vlist);
diff --git a/src/io.c b/src/io.c
index 7421f0d..f993e72 100644
--- a/src/io.c
+++ b/src/io.c
@@ -296,6 +296,8 @@
 
 ts_bool parsetape(ts_vesicle *vesicle,ts_uint *iterations){
     long int nshell=17,ncxmax=60, ncymax=60, nczmax=60;  // THIS IS DUE TO CONFUSE BUG!
+    char buf[255];
+    long int brezveze=1;
     ts_double xk0=25.0, dmax=1.67,stepsize=0.15;
     *iterations=1000;
     cfg_opt_t opts[] = {
@@ -308,6 +310,10 @@
         CFG_SIMPLE_INT("nzmax", &nczmax),
         CFG_SIMPLE_INT("iterations",iterations),
         CFG_SIMPLE_BOOL("quiet",&quiet),
+        CFG_SIMPLE_STR("multiprocessing",buf),
+        CFG_SIMPLE_INT("smp_cores",&brezveze),
+        CFG_SIMPLE_INT("cluster_nodes",&brezveze),
+        CFG_SIMPLE_INT("distributed_processes",&brezveze),
         CFG_END()
     };
     cfg_t *cfg;    
diff --git a/src/main.c b/src/main.c
index b846658..9112278 100644
--- a/src/main.c
+++ b/src/main.c
@@ -60,13 +60,23 @@
 
 vtx_list_free(vlist1);
 printf("Tests complete.\n");
-vesicle=initial_distribution_dipyramid(17,60,60,60,0.15);
+vesicle=initial_distribution_dipyramid(8,60,60,60,0.15);
+//parsetape(vesicle,&i);
+
+//these four must come from parsetype!
+vesicle->dmax=1.67;
+vesicle->stepsize=0.15;
+vesicle->clist->max_occupancy=8;
+vesicle->bending_rigidity=25.0;
+fprintf(stderr,"xk=%f",vesicle->bending_rigidity);
 
 centermass(vesicle);
 cell_occupation(vesicle);
-for(i=0;i<100;i++){
+for(i=0;i<10000;i++){
 single_timestep(vesicle);
-write_vertex_xml_file(vesicle,i);
+if(i%100==0){
+write_vertex_xml_file(vesicle,i/100);
+}
 }
 write_master_xml_file("test.pvd");
 write_dout_fcompat_file(vesicle,"dout");
diff --git a/src/vertexmove.c b/src/vertexmove.c
index c8ce697..c62aeda 100644
--- a/src/vertexmove.c
+++ b/src/vertexmove.c
@@ -16,16 +16,15 @@
 *rn){
     ts_uint i;
     ts_double dist;
-    ts_vertex *tvtx=(ts_vertex *)calloc(1,sizeof(ts_vertex));
-//	tvtx->data=init_vertex_data();
     ts_bool retval; 
     ts_uint cellidx; 
     ts_double xold,yold,zold;
     ts_double delta_energy,oenergy;
     ts_vertex *ovtx;
+    ts_vertex *tvtx=(ts_vertex *)calloc(1,sizeof(ts_vertex));
 
     //randomly we move the temporary vertex
-    tvtx->x=vtx->x+vesicle->stepsize*(2.0*rn[0]-1.0);
+	tvtx->x=vtx->x+vesicle->stepsize*(2.0*rn[0]-1.0);
     tvtx->y=vtx->y+vesicle->stepsize*(2.0*rn[1]-1.0);
     tvtx->z=vtx->z+vesicle->stepsize*(2.0*rn[2]-1.0);
     //check we if some length to neighbours are too much
@@ -33,16 +32,17 @@
         dist=vtx_distance_sq(tvtx,vtx->neigh[i]);
         if(dist<1.0 || dist>vesicle->dmax) {
 		vtx_free(tvtx);
+//	fprintf(stderr,"Fail 1, dist=%f, vesicle->dmax=%f\n", dist, vesicle->dmax);
 		return TS_FAIL;
 		}
     }
-//fprintf(stderr,"Was here!\n");
     //self avoidance check with distant vertices
      cellidx=vertex_self_avoidance(vesicle, tvtx);
     //check occupation number
      retval=cell_occupation_number_and_internal_proximity(vesicle->clist,cellidx,vtx,tvtx);
     if(retval==TS_FAIL){
 	vtx_free(tvtx);
+//	fprintf(stderr,"Fail 2\n");
         return TS_FAIL;
     } 
     
@@ -68,7 +68,7 @@
         energy_vertex(vtx->neigh[i]);
         delta_energy+=vtx->neigh[i]->xk*(vtx->neigh[i]->energy-oenergy);
     }
-//    fprintf(stderr, "DE=%f\n",delta_energy);
+//   fprintf(stderr, "DE=%f\n",delta_energy);
     //MONTE CARLOOOOOOOO
     if(delta_energy>=0){
 #ifdef TS_DOUBLE_DOUBLE
@@ -101,7 +101,7 @@
     //END MONTE CARLOOOOOOO
 
     //TODO: change cell occupation if necessary!
-
+//	fprintf(stderr,"Success!!\n");
     free(ovtx->bond_length);
     free(ovtx->bond_length_dual);
     free(ovtx);

--
Gitblit v1.9.3