From b4e2e6dbd5049ae279f0f74838cd21b625148c72 Mon Sep 17 00:00:00 2001 From: Samo Penic <samo.penic@gmail.com> Date: Thu, 11 Oct 2018 10:34:25 +0000 Subject: [PATCH] Changes in plates movement --- src/timestep.c | 41 ++++++++++++++++++++++++----------------- 1 files changed, 24 insertions(+), 17 deletions(-) diff --git a/src/timestep.c b/src/timestep.c index 767a675..af8859c 100644 --- a/src/timestep.c +++ b/src/timestep.c @@ -24,7 +24,7 @@ ts_double r0,kc1=0,kc2=0,kc3=0,kc4=0; ts_double l1,l2,l3,vmsr,bfsr, vmsrt, bfsrt; ts_ulong epochtime; - ts_double max_z=0, min_z=0; + ts_double max_z=0, min_z=0, cm_backup[3]; FILE *fd1,*fd2=NULL,*fd3=NULL; char filename[10000]; //struct stat st; @@ -94,6 +94,24 @@ vmsr=0.0; bfsr=0.0; + +/* vesicle_volume(vesicle); + fprintf(stderr,"Volume before TS=%1.16e\n", vesicle->volume); */ + for(j=0;j<mcsweeps;j++){ + single_timestep(vesicle, &vmsrt, &bfsrt); + vmsr+=vmsrt; + bfsr+=bfsrt; + } +/* + vesicle_volume(vesicle); + fprintf(stderr,"Volume after TS=%1.16e\n", vesicle->volume); */ + vmsr/=(ts_double)mcsweeps; + bfsr/=(ts_double)mcsweeps; + for (k=0;k<3;k++) cm_backup[k]=vesicle->cm[k]; + + centermass(vesicle); + cell_occupation(vesicle); + // plane confinement if(vesicle->tape->plane_confinement_switch){ if(vesicle->confinement_plane.z_max-vesicle->confinement_plane.z_min<=vesicle->tape->plane_d){ @@ -108,8 +126,10 @@ if(vesicle->vlist->vtx[k]->z < min_z) min_z=vesicle->vlist->vtx[k]->z; } if(max_z-min_z<=vesicle->tape->plane_d) { - vesicle->confinement_plane.z_max=max_z; - vesicle->confinement_plane.z_min=max_z-vesicle->tape->plane_d; + vesicle->confinement_plane.z_max+=(vesicle->cm[2]-cm_backup[2]); + vesicle->confinement_plane.z_min+=(vesicle->cm[2]-cm_backup[2]); + //vesicle->confinement_plane.z_max=max_z; + //vesicle->confinement_plane.z_min=max_z-vesicle->tape->plane_d; } else { vesicle->confinement_plane.z_min=min_z;//-1e-5; vesicle->confinement_plane.z_max=max_z;//+1e-5; @@ -117,21 +137,8 @@ } ts_fprintf(stdout,"Planes (zmin, zmax)=(%e,%e)\n",vesicle->confinement_plane.z_min,vesicle->confinement_plane.z_max); } + // end plane confinement -/* vesicle_volume(vesicle); - fprintf(stderr,"Volume before TS=%1.16e\n", vesicle->volume); */ - for(j=0;j<mcsweeps;j++){ - single_timestep(vesicle, &vmsrt, &bfsrt); - vmsr+=vmsrt; - bfsr+=bfsrt; - } -/* - vesicle_volume(vesicle); - fprintf(stderr,"Volume after TS=%1.16e\n", vesicle->volume); */ - vmsr/=(ts_double)mcsweeps; - bfsr/=(ts_double)mcsweeps; - centermass(vesicle); - cell_occupation(vesicle); dump_state(vesicle,i); if(i>=inititer){ write_vertex_xml_file(vesicle,i-inititer,NULL); -- Gitblit v1.9.3