From fda1ab6babed79842534b3a21a6ee96bc26f9d93 Mon Sep 17 00:00:00 2001
From: Samo Penic <samo.penic@fe.uni-lj.si>
Date: Tue, 16 Dec 2014 14:47:56 +0000
Subject: [PATCH] Real spherical harmonics are programmed. Inefficiently, but for testing purposes they works.

---
 src/dumpstate.c |   30 ++++++++++++++++++++++--------
 1 files changed, 22 insertions(+), 8 deletions(-)

diff --git a/src/dumpstate.c b/src/dumpstate.c
index 9d1e2b2..06b0ffd 100644
--- a/src/dumpstate.c
+++ b/src/dumpstate.c
@@ -8,7 +8,9 @@
 #include <libxml/tree.h>
 #include "vertex.h"
 #include "energy.h"
-
+#include "sh.h"
+#include "cell.h"
+#include "frame.h"
 ts_vesicle *vtk2vesicle(char *filename, ts_tape *tape){
 
     ts_uint nshell=tape->nshell;
@@ -21,6 +23,25 @@
     ts_vesicle *vesicle=init_vesicle(no_vertices,ncmax1,ncmax2,ncmax3,stepsize);
     vesicle->nshell=nshell;
     parse_vtk(filename, vesicle);
+
+	//we have vertices and neighbour relations all set, but unordered. Let's do bonds, ordering, triangles...
+	vesicle->vlist = vtk_sort_neighbours(vesicle->blist,vesicle->vlist);
+	init_triangles(vesicle);
+	init_triangle_neighbours(vesicle);
+	init_common_vertex_triangle_neighbours(vesicle);
+	init_normal_vectors(vesicle->tlist);
+	mean_curvature_and_energy(vesicle);
+
+
+   //preliminaries for spherical harmonics... 
+    centermass(vesicle);
+	cell_occupation(vesicle);
+	vesicle_volume(vesicle); //needed for constant volume at this moment
+    vesicle_area(vesicle); //needed for constant area at this moment
+	ts_double v0=vesicle->volume; 
+    ts_double a0=vesicle->area;
+    ts_double r0=getR0(vesicle);
+    if(r0&&v0&&a0); 
     exit(1);
     return vesicle;
 }
@@ -57,13 +78,6 @@
         	break; //segfaults, because it finds another cells. Why?
 	}	
     }
-	//we have vertices and neighbour relations all set, but unordered. Let's do bonds, ordering, triangles...
-	vesicle->vlist = vtk_sort_neighbours(vesicle->blist,vesicle->vlist);
-	init_triangles(vesicle);
-	init_triangle_neighbours(vesicle);
-	init_common_vertex_triangle_neighbours(vesicle);
-	init_normal_vectors(vesicle->tlist);
-	mean_curvature_and_energy(vesicle);
 	ts_fprintf(stdout,"restoring from vtk dump finished!\n");
     return TS_SUCCESS;
 }

--
Gitblit v1.9.3