Functions/Subroutines | |
subroutine | force_analytic_dh (tab_protein, param_force_energy, dist, f, t, t1) |
Compute force with analytic function. Values precomputed and stored in an array Seems necessary to make separate for dh ? easier. | |
subroutine | pair_force_full_analytic_2proteins (prot1, prot2, type_p1, type_p2, dist, ff2, ff1) |
Compute force if solute and grids do not overlap p2 solute in DH "grid" of p1, and opposite. . | |
subroutine | pair_force_partial_analytic_2proteins (prot1, prot2, type_p1, type_p2, dist, ff2, ff1, tt2, tt1) |
Only partial analytic, loop over all atoms in this case Analytic is set to zero if inside the cutoff. | |
subroutine | energy_analytic_dh (tab_protein, param_force_energy, dist, array_energy) |
Compute energy with analytic function Seems necessary to make separate for dh ? easier.. to see later. | |
subroutine | pair_energy_full_analytic_2proteins (prot1, prot2, type_p1, type_p2, dist, energy1, energy2) |
Compute Full DH interactions. Need to split, cutoffs may be different/ asymetric between p1 and p2. Only compute El-DH prot1 in analytical grid of protein 2 ( all grids stored in prot2 % p_sogrid % pset_analytical) Not good for 2 proteins because asymetry between static/mobil solute Need to test cutoffs for each interaction. | |
subroutine | pair_energy_partial_analytic (prot1, prot2, type_p1, type_p2, dist, energy1, energy2) |
Only partial analytic, loop over all atoms in this case. Analytic has been set to zero if inside the grid Asymetry due to cutoffs. | |
subroutine | force_analytic_dh_imgchg (tab_protein, param_force_energy, dist, f, t) |
Compute forces for image charge DH routine NJB: Changed to move reflection plane to edge atomic layer when surface more than one atom. | |
subroutine | force_full_analytic_dh_imgchg (prot2, type_p2, dist, mirror_z, ff_analytic) |
subroutine | force_partial_analytic_dh_imgchg (prot2, type_p2, dist, mirror_z, ff_partial, tt_partial) |
subroutine | energy_analytic_dh_imgchg (tab_protein, param_force_energy, dist, array_energy) |
subroutine | energy_full_analytic_dh_imgchg (prot2, type_p2, dist, mirror_z, energy2_analytic) |
subroutine | energy_partial_analytic_dh_imgchg (prot2, type_p2, dist, mirror_z, energy2_partial) |
subroutine | force_analytic_hom_charged_surf (tab_protein, param_force_energy, dist, f, t) |
subroutine | force_full_analytic_hom_charged_surf (prot1, prot2, type_p2, dist, ff_analytic) |
subroutine | force_partial_analytic_hom_charged_surf (prot1, prot2, type_p2, dist, ff_partial, tt_partial) |
subroutine | energy_analytic_hom_charged_surf (tab_protein, param_force_energy, dist, array_energy) |
subroutine | energy_full_analytic_hom_charged_surf (prot1, prot2, type_p2, dist, energy2_analytic) |
subroutine | energy_partial_analytic_hom_charged_surf (prot1, prot2, type_p2, dist, energy2_partial) |
subroutine mod_compute_analytic_2proteins::energy_analytic_dh | ( | type ( array_protein_type ), intent(in), target | tab_protein, |
type ( type_force_energy ), intent(in) | param_force_energy, | ||
real( kind=4 ), intent(in) | dist, | ||
real ( kind=8 ), dimension (:,:), intent(inout) | array_energy | ||
) |
Compute energy with analytic function Seems necessary to make separate for dh ? easier.. to see later.
subroutine mod_compute_analytic_2proteins::energy_analytic_dh_imgchg | ( | type ( array_protein_type ), intent(in), target | tab_protein, |
type ( type_force_energy ), intent(in) | param_force_energy, | ||
real( kind=4 ), intent(in) | dist, | ||
real ( kind=8 ), dimension (:,:), intent(inout) | array_energy | ||
) |
subroutine mod_compute_analytic_2proteins::energy_analytic_hom_charged_surf | ( | type(array_protein_type), intent(in), target | tab_protein, |
type(type_force_energy), intent(in) | param_force_energy, | ||
real(kind=4), intent(in) | dist, | ||
real(kind=8), dimension(:,:), intent(inout) | array_energy | ||
) |
subroutine mod_compute_analytic_2proteins::energy_full_analytic_dh_imgchg | ( | type ( protein ), intent(in) | prot2, |
integer | type_p2, | ||
real( kind=4 ), intent(in) | dist, | ||
real( kind=8 ), intent(in) | mirror_z, | ||
real ( kind=8 ), intent(out) | energy2_analytic | ||
) |
subroutine mod_compute_analytic_2proteins::energy_full_analytic_hom_charged_surf | ( | type(protein), intent(in) | prot1, |
type(protein), intent(in) | prot2, | ||
integer | type_p2, | ||
real(kind=4), intent(in) | dist, | ||
real(kind=8), intent(out) | energy2_analytic | ||
) |
subroutine mod_compute_analytic_2proteins::energy_partial_analytic_dh_imgchg | ( | type ( protein ), intent(in) | prot2, |
integer | type_p2, | ||
real( kind=4 ), intent(in) | dist, | ||
real( kind=8 ), intent(in) | mirror_z, | ||
real ( kind=8 ), intent(out) | energy2_partial | ||
) |
subroutine mod_compute_analytic_2proteins::energy_partial_analytic_hom_charged_surf | ( | type(protein), intent(in) | prot1, |
type(protein), intent(in) | prot2, | ||
integer | type_p2, | ||
real(kind=4) | dist, | ||
real(kind=8), intent(out) | energy2_partial | ||
) |
subroutine mod_compute_analytic_2proteins::force_analytic_dh | ( | type ( array_protein_type ), intent(in), target | tab_protein, |
type ( type_force_energy ), intent(in) | param_force_energy, | ||
real( kind=4 ), intent(in) | dist, | ||
real ( kind=8 ), dimension ( 3 ), intent(inout) | f, | ||
real ( kind=8 ), dimension ( 3 ), intent(inout) | t, | ||
real ( kind=8 ), dimension ( 3 ), intent(inout) | t1 | ||
) |
Compute force with analytic function.
Values precomputed and stored in an array Seems necessary to make separate for dh ? easier.
tab_protein | : instance of array_protein_type |
param_force_energy | : instance of type_force_energy |
dist | : distance between solutes, in Angs. |
f,t,t1 | : force and torques on the solute 2, torque on 1 |
subroutine mod_compute_analytic_2proteins::force_analytic_dh_imgchg | ( | type ( array_protein_type ), intent(in), target | tab_protein, |
type ( type_force_energy ), intent(in) | param_force_energy, | ||
real( kind=4 ), intent(in) | dist, | ||
real ( kind=8 ), dimension ( 3 ), intent(inout) | f, | ||
real ( kind=8 ), dimension ( 3 ), intent(inout) | t | ||
) |
Compute forces for image charge DH routine NJB: Changed to move reflection plane to edge atomic layer when surface more than one atom.
tab_protein | : mod_array_protein::array_protein_type to store solutes |
param_force_energy | : mod_force_energy::type_force_energy describing forces etc |
dist | : distance between solutes (ust z height with surface) |
f | : force on mobile solute |
t | : torque on mobile solute |
subroutine mod_compute_analytic_2proteins::force_analytic_hom_charged_surf | ( | type ( array_protein_type ), intent(in), target | tab_protein, |
type ( type_force_energy ), intent(in) | param_force_energy, | ||
real( kind=4 ), intent(in) | dist, | ||
real ( kind=8 ), dimension ( 3 ), intent(inout) | f, | ||
real ( kind=8 ), dimension ( 3 ), intent(inout) | t | ||
) |
subroutine mod_compute_analytic_2proteins::force_full_analytic_dh_imgchg | ( | type ( protein ), intent(in) | prot2, |
integer, intent(in) | type_p2, | ||
real( kind=4 ), intent(in) | dist, | ||
real( kind=8 ), intent(in) | mirror_z, | ||
real ( kind=8 ), dimension ( 3 ), intent(out) | ff_analytic | ||
) |
Convert to kT/A
subroutine mod_compute_analytic_2proteins::force_full_analytic_hom_charged_surf | ( | type ( protein ), intent(in) | prot1, |
type ( protein ), intent(in) | prot2, | ||
integer | type_p2, | ||
real( kind=4 ), intent(in) | dist, | ||
real ( kind=8 ), dimension ( 3 ), intent(out) | ff_analytic | ||
) |
Convert to kT/A
subroutine mod_compute_analytic_2proteins::force_partial_analytic_dh_imgchg | ( | type ( protein ), intent(in) | prot2, |
integer, intent(in) | type_p2, | ||
real ( kind=4 ), intent(in) | dist, | ||
real ( kind=8 ), intent(in) | mirror_z, | ||
real ( kind=8 ), dimension ( 3 ), intent(out) | ff_partial, | ||
real ( kind=8 ), dimension ( 3 ), intent(out) | tt_partial | ||
) |
Convert to kT/A
subroutine mod_compute_analytic_2proteins::force_partial_analytic_hom_charged_surf | ( | type ( protein ), intent(in) | prot1, |
type ( protein ), intent(in) | prot2, | ||
integer | type_p2, | ||
real ( kind=4 ) | dist, | ||
real ( kind=8 ), dimension ( 3 ), intent(out) | ff_partial, | ||
real ( kind=8 ), dimension ( 3 ), intent(out) | tt_partial | ||
) |
Convert to kT/A
subroutine mod_compute_analytic_2proteins::pair_energy_full_analytic_2proteins | ( | type ( protein ), intent(in) | prot1, |
type ( protein ), intent(in) | prot2, | ||
integer | type_p1, | ||
integer | type_p2, | ||
real( kind=4 ), intent(in) | dist, | ||
real ( kind=8 ), intent(out) | energy1, | ||
real ( kind=8 ), intent(out) | energy2 | ||
) |
Compute Full DH interactions.
Need to split, cutoffs may be different/ asymetric between p1 and p2.
Only compute El-DH prot1 in analytical grid of protein 2 ( all grids stored in prot2 % p_sogrid % pset_analytical) Not good for 2 proteins because asymetry between static/mobil solute Need to test cutoffs for each interaction.
prot1,prot2 | : olute 1 and 2, instance of protein |
type_p1,type_p2 | : integer to get the type of solute |
dist | : distance between the solutes |
energy1,energy2 | : return the energy of solute 1 and 2 |
subroutine mod_compute_analytic_2proteins::pair_energy_partial_analytic | ( | type ( protein ), intent(in) | prot1, |
type ( protein ), intent(in) | prot2, | ||
integer | type_p1, | ||
integer | type_p2, | ||
real( kind=4 ), intent(in) | dist, | ||
real ( kind=8 ), intent(out) | energy1, | ||
real ( kind=8 ), intent(out) | energy2 | ||
) |
Only partial analytic, loop over all atoms in this case.
Analytic has been set to zero if inside the grid Asymetry due to cutoffs.
prot1,prot2 | : solute 1 and 2, instance of protein |
type_p1,type_p2 | : integer to get the type of solute |
dist | : distance between the solutes |
energy1,energy2 | : return the energy of solute 1 and 2 |
subroutine mod_compute_analytic_2proteins::pair_force_full_analytic_2proteins | ( | type ( protein ), intent(in) | prot1, |
type ( protein ), intent(in) | prot2, | ||
integer | type_p1, | ||
integer | type_p2, | ||
real( kind=4 ), intent(in) | dist, | ||
real ( kind=8 ), dimension ( 3 ), intent(out) | ff2, | ||
real ( kind=8 ), dimension ( 3 ), intent(out) | ff1 | ||
) |
Compute force if solute and grids do not overlap p2 solute in DH "grid" of p1, and opposite.
.
prot1,prot2 | : solute 1 (fixed) and 2 , instance of protein |
type_p1,type_p2 | : integer for the solute type |
dist | : distance between the 2 solutes |
ff2,ff1 | : force on solute 2 and 1, should be exactly the same with full analytic |
Convert to kT/A
Convert to kT/A
subroutine mod_compute_analytic_2proteins::pair_force_partial_analytic_2proteins | ( | type ( protein ), intent(in) | prot1, |
type ( protein ), intent(in) | prot2, | ||
integer | type_p1, | ||
integer | type_p2, | ||
real ( kind=4 ) | dist, | ||
real ( kind=8 ), dimension ( 3 ), intent(out) | ff2, | ||
real ( kind=8 ), dimension ( 3 ), intent(out) | ff1, | ||
real ( kind=8 ), dimension ( 3 ), intent(out) | tt2, | ||
real ( kind=8 ), dimension ( 3 ), intent(out) | tt1 | ||
) |
Only partial analytic, loop over all atoms in this case Analytic is set to zero if inside the cutoff.
prot1,prot2 | : solute 1 and 2, instance of protein |
type_p1,type_p2 | : integer to get the type of solute |
dist | : distance between the solutes |
ff2,ff1,tt2,tt1 | : return the torque and force for the 2 solutes |
Convert to kT/A
Convert to kT/A