From 1eb75bcca71b97196c1ad29da5d082a21b12cf00 Mon Sep 17 00:00:00 2001 From: Samo Penic <samo.penic@gmail.com> Date: Sat, 19 Oct 2019 15:30:09 +0000 Subject: [PATCH] Did restore. Segfaults. --- src/vertexmove.c | 27 ++++++++++++++++++++++++++- 1 files changed, 26 insertions(+), 1 deletions(-) diff --git a/src/vertexmove.c b/src/vertexmove.c index 45a4b33..e74fa74 100644 --- a/src/vertexmove.c +++ b/src/vertexmove.c @@ -88,6 +88,14 @@ } } + + // plane confinement check whether the new position of vertex will be out of bounds + if(vesicle->tape->plane_confinement_switch){ + if(vtx->z>vesicle->confinement_plane.z_max || vtx->z<vesicle->confinement_plane.z_min){ + vtx=memcpy((void *)vtx,(void *)&backupvtx[0],sizeof(ts_vertex)); + return TS_FAIL; + } + } //#undef SQ //self avoidance check with distant vertices cellidx=vertex_self_avoidance(vesicle, vtx); @@ -118,7 +126,8 @@ for(i=0;i<vtx->tristar_no;i++) dstretchenergy-=vtx->tristar[i]->energy; } delta_energy=0; - + + // vesicle_volume(vesicle); // fprintf(stderr,"Volume in the beginning=%1.16e\n", vesicle->volume); @@ -212,6 +221,22 @@ pow(sqrt(vtx_distance_sq(&backupvtx[0], vtx->grafted_poly->vlist->vtx[0])-1),2)) *vtx->grafted_poly->k; } */ + +// plane confinement energy due to compressing force + if(vesicle->tape->plane_confinement_switch){ + if(vesicle->confinement_plane.force_switch){ + //substract old energy + if(abs(vesicle->tape->plane_d/2.0-vesicle->confinement_plane.z_max)>1e-10) { + delta_energy-=vesicle->tape->plane_F / pow(vesicle->confinement_plane.z_max-backupvtx[0].z,2); + delta_energy+=vesicle->tape->plane_F / pow(vesicle->confinement_plane.z_max-vtx->z,2); + } + if(abs(-vesicle->tape->plane_d/2.0-vesicle->confinement_plane.z_min)>1e-10) { + delta_energy-=vesicle->tape->plane_F / pow(vesicle->confinement_plane.z_min-backupvtx[0].z,2); + delta_energy+=vesicle->tape->plane_F / pow(vesicle->confinement_plane.z_min-vtx->z,2); + } + } + } + // fprintf(stderr, "DE=%f\n",delta_energy); //MONTE CARLOOOOOOOO // if(vtx->c!=0.0) printf("DE=%f\n",delta_energy); -- Gitblit v1.9.3