From a9c679d4e4b49e44542bac81ef4ef65c94418eff Mon Sep 17 00:00:00 2001 From: Samo Penic <samo.penic@gmail.com> Date: Fri, 08 Jul 2016 20:10:25 +0000 Subject: [PATCH] VTK rendering is done in realtime (updating attempt every second) --- src/general.h | 75 ++++++++++++++++++++++++++++++++++--- 1 files changed, 69 insertions(+), 6 deletions(-) diff --git a/src/general.h b/src/general.h index 3308faa..a6f5114 100644 --- a/src/general.h +++ b/src/general.h @@ -1,8 +1,10 @@ +/* vim: set ts=4 sts=4 sw=4 noet : */ #ifndef _GENERAL_H #define _GENERAL_H #include<stdarg.h> #include<stdio.h> +#include<gsl/gsl_complex.h> /* @brief This is a header file, defining general constants and structures. * @file header.h * @author Samo Penic @@ -47,6 +49,8 @@ #define TS_FAIL 1 /* CONSTANTS */ + +#define TS_ID_FILAMENT 1 /* DATA TYPES */ /** @brief Sets the default datatype for ts_double @@ -166,10 +170,11 @@ ts_uint idx; ts_vertex *vtx1; ts_vertex *vtx2; - ts_double bond_length; - ts_double bond_length_dual; - ts_bool tainted; + ts_double bond_length; + ts_double bond_length_dual; + ts_bool tainted; //TODO: remove ts_double energy; + ts_double x,y,z; }; typedef struct ts_bond ts_bond; @@ -212,12 +217,14 @@ ts_double dcell; ts_double shift; ts_double max_occupancy; + ts_double dmin_interspecies; } ts_cell_list; typedef struct { ts_uint l; ts_double **ulm; + gsl_complex **ulmComplex; ts_double **sumUlm2; ts_uint N; ts_double **co; @@ -243,6 +250,43 @@ +typedef struct { + long int nshell; + long int ncxmax; + long int ncymax; + long int nczmax; + long int npoly; + long int nmono; + long int nfil; + long int nfono; + long int R_nucleus; + ts_double R_nucleusX; + ts_double R_nucleusY; + ts_double R_nucleusZ; + long int pswitch; + long int constvolswitch; + long int constareaswitch; + ts_double constvolprecision; + char *multiprocessing; + long int brezveze0; + long int brezveze1; + long int brezveze2; + ts_double xk0; + ts_double dmax; + ts_double dmin_interspecies; + ts_double stepsize; + ts_double kspring; + ts_double xi; + ts_double pressure; + long int iterations; + long int inititer; + long int mcsweeps; + long int quiet; + long int shc; +} ts_tape; + + + typedef struct { ts_vertex_list *vlist; @@ -256,11 +300,21 @@ ts_double cm[3]; ts_double volume; ts_spharm *sphHarmonics; - +// Polymers outside the vesicle and attached to the vesicle membrane (polymer brush): ts_poly_list *poly_list; +// Filaments inside the vesicle (not attached to the vesicel membrane: + ts_poly_list *filament_list; + ts_double spring_constant; ts_double pressure; ts_int pswitch; + ts_tape *tape; + ts_double R_nucleus; + ts_double R_nucleusX; + ts_double R_nucleusY; + ts_double R_nucleusZ; + ts_double nucleus_center[3]; + ts_double area; } ts_vesicle; @@ -268,8 +322,10 @@ /* GLOBAL VARIABLES */ int quiet; - - +ts_double V0; +ts_double A0; +ts_double epsvol; +ts_double epsarea; /* FUNCTIONS */ /** Non-fatal error function handler: @@ -290,4 +346,11 @@ #define VTX(n) &(vlist->vtx[n]) #define VTX_DATA(n) vlist->vtx[n].data + +/* FOR PID GENERATION ROUTINE */ +#define CPF_CLOEXEC 1 + +int createPidFile(const char *progName, const char *pidFile, int flags); + +int lockRegion(int fd, int type, int whence, int start, int len); #endif -- Gitblit v1.9.3