| | |
| | | * @file header.h |
| | | * @author Samo Penic |
| | | * @date 5.3.2001 |
| | | * |
| | | * |
| | | * Header file for general inclusion in all the code, defining data structures |
| | | * and general constans. All datatypes used in the code is also defined here. |
| | | * |
| | | * Miha: branch trisurf-polyel |
| | | */ |
| | | |
| | | /* Defines */ |
| | |
| | | * TS_DOUBLE_LONGDOUBLE |
| | | */ |
| | | #define TS_DOUBLE_DOUBLE |
| | | |
| | | /** @brief Constant defines the size by which vertex_list expands at once, so expansion is not needed each time new data arrives. Also |
| | | * vlist will be decreased by same steps. |
| | | */ |
| | | #define TS_VLIST_CHUNK 7 |
| | | |
| | | /** For the purpose of greater flexibility all data types used in the program |
| | | * shouldn't use standard C types, but should use types defined here. |
| | |
| | | ts_uint coord_type; |
| | | } ts_coord; |
| | | |
| | | <<<<<<< HEAD |
| | | |
| | | |
| | | |
| | | ======= |
| | | >>>>>>> e9eab4fb2f72383a1a2adbe5f09f7bbd1fd45768 |
| | | /** @brief Data structure of all data connected to a vertex |
| | | * |
| | | * ts_vertex holds the data for one single point (bead, vertex). To understand how to use it |
| | |
| | | ts_double x; /**< The x coordinate of vertex. */ |
| | | ts_double y; /**< The y coordinate of vertex. */ |
| | | ts_double z; /**< The z coordinate of vertex. */ |
| | | ts_uint neigh_no; /**< The number of neighbours. */ |
| | | struct ts_vertex **neigh; /**< The pointer that holds neigh_no pointers to this structure. */ |
| | | // ts_uint neigh_no; /**< The number of neighbours. */ |
| | | // struct ts_vertex **neigh; /**< The pointer that holds neigh_no pointers to this structure. */ |
| | | struct ts_vertex_list *neigh; |
| | | ts_double *bond_length; /**< Obsolete! The bond lenght is moved to ts_bond */ |
| | | ts_double *bond_length_dual; /**< Obsolete! Bond length in dual lattice is moved to ts_bond! */ |
| | | ts_double curvature; |
| | |
| | | ts_double projArea; |
| | | ts_double relR; |
| | | ts_double solAngle; |
| | | struct ts_poly *grafted_poly; |
| | | }; |
| | | typedef struct ts_vertex ts_vertex; |
| | | |
| | | typedef struct { |
| | | struct ts_vertex_list{ |
| | | ts_uint n; |
| | | ts_uint list_size; |
| | | ts_vertex **vtx; |
| | | |
| | | } ts_vertex_list; |
| | | }; |
| | | typedef struct ts_vertex_list ts_vertex_list; |
| | | |
| | | struct ts_bond { |
| | | ts_uint idx; |
| | | ts_uint idx; |
| | | ts_vertex *vtx1; |
| | | ts_vertex *vtx2; |
| | | ts_vertex *adjvtx[2]; |
| | | struct ts_triangle *tria[2]; |
| | | ts_double bond_length; |
| | | ts_double bond_length_dual; |
| | | ts_bool tainted; |
| | | ts_double energy; |
| | | }; |
| | | typedef struct ts_bond ts_bond; |
| | | |
| | |
| | | typedef struct { |
| | | ts_uint l; |
| | | ts_double **ulm; |
| | | ts_double **sumUlm2; |
| | | ts_uint N; |
| | | ts_double **co; |
| | | ts_double ***Ylmi; |
| | | } ts_spharm; |
| | | |
| | | |
| | | |
| | | struct ts_poly { |
| | | ts_vertex_list *vlist; |
| | | ts_bond_list *blist; |
| | | ts_vertex *grafted_vtx; |
| | | ts_double k; |
| | | }; |
| | | typedef struct ts_poly ts_poly; |
| | | |
| | | |
| | | struct ts_poly_list { |
| | | ts_uint n; |
| | | ts_poly **poly; |
| | | }; |
| | | typedef struct ts_poly_list ts_poly_list; |
| | | |
| | | |
| | | |
| | | |
| | |
| | | ts_vertex_list *vlist; |
| | | ts_bond_list *blist; |
| | | ts_triangle_list *tlist; |
| | | ts_cell_list *clist; |
| | | ts_cell_list *clist; |
| | | ts_uint nshell; |
| | | ts_double bending_rigidity; |
| | | ts_double dmax; |
| | | ts_double stepsize; |
| | | ts_double cm[3]; |
| | | ts_double volume; |
| | | ts_spharm *sphHarmonics; |
| | | ts_double bending_rigidity; |
| | | ts_double dmax; |
| | | ts_double stepsize; |
| | | ts_double cm[3]; |
| | | ts_double volume; |
| | | ts_spharm *sphHarmonics; |
| | | |
| | | ts_poly_list *poly_list; |
| | | ts_double spring_constant; |
| | | } ts_vesicle; |
| | | |
| | | |