From e19e790e95f14ca69a7ce9c5e45d815fe21df36e Mon Sep 17 00:00:00 2001 From: Samo Penic <samo.penic@gmail.com> Date: Tue, 10 Jul 2012 12:33:43 +0000 Subject: [PATCH] It seems bondflip is fixed. Before 'for' loops I had to set j=0 in vertex.c and triangle.c in remove_neighbour --- src/main.c | 80 ++++++++++++++++++++++++++++++++++------ 1 files changed, 68 insertions(+), 12 deletions(-) diff --git a/src/main.c b/src/main.c index 38ec4be..ca9ed07 100644 --- a/src/main.c +++ b/src/main.c @@ -2,8 +2,14 @@ #include<math.h> #include "general.h" #include "vertex.h" -//#include "io.h" -//#include "initial_timestep.h" +#include "bond.h" +#include "triangle.h" +#include "cell.h" +#include "vesicle.h" +#include "io.h" +#include "initial_distribution.h" +#include "frame.h" +#include "timestep.h" /** Entrance function to the program * @param argv is a number of parameters used in program call (including the program name @@ -12,20 +18,70 @@ */ int main(int argv, char *argc[]){ -ts_int i; ts_bool retval; -ts_vertex **vlist=init_vertex_list(5); +ts_uint i; + ts_vertex_list *vlist=init_vertex_list(5); +ts_vertex_list *vlist1; +ts_bond_list *blist=init_bond_list(); +ts_triangle_list *tlist=init_triangle_list(); +ts_cell_list *clist=init_cell_list(3,3,3,0.3); +ts_vesicle *vesicle; - -retval=vtx_add_neighbour(&vlist[0],&vlist[1]); +retval=vtx_add_cneighbour(blist,vlist->vtx[1],vlist->vtx[0]); if(retval==TS_FAIL) printf("1. already a member or vertex is null!\n"); -retval=vtx_add_neighbour(&vlist[1],&vlist[0]); -if(retval==TS_FAIL) printf("2. already a member or vertex is null!\n"); -for(i=0;i<5;i++){ -vtx_free(&vlist[i]); +retval=vtx_add_neighbour(vlist->vtx[0],vlist->vtx[1]); +if(retval==TS_FAIL) printf("2. already a member or vertex is null!\n"); +fprintf(stderr,"Was here"); +retval=vtx_remove_neighbour(vlist->vtx[1],vlist->vtx[0]); +vtx_add_neighbour(vlist->vtx[0],vlist->vtx[1]); +fprintf(stderr,"Was here too!\n"); + +vlist->vtx[0]->x=1.0; +vlist->vtx[0]->x=1.1; +vlist1=vertex_list_copy(vlist); +bond_add(blist, vlist->vtx[1],vlist->vtx[0]); +triangle_add(tlist,vlist->vtx[1],vlist->vtx[2],vlist->vtx[3]); + +triangle_add(tlist,vlist->vtx[1],vlist->vtx[2],vlist->vtx[3]); + +printf("Cell idx=1 has vertices=%u\n",clist->cell[0]->nvertex); +cell_add_vertex(clist->cell[0], vlist->vtx[0]); +printf("Cell idx=1 has vertices=%u\n",clist->cell[0]->nvertex); +printf("Cell idx=1 has vertex[0] has x coordinate=%e\n",clist->cell[0]->vertex[0]->x); +cell_list_cell_occupation_clear(clist); +printf("Cell idx=1 has vertices=%u\n",clist->cell[0]->nvertex); +cell_add_vertex(clist->cell[0], vlist->vtx[0]); + + +triangle_list_free(tlist); +bond_list_free(blist); +vtx_list_free(vlist); +cell_list_free(clist); + +vtx_list_free(vlist1); +printf("Tests complete.\n"); +vesicle=initial_distribution_dipyramid(17,60,60,60,0.15); +//parsetape(vesicle,&i); + +//these four must come from parsetype! +vesicle->dmax=1.67*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<10000;i++){ +single_timestep(vesicle); +if(i%100==0){ +write_vertex_xml_file(vesicle,i/100); } -free(vlist); -printf("Done.\n"); +} +write_master_xml_file("test.pvd"); +write_dout_fcompat_file(vesicle,"dout"); +vesicle_free(vesicle); + return 0; //program finished perfectly ok. We return 0. } -- Gitblit v1.9.3