Module groups computation of forces and energies of sda_2proteins and related.
 simplify interface if all in one file.  
More...
| Functions/Subroutines | |
| subroutine | force_epedhdlj_2proteins (prot1, prot2, param_force_energy, dist, f, t, t1, dummy_array) | 
| Compute the force for sda_2proteins and derivatives.  More... | |
| subroutine | force_asymetric (prot1, prot2, grid_number, dummy_array, ff1, ff2, tt1, tt2, reverse, subgrid, type_p1, type_p2, test_dist2) | 
| Compute one asymetric interaction, send back ff2, tt1, tt2, caller should decide what to do ( increment ). . More... | |
| subroutine | compute_force_sda_2proteins (prot1, prot2, grid_number, dummy_array, ff2, tt1, tt2, type_p1, type_p2, test_dist2) | 
| Compute only one interaction, always symetric => applies correction.  More... | |
| subroutine | force_epedhdlj_2proteins_fast (prot1, prot2, param_force_energy, dist, f, t, t1, dummy_array) | 
| Use fast algorithm, only for sda_2proteins and derivatives.  More... | |
| subroutine | force_sda_2proteins_fast (prot1, prot2, grid_number, dummy_array, ff1_n, ff2, tt1_n, tt2, type_p1, type_p2, test_dist2) | 
| Compute 1 interactions with the fast algorithm.  More... | |
| subroutine | force_couple_fast (prot1, prot2, nb_grid1, nb_grid2, gridtype, dummy_array, ff1_n, ff2, tt1_n, tt2, type_p1, type_p2, test_dist2) | 
| Compute 2 interactions with the fast algorithm.  More... | |
Module groups computation of forces and energies of sda_2proteins and related.
 simplify interface if all in one file. 
| subroutine mod_compute_force::compute_force_sda_2proteins | ( | type ( protein ), intent(in) | prot1, | 
| type ( protein ), intent(in) | prot2, | ||
| integer, intent(in) | grid_number, | ||
| real ( kind=8 ), dimension ( : ), intent(in), target | dummy_array, | ||
| real ( kind=8 ), dimension( 3 ), intent(out) | ff2, | ||
| real ( kind=8 ), dimension( 3 ), intent(out) | tt1, | ||
| real ( kind=8 ), dimension( 3 ), intent(out) | tt2, | ||
| integer, intent(in) | type_p1, | ||
| integer, intent(in) | type_p2, | ||
| real ( kind=4 ), intent(in) | test_dist2 | ||
| ) | 
Compute only one interaction, always symetric => applies correction.
In fact could work with asymetric if 1 nb_charge == 0
| prot1,prot2 | : solute 1 and 2, instance of protein | 
| grid_number | : number of the grid, as referred in mod_gridtype | 
| dummy_array | : used for repulsive lennard-jones interactions | 
| ff2,tt2,tt1 | : return force and torque on solute 2, torque on solute 1 | 
| type_p1,type_p2 | : integer type of the solutes | 
| test_dist2 | : distance square between the solutes | 
| subroutine mod_compute_force::force_asymetric | ( | type ( protein ), intent(in) | prot1, | 
| type ( protein ), intent(in) | prot2, | ||
| integer, intent(in) | grid_number, | ||
| real ( kind=8 ), dimension ( : ), intent(in) | dummy_array, | ||
| real ( kind=8 ), dimension ( 3 ), intent(out) | ff1, | ||
| real ( kind=8 ), dimension ( 3 ), intent(out) | ff2, | ||
| real ( kind=8 ), dimension ( 3 ), intent(out) | tt1, | ||
| real ( kind=8 ), dimension ( 3 ), intent(out) | tt2, | ||
| integer | reverse, | ||
| integer | subgrid, | ||
| integer, intent(in) | type_p1, | ||
| integer, intent(in) | type_p2, | ||
| real ( kind=4 ), intent(in) | test_dist2 | ||
| ) | 
Compute one asymetric interaction, send back ff2, tt1, tt2, caller should decide what to do ( increment ).
. 
normal version, not fast. Here aplly final torque correction, in order to reproduce identical force than other methods
| prot1,prot2 | : solute 1 and 2, instance of protein | 
| grid_number | : number of the grid, as referred in mod_gridtype | 
| dummy_array | : used for repulsive lennard-jones interactions | 
| ff1,ff2,tt2,tt1 | : return force and torque on solute 1 and 2 | 
| reverse | : indicate the sense of asymetry | 
| subgrid | : uhbd subgrid | 
| type_p1,type_p2 | : integer type of the solutes | 
| test_dist2 | : distance square between the solutes | 
| subroutine mod_compute_force::force_couple_fast | ( | type ( protein ), intent(in) | prot1, | 
| type ( protein ), intent(in) | prot2, | ||
| integer, intent(in) | nb_grid1, | ||
| integer, intent(in) | nb_grid2, | ||
| integer, intent(in) | gridtype, | ||
| real ( kind=8 ), dimension ( : ), intent(in), target | dummy_array, | ||
| real ( kind=8 ), dimension( 3 ) | ff1_n, | ||
| real ( kind=8 ), dimension( 3 ) | ff2, | ||
| real ( kind=8 ), dimension( 3 ) | tt1_n, | ||
| real ( kind=8 ), dimension( 3 ) | tt2, | ||
| integer, intent(in) | type_p1, | ||
| integer, intent(in) | type_p2, | ||
| real (kind=4), intent(in) | test_dist2 | ||
| ) | 
Compute 2 interactions with the fast algorithm.
Can compute two interactions inside the same loop, because use the same "charge"
| prot1,prot2 | : solute 1 and 2, instance of protein | 
| nb_grid1,nb_grid2 | : number of the grid2, as referred in mod_gridtype | 
| gridtype | : 1 or 2 used to know which couple of interactions to compute | 
| dummy_array | : used for repulsive lennard-jones interactions | 
| ff1_n,tt1_n | : force and torques on the solute 1, in the referential of the solute 2 | 
| ff2,tt2 | : force and torques on the solute 2 | 
| type_p1,type_p2 | : integer type of the solutes | 
| test_dist2 | : distance square between the solutes | 
| subroutine mod_compute_force::force_epedhdlj_2proteins | ( | type ( protein ), intent(in) | prot1, | 
| type ( protein ), intent(in) | prot2, | ||
| type ( type_force_energy ), intent(in) | param_force_energy, | ||
| real ( kind=4 ), intent(in) | dist, | ||
| real ( kind=8 ), dimension ( 3 ) | f, | ||
| real ( kind=8 ), dimension ( 3 ) | t, | ||
| real ( kind=8 ), dimension ( 3 ) | t1, | ||
| real ( kind=8 ), dimension ( : ), intent(in) | dummy_array | ||
| ) | 
Compute the force for sda_2proteins and derivatives.
Unoptimised algorithm. Extension with new interactions are simpler to introduce here
Add distance as parameter, for sda_2proteins if surface is present the distance is computed differently
| prot1,prot2 | : solute 1 and 2, instance of protein | 
| param_force_energy | : instance of type_force_energy | 
| dist | : distance between the solutes, use a cut-off | 
| f,t,t1 | : return, store the results of force and torques | 
| dummy_array | : used for repulsive lennard-jones interactions | 
| subroutine mod_compute_force::force_epedhdlj_2proteins_fast | ( | type ( protein ), intent(in) | prot1, | 
| type ( protein ), intent(in) | prot2, | ||
| type ( type_force_energy ), intent(in) | param_force_energy, | ||
| real ( kind=4 ), intent(in) | dist, | ||
| real ( kind=8 ), dimension( 3 ) | f, | ||
| real ( kind=8 ), dimension( 3 ) | t, | ||
| real ( kind=8 ), dimension( 3 ) | t1, | ||
| real ( kind =8 ), dimension ( : ), intent(in) | dummy_array | ||
| ) | 
Use fast algorithm, only for sda_2proteins and derivatives.
| prot1,prot2 | : solute 1 and 2, instance of protein | 
| param_force_energy | : instance of type_force_energy | 
| dist | : distance between the solutes, use a cut-off | 
| f,t,t1 | : return, store the results, force and torques | 
| dummy_array | : used for repulsive lennard-jones interactions | 
| subroutine mod_compute_force::force_sda_2proteins_fast | ( | type ( protein ), intent(in) | prot1, | 
| type ( protein ), intent(in) | prot2, | ||
| integer, intent(in) | grid_number, | ||
| real ( kind=8 ), dimension ( : ), intent(in) | dummy_array, | ||
| real ( kind=8 ), dimension( 3 ) | ff1_n, | ||
| real ( kind=8 ), dimension( 3 ) | ff2, | ||
| real ( kind=8 ), dimension( 3 ) | tt1_n, | ||
| real ( kind=8 ), dimension( 3 ) | tt2, | ||
| integer, intent(in) | type_p1, | ||
| integer, intent(in) | type_p2, | ||
| real (kind=4), intent(in) | test_dist2 | ||
| ) | 
Compute 1 interactions with the fast algorithm.
Compute force and torque on the solute 1 in the referential of the solute 2
Normally called if symetric interaction, but is working if asymetric and if 1 nb_charge == 0
| prot1,prot2 | : solute 1 and 2, instance of protein | 
| grid_number | : number of the grid as referred in mod_gridtype | 
| dummy_array | : used for repulsive lennard-jones interactions | 
| ff1_n,tt1_n | : return force and torques on the solute 1 | 
| ff2,tt2 | : return force and torques on the solute 2 | 
| type_p1,type_p2 | : integer type of the solutes | 
| test_dist2 | : distance square between the solutes | 
 1.8.13
Imprint/Privacy
 1.8.13
Imprint/Privacy