From 5bb6bb1c525a0503f8eb2b1c0fa64a5d3cc6e9bf Mon Sep 17 00:00:00 2001 From: mihaf <miha.fosnaric@gmail.com> Date: Wed, 16 Apr 2014 10:09:35 +0000 Subject: [PATCH] Output for spherical harmonics testing added. --- src/vertexmove.c | 25 +++++++++++++++++++------ 1 files changed, 19 insertions(+), 6 deletions(-) diff --git a/src/vertexmove.c b/src/vertexmove.c index da8e70f..6bc730e 100644 --- a/src/vertexmove.c +++ b/src/vertexmove.c @@ -67,11 +67,18 @@ } } - //self avoidance check with distant vertices - cellidx=vertex_self_avoidance(vesicle, vtx); - //check occupation number - retval=cell_occupation_number_and_internal_proximity(vesicle->clist,cellidx,vtx); - +// TODO: Maybe faster if checks only nucleus-neighboring cells +// Nucleus penetration check: + if (vtx->x*vtx->x + vtx->y*vtx->y + vtx->z*vtx->z < vesicle->R_nucleus){ + vtx=memcpy((void *)vtx,(void *)&backupvtx[0],sizeof(ts_vertex)); + return TS_FAIL; + } + +//self avoidance check with distant vertices + cellidx=vertex_self_avoidance(vesicle, vtx); + //check occupation number + retval=cell_occupation_number_and_internal_proximity(vesicle->clist,cellidx,vtx); + if(retval==TS_FAIL){ vtx=memcpy((void *)vtx,(void *)&backupvtx[0],sizeof(ts_vertex)); return TS_FAIL; @@ -291,12 +298,18 @@ } } +// TODO: Maybe faster if checks only nucleus-neighboring cells +// Nucleus penetration check: + if (vtx->x*vtx->x + vtx->y*vtx->y + vtx->z*vtx->z < vesicle->R_nucleus){ + vtx=memcpy((void *)vtx,(void *)&backupvtx,sizeof(ts_vertex)); + return TS_FAIL; + } + //self avoidance check with distant vertices cellidx=vertex_self_avoidance(vesicle, vtx); //check occupation number retval=cell_occupation_number_and_internal_proximity(vesicle->clist,cellidx,vtx); - if(retval==TS_FAIL){ vtx=memcpy((void *)vtx,(void *)&backupvtx,sizeof(ts_vertex)); return TS_FAIL; -- Gitblit v1.9.3