Functions/Subroutines | |
program | rot_diffusion |
Program rot_diffusion. More... | |
subroutine | all_acf_rotation (orient_axis, tab_prot, ACF, nchunks, b_type, value_type) |
Compute all autocorrelation function of rotation. More... | |
subroutine | all_msd_rotation (orient_axis, tab_prot, ACF, nchunks, b_type, value_type, nb_region, dt, io_msd) |
This method uses rotational mean square displacement ( rmsd ) computed with a trick from above reference. More... | |
subroutine | autocorrelation_orient (input_data, output_data, size_input) |
Make autocorrelation of the orientation, simplest form. More... | |
subroutine | rmsd_orient (input_data, output_data, dt) |
Different implementation, as an usual msd ( 2 loops over t ) dt only needed in check, could be deleted. More... | |
subroutine | print_acfrot_sdamm (ACF, time_snapshot, b_type, value_type, io_acf) |
Version with output similar to sdamm, need to produce more files. More... | |
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
Compute the autocorrelation function of the rotation and the rotational diffusion coefficients
subroutine all_acf_rotation | ( | real ( kind=8 ), dimension (:,:,:,:) | orient_axis, |
type ( array_protein_type ) | tab_prot, | ||
real ( kind=8 ), dimension (:,:,:), allocatable | ACF, | ||
integer | nchunks, | ||
logical | b_type, | ||
integer | value_type | ||
) |
Compute all autocorrelation function of rotation.
Can deal with splitting the trajectory with nchunks
orient_axis | : array containing the orientation of the solute during the trajectory |
tab_prot | : instance of array_protein_type |
ACF | : return, autocorrelation functions |
nchunks | : how many parts the simulation is splitted |
b_type | : logical, compute for different type of proteins if .true. |
value_type | : if 0 compute for all proteins AND for all types of proteins, if > 0 compute only for this type could improve, read in orient_axis only for this type and forget about this argument |
subroutine all_msd_rotation | ( | real ( kind=8 ), dimension (:,:,:,:), intent(in) | orient_axis, |
type ( array_protein_type ), intent(in) | tab_prot, | ||
real ( kind=8 ), dimension (:,:,:), allocatable | ACF, | ||
integer, intent(in) | nchunks, | ||
logical, intent(in) | b_type, | ||
integer, intent(in) | value_type, | ||
integer, intent(in) | nb_region, | ||
real ( kind=4 ), intent(in) | dt, | ||
integer, intent(in) | io_msd | ||
) |
This method uses rotational mean square displacement ( rmsd ) computed with a trick from above reference.
subroutine autocorrelation_orient | ( | real ( kind=8 ), dimension (:,:,:,:), intent(in) | input_data, |
real ( kind=8 ), dimension (:), intent(out) | output_data, | ||
integer, intent(in) | size_input | ||
) |
Make autocorrelation of the orientation, simplest form.
Version using the maximum number of data points
Large tau have a poor statistic
Here can use OpenMP
input_data | : trajectory of the orientation |
output_data | : return, 1 dimensional autocorrelation function |
size_input | : size of input |
subroutine print_acfrot_sdamm | ( | real ( kind=8 ), dimension (:,:,:) | ACF, |
real (kind=4) | time_snapshot, | ||
logical | b_type, | ||
integer | value_type, | ||
integer | io_acf | ||
) |
Version with output similar to sdamm, need to produce more files.
For use with octave script
subroutine rmsd_orient | ( | real ( kind=8 ), dimension (:,:,:,:), intent(in) | input_data, |
real ( kind=8 ), dimension (:), intent(out) | output_data, | ||
real ( kind=4 ), intent(in) | dt | ||
) |
Different implementation, as an usual msd ( 2 loops over t ) dt only needed in check, could be deleted.