Functions/Subroutines | |
| subroutine | make_bd_move_2prot (prot1, prot2, geom, force, torque, torque1, dtnow, dist, rhit, hit, accept, escape, total_overlap, ignore_excl, iimg_hydro, old_rotation, surface_height) |
| Main function to call from the main loop, version without timer_exclusion. | |
Copyright (c) 2009, 2010, 2015, 2016, 2019 Heidelberg Institute of Theoretical Studies (HITS, www.h-its.org) Schloss-Wolfsbrunnenweg 35 69118 Heidelberg, Germany
Please send your contact address to get information on updates and new features to "mcmsoft@h-its.org". Questions will be answered as soon as possible.
References: see also http://mcm.h-its.org/sda7/do:c/doc_sda7/references.html:
Brownian dynamics simulation of protein-protein diffusional encounter. (1998) Methods, 14, 329-341.
SDA 7: A modular and parallel implementation of the simulation of diffusional association software. Journal of computational chemistry 36.21 (2015): 1631-1645.
Authors: M.Martinez, N.J.Bruce, J.Romanowska, D.B.Kokh, P.Mereghetti, X. Yu, M. Ozboyaci, M. Reinhardt, P. Friedrich, R.R.Gabdoulline, S.Richter and R.C.Wade
Apply the BD translation and rotation to the solutes
| subroutine make_bd_move_2prot | ( | type ( protein ) | prot1, |
| type ( protein ) | prot2, | ||
| type ( geometry ), intent(in) | geom, | ||
| real ( kind=8 ), dimension ( 3 ), intent(in) | force, | ||
| real ( kind=8 ), dimension ( 3 ), intent(in) | torque, | ||
| real ( kind=8 ), dimension ( 3 ), intent(in) | torque1, | ||
| real ( kind=8 ), intent(in) | dtnow, | ||
| real ( kind=4 ) | dist, | ||
| real ( kind=4 ) | rhit, | ||
| logical, intent(out) | hit, | ||
| logical, intent(out) | accept, | ||
| logical, intent(out) | escape, | ||
| integer | total_overlap, | ||
| logical, intent(in) | ignore_excl, | ||
| logical, intent(in) | iimg_hydro, | ||
| logical | old_rotation, | ||
| real ( kind=8 ), intent(in), optional | surface_height | ||
| ) |
Main function to call from the main loop, version without timer_exclusion.
In addition to the deterministic forces ( electrostatic, etc ) a random translational and rotational displacement is applied to all solutes
Diffusion coefficients are from the protein class, not from the set_of_grid. It allows to rescale the coefficients independently in every thread, set_of_grid keep the original value.
Adapted to the 2 solutes case with exclusion check if the distance is smaller than a criteria (see rhit and hit )
If the solutes overlap, the move rejected and an other is tested until it accepted or total_overlap reach max_overlap
The move are not applied directly, but rather tested. Only at the end, if still all move were accepted the atoms are rotated
Delete the timer for exclusion_check in this version. see make_bd_move_2prot_timer_excl.f90
Trick : the solute 1 never rotates, it is the solute 2 which is translated. It keeps force calculation simpler
| prot1 | : solute 1, instance of protein |
| prot2 | : solute 2, instance of protein |
| geom | : instance of geometry |
| force | : array of the deterministic forces on the solutes |
| torque | : torque applied by the solute 1 on the solute 2 |
| torque1 | : torque applied by the solute 2 on the solute 1 |
| dtnow | : current timestep |
| dist | : distance between the solutes |
| rhit | : distance at which hit must be set to true |
| hit | : if the exclusion must be checked |
| accept | : return if the BD move has been accepted |
| escape | : return if the solute 2 escapes from the box |
| total_overlap | : return, count the number of overlap ( rejected move ). Use before running boost |
| ignore_excl | : if true, no excluded volume check is made. Soft-core rep should be used instead |
| iimg_hydro | : MARTIN |
| surface_height | : MARTIN |
1.9.8
Imprint/Privacy