| | |
| | | |
| | | vesicle->plist->pointer=vesicle->plist->chain->vm_energy_after_execute; |
| | | while(vesicle->plist->pointer!=NULL){ |
| | | delta_energy+=vesicle->plist->pointer->plugin->function->vm_energy_after_execute(vesicle, vtx); |
| | | delta_energy+=vesicle->plist->pointer->plugin->function->vm_energy_after_execute(vesicle, vtx, backupvtx); |
| | | vesicle->plist->pointer=vesicle->plist->pointer->next; |
| | | } |
| | | |
| | |
| | | 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); |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | /* Entry point for plugin vm_before_montecarlo_constraint() function */ |