SDA (SDA flex)  7.2
Simulation of Diffusional Association
Functions/Subroutines
mod_compute_analytic_2proteins Module Reference

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. More...
 
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.
. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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)
 

Function/Subroutine Documentation

◆ energy_analytic_dh()

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.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ energy_analytic_dh_imgchg()

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 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ energy_analytic_hom_charged_surf()

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 
)
Here is the call graph for this function:

◆ energy_full_analytic_dh_imgchg()

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 
)
Here is the caller graph for this function:

◆ energy_full_analytic_hom_charged_surf()

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 
)
Here is the caller graph for this function:

◆ energy_partial_analytic_dh_imgchg()

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 
)
Here is the caller graph for this function:

◆ energy_partial_analytic_hom_charged_surf()

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 
)
Here is the caller graph for this function:

◆ force_analytic_dh()

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.

Parameters
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
Here is the call graph for this function:
Here is the caller graph for this function:

◆ force_analytic_dh_imgchg()

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.

Parameters
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
Here is the call graph for this function:

◆ force_analytic_hom_charged_surf()

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 
)
Here is the call graph for this function:

◆ force_full_analytic_dh_imgchg()

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

Here is the caller graph for this function:

◆ force_full_analytic_hom_charged_surf()

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

Here is the caller graph for this function:

◆ force_partial_analytic_dh_imgchg()

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

Here is the call graph for this function:
Here is the caller graph for this function:

◆ force_partial_analytic_hom_charged_surf()

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

Here is the call graph for this function:
Here is the caller graph for this function:

◆ pair_energy_full_analytic_2proteins()

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.

Parameters
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
Here is the caller graph for this function:

◆ pair_energy_partial_analytic()

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.

Parameters
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
Here is the caller graph for this function:

◆ pair_force_full_analytic_2proteins()

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.
.

Parameters
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

Here is the caller graph for this function:

◆ pair_force_partial_analytic_2proteins()

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.

Parameters
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

Here is the call graph for this function:
Here is the caller graph for this function:
Imprint/Privacy