residence time and rdf statistics More...
| Data Types | |
| type | residence_time | 
| Arrays for 1, 2 and 3 dimensional residence time and radial distribution function with sdamm.  More... | |
| Functions/Subroutines | |
| subroutine | init_resid_time (this, fixe_bin_size, enum_str, format_resid3d, b_pair, nb_type) | 
| Initialize the instance.  More... | |
| subroutine | delete_resid_time (this) | 
| Delete arrays.  More... | |
| subroutine | copy_resid_time (this, new_rt, new_enum_rt) | 
| Not a real copy, data are modified when we want to create a 2D or a 1D form a 3D reisdence_time.  More... | |
| subroutine | set_array_rt (this, geom_resid, nb_xcell, nb_ycell, nb_zcell, xcell, ycell, zcell) | 
| Set grid parameters.  More... | |
| subroutine | set_array_rt_sdamm (this, geom_resid, nb_type, nb_xcell, nb_ycell, nb_zcell, xcell, ycell, zcell) | 
| Similar to set_array_rt but only for sdamm.  More... | |
| subroutine | apply_shift_to_rt (this, shift_x, shift_y, shift_z) | 
| Shift the origin of the residence_time grid.  More... | |
| subroutine | update_residence_time (this, pos_prot, dist, dtnow) | 
| Update residence_time.  More... | |
| subroutine | update_rdf (this, dist, type1, type2) | 
| Update the radial distribution function.  More... | |
| recursive integer function | print_residence_time (this, geom_resid, nrun) | 
| Print final residence_time.  More... | |
| subroutine | print_rdf (this, tab_protein, geom_resid, n_rdfs) | 
| Normalize and print radial distribution functions in RDF.log.  More... | |
| subroutine | write_resid_3d (this, shift_center) | 
| Write the 3d reisdence time grid to UHBD format.  More... | |
| Variables | |
| integer, parameter | rt_off = 1 | 
| integer, parameter | rt_distance = 2 | 
| integer, parameter | rt_plan = 3 | 
| integer, parameter | rt_resid3d = 4 | 
residence time and rdf statistics
| subroutine mod_residencetime::apply_shift_to_rt | ( | type ( residence_time ) | this, | 
| real ( kind=4 ) | shift_x, | ||
| real ( kind=4 ) | shift_y, | ||
| real ( kind=4 ) | shift_z | ||
| ) | 
Shift the origin of the residence_time grid.
Apply only to resid3d ??
| this | : instance of residence_time | 
| shift_x,shift_y,shift_z | : shift to apply to the origin | 
| subroutine mod_residencetime::copy_resid_time | ( | type ( residence_time ) | this, | 
| type ( residence_time ) | new_rt, | ||
| integer | new_enum_rt | ||
| ) | 
Not a real copy, data are modified when we want to create a 2D or a 1D form a 3D reisdence_time.
Only valable when resid3d and called by print_resid_time, NOT general
 only to use if this == resid_3d, want to produce new_rt as distance or plan residence time
 
| this | : instance of residence_time, source of the copy | 
| new_rt | : instance of residence_time, target of the copy | 
| new_enum_rt | : type of the new_rt residence_time ( "plan" or "distance" ) | 
| subroutine mod_residencetime::delete_resid_time | ( | type ( residence_time ) | this | ) | 
Delete arrays.
| this | : instance of residence_time | 
| subroutine mod_residencetime::init_resid_time | ( | type ( residence_time ) | this, | 
| integer, intent(in) | fixe_bin_size, | ||
| character, dimension(*), intent(in) | enum_str, | ||
| integer, intent(in) | format_resid3d, | ||
| logical, intent(in) | b_pair, | ||
| integer, intent(in) | nb_type | ||
| ) | 
Initialize the instance.
| this | : instance of residence_time | 
| fixe_bin_size | : if the size of the bin is fixed | 
| enum_str | : "off" / "distance" / "plan" / "resid_3d" | 
| format_resid3d | : ascii or binary for the output of the grid | 
| b_pair | : if more than type of solute is present in sdamm | 
| nb_type | : number of different type of solutes in sdamm, will set the number of pairs ( ( nb_type * ( nb_type + 1 ) ) / 2 ) | 
| subroutine mod_residencetime::print_rdf | ( | type ( residence_time ), target | this, | 
| type ( array_protein_type ) | tab_protein, | ||
| type ( geometry ), intent(in) | geom_resid, | ||
| integer | n_rdfs | ||
| ) | 
Normalize and print radial distribution functions in RDF.log.
| this | : instance of residence_time | 
| tab_protein | : instance array_protein_type | 
| geom_resid | : instance of geometry | 
| n_rdfs | : number of radial distribution functions | 
| recursive integer function mod_residencetime::print_residence_time | ( | type ( residence_time ) | this, | 
| type ( geometry ), intent(in) | geom_resid, | ||
| integer | nrun | ||
| ) | 
Print final residence_time.
Use recursive function : if the 3d residence time has been computed, 2d and 1d will be computed and printed
| this | : instance residence_time | 
| geom_resid | : instance of geometry | 
| nrun | : total number of runs, used for the normalization | 
| subroutine mod_residencetime::set_array_rt | ( | type ( residence_time ) | this, | 
| type ( geometry ), intent(in) | geom_resid, | ||
| integer, intent(in) | nb_xcell, | ||
| integer, intent(in) | nb_ycell, | ||
| integer, intent(in) | nb_zcell, | ||
| real ( kind=4 ), intent(in) | xcell, | ||
| real ( kind=4 ), intent(in) | ycell, | ||
| real ( kind=4 ), intent(in) | zcell | ||
| ) | 
Set grid parameters.
Can specify the size of the cells or the number of cells for each axis or both
 But it is an UHBD format which accepts only a fixed cell spacing for all 3 dimensions
 The grid can be produced correctly, but not visualized in VMD
Modified origin, for the shift a grid spacing is missing
| this | : instance of residence_time | 
| geom_resid | : instance of geometry | 
| nb_xcell,nb_ycell,nb_zcell | : number of cell for each axis | 
| xcell,ycell,zcell | : size of the cells for each axis | 
| subroutine mod_residencetime::set_array_rt_sdamm | ( | type ( residence_time ) | this, | 
| type ( geometry ), intent(in) | geom_resid, | ||
| integer, intent(in) | nb_type, | ||
| integer, intent(in) | nb_xcell, | ||
| integer, intent(in) | nb_ycell, | ||
| integer, intent(in) | nb_zcell, | ||
| real ( kind=4 ), intent(in) | xcell, | ||
| real ( kind=4 ), intent(in) | ycell, | ||
| real ( kind=4 ), intent(in) | zcell | ||
| ) | 
Similar to set_array_rt but only for sdamm.
Additionaly allocate the array for the radial distribution functions
| this | : instance of residence_time | 
| geom_resid | : instance of geometry | 
| nb_type | : number of different type of solutes, needed for rdf | 
| nb_xcell,nb_ycell,nb_zcell | : number of cell for each axis | 
| xcell,ycell,zcell | : size of the cells for each axis | 
| subroutine mod_residencetime::update_rdf | ( | type ( residence_time ) | this, | 
| real ( kind=8 ), intent(in) | dist, | ||
| integer | type1, | ||
| integer | type2 | ||
| ) | 
Update the radial distribution function.
Only used with sdamm
| this | : instance of residence_time | 
| dist | : distance between the 2 solutes | 
| type1,type2 | : type of the solutes | 
| subroutine mod_residencetime::update_residence_time | ( | type ( residence_time ) | this, | 
| real ( kind=8 ), dimension ( 3 ) | pos_prot, | ||
| real ( kind=4 ) | dist, | ||
| real ( kind=8 ) | dtnow | ||
| ) | 
Update residence_time.
Only used by sda_2proteins
 Update all arrays, done every steps in sda_2proteins
 This function must be thread-safe 
| this | : instance of residence_time | 
| pos_prot | : position of one solute | 
| dist | : distance, used only for sda_2proteins | 
| dtnow | : current value of the timestep ( variable for sda_2proteins ) | 
| subroutine mod_residencetime::write_resid_3d | ( | type ( residence_time ), target | this, | 
| real ( kind=8 ), dimension(3) | shift_center | ||
| ) | 
Write the 3d reisdence time grid to UHBD format.
Need to shift to the center of the solute 1 for visualisation
| this | : instance of residence_time | 
| shift_center | : center of solute 1 ? | 
| integer, parameter mod_residencetime::rt_distance = 2 | 
| integer, parameter mod_residencetime::rt_off = 1 | 
| integer, parameter mod_residencetime::rt_plan = 3 | 
| integer, parameter mod_residencetime::rt_resid3d = 4 | 
 1.8.13
Imprint/Privacy
 1.8.13
Imprint/Privacy