Apply the BD translation and rotation to the solutes. More...
Functions/Subroutines | |
subroutine | make_bd_move_2prot (prot1, prot2, geom, force, torque, torque1, dtnow, dist, rhit, hit, accept, escape, total_overlap) |
Main function to call from the main loop, version without timer_exclusion. More... | |
Apply the BD translation and rotation to the solutes.
Copyright (c) 2009, 2010, 2015 Heidelberg Institute of Theoretical Studies (HITS, www.h-its.org) formerly EML Research gGmbH (EML-R ) Schloss-Wolfsbrunnenweg 35 69118 Heidelberg, Germany
Copyright (c) 2000, 2003 European Molecular Biology Laboratory Meyerhofstr. 1, Postfach 10.2209 D-69012, 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/doc/doc_sda7/references.html):
Brownian dynamics simulation of protein-protein diffusional encounter.
(1998) Methods, 14, 329-341.
Authors: M.Martinez, N.J.Bruce, J.Romanowska, D.B.Kokh, P.Mereghetti, R.R.Gabdoulline, M. Ozboyaci, S.Richter and R.C.Wade
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 | ||
) |
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 |