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, fact1, fact2) |
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, | ||
real ( kind=8 ), intent(in) | fact1, | ||
real ( kind=8 ), intent(in) | fact2 | ||
) |
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 |
fact1,fact2 | : scaling factors for partial DH routine. 0 = no DH, all grid; 1 = all DH |
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 |