From bd826de2f539f2e48c8c01d2d7f9f34c7e97104a Mon Sep 17 00:00:00 2001 From: Samo Penic <samo.penic@gmail.com> Date: Fri, 13 May 2016 07:43:27 +0000 Subject: [PATCH] Fix in trisurf output, inhibiting print of successful reconstruction. Multiple fixes and improvements in python module. Added symlinking of tapes into the running directories and dumping tapes from snapshots into tape files. --- src/sh.c | 29 +++++++++++++++++++++++++---- 1 files changed, 25 insertions(+), 4 deletions(-) diff --git a/src/sh.c b/src/sh.c index 5ab56eb..3f64939 100644 --- a/src/sh.c +++ b/src/sh.c @@ -1,8 +1,10 @@ +/* vim: set ts=4 sts=4 sw=4 noet : */ #include<math.h> #include<stdlib.h> #include "general.h" #include "sh.h" - +#include "io.h" +#include <string.h> ts_spharm *sph_init(ts_vertex_list *vlist, ts_uint l){ @@ -201,7 +203,7 @@ #ifdef TS_DOUBLE_DOUBLE coord->e1=sqrt(x*x+y*y+z*z); if(z==0) coord->e3=M_PI/2.0; - else coord->e3=atan(sqrt(x*x+y*y)/z); + else coord->e3=atan2(sqrt(x*x+y*y),z); coord->e2=atan2(y,x); #endif #ifdef TS_DOUBLE_FLOAT @@ -219,6 +221,23 @@ return TS_SUCCESS; } + + +ts_bool sph2cart(ts_coord *coord){ + coord->coord_type=TS_COORD_CARTESIAN; + ts_double x,y,z; + + x=coord->e1*cos(coord->e2)*sin(coord->e3); + y=coord->e1*sin(coord->e2)*sin(coord->e3); + z=coord->e1*cos(coord->e3); + + coord->e1=x; + coord->e2=y; + coord->e3=z; + + return TS_SUCCESS; +} + /* Function returns radius of the sphere with the same volume as vesicle (r0) */ ts_double getR0(ts_vesicle *vesicle){ @@ -385,8 +404,10 @@ ts_bool saveAvgUlm2(ts_vesicle *vesicle){ FILE *fh; - - fh=fopen("sph2out.dat", "w"); + char filename[10000]; + strcpy(filename, command_line_args.path); + strcat(filename, "sph2out.dat"); + fh=fopen(filename, "w"); if(fh==NULL){ err("Cannot open file %s for writing"); return TS_FAIL; -- Gitblit v1.9.3