From 64c113ed06cb749fdc513162a1cddf4ec024fd72 Mon Sep 17 00:00:00 2001 From: Samo Penic <samo.penic@gmail.com> Date: Sat, 30 Nov 2013 10:10:13 +0000 Subject: [PATCH] Changes in data structure, added vertex_list_remove_vtx and vertex_list_add_vtx. Trying to fix the rest --- src/vertexmove.c | 18 +++++++++++++++--- 1 files changed, 15 insertions(+), 3 deletions(-) diff --git a/src/vertexmove.c b/src/vertexmove.c index f38e3c7..a79b2f0 100644 --- a/src/vertexmove.c +++ b/src/vertexmove.c @@ -20,6 +20,7 @@ ts_bool retval; ts_uint cellidx; ts_double delta_energy,oenergy; + ts_double costheta,sintheta,phi,r; //This will hold all the information of vtx and its neighbours ts_vertex backupvtx[20]; memcpy((void *)&backupvtx[0],(void *)vtx,sizeof(ts_vertex)); @@ -35,9 +36,20 @@ */ //temporarly moving the vertex - vtx->x=vtx->x+vesicle->stepsize*(2.0*rn[0]-1.0); - vtx->y=vtx->y+vesicle->stepsize*(2.0*rn[1]-1.0); - vtx->z=vtx->z+vesicle->stepsize*(2.0*rn[2]-1.0); +// vtx->x=vtx->x+vesicle->stepsize*(2.0*rn[0]-1.0); +// vtx->y=vtx->y+vesicle->stepsize*(2.0*rn[1]-1.0); +// vtx->z=vtx->z+vesicle->stepsize*(2.0*rn[2]-1.0); + + //random move in a sphere with radius stepsize: + r=vesicle->stepsize*rn[0]; + phi=rn[1]*2*M_PI; + costheta=2*rn[2]-1; + sintheta=sqrt(1-pow(costheta,2)); + vtx->x=vtx->x+r*sintheta*cos(phi); + vtx->y=vtx->y+r*sintheta*sin(phi); + vtx->z=vtx->z+r*costheta; + + //distance with neighbours check for(i=0;i<vtx->neigh_no;i++){ dist=vtx_distance_sq(vtx,vtx->neigh[i]); -- Gitblit v1.9.3