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

Module for computing energy, case sdamm. More...

Functions/Subroutines

subroutine energy_epedhdlj_sdamm (tab_prot, geom, nb_prot, param_force_energy, array_energy, dummy_array)
 Compute multi proteins energy
Loop over all pairs of proteins and interactions. More...
 
subroutine compute_energy_sdamm_2proteins (prot1, prot2, pos_relat, grid_number, dummy_array, energy1, energy2, subgrid, type_p1, type_p2, test_dist2, skip_int)
 Compute the energy term for one interaction for a particular pair of solutes.
. More...
 
subroutine energy_epedhdlj_sdamm_fast (tab_prot, geom, nb_prot, param_force_energy, array_energy, dummy_array)
 Compute the energy for sdamm simualtions with the fast algorithm. More...
 
subroutine compute_energy_couple_sdamm_fast (prot1, prot2, pos_relat, nb_grid1, nb_grid2, gridtype, dummy_array, energy11, energy12, energy21, energy22, type_p1, type_p2, test_dist2)
 Compute a couple of interaction at once
. More...
 

Detailed Description

Module for computing energy, case sdamm.

Function/Subroutine Documentation

◆ compute_energy_couple_sdamm_fast()

subroutine mod_compute_energy_sdamm::compute_energy_couple_sdamm_fast ( type ( protein ), intent(in)  prot1,
type ( protein ), intent(in)  prot2,
real ( kind=8 ), dimension ( 3 ), intent(in)  pos_relat,
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 ), intent(out)  energy11,
real ( kind=8 ), intent(out)  energy12,
real ( kind=8 ), intent(out)  energy21,
real ( kind=8 ), intent(out)  energy22,
integer, intent(in)  type_p1,
integer, intent(in)  type_p2,
real (kind=4), intent(in)  test_dist2 
)

Compute a couple of interaction at once
.

Can compute electrostatic/desolvation or hydrophobic/ repulsive lennard-jones at the same time Need all symetric interaction.

Parameters
prot1: solute 1
prot2: solute 2
pos_relat: position relative after PBC
nb_grid1: grid to use for interaction 1
nb_grid2: grid to use for interaction 2
gridtype: type of the couple of grids (1 = Ep/Des or 2 == Hd/RepLj )
dummy_array: : used for the computation of repulsive lennard-jones interaction
energy11: energy of protein 1 in the grid of protein 2 ( with type grid 1 )
energy12: energy of protein 1 in the grid of protein 2 ( with type grid 2 )
energy21: energy of protein 2 in the grid of protein 1 ( with type grid 1 )
energy22: energy of protein 2 in the grid of protein 1 ( with type grid 2 )
type_p1,type_p2: integer type of the solutes
test_dist2: distance square between the solutes
Here is the call graph for this function:
Here is the caller graph for this function:

◆ compute_energy_sdamm_2proteins()

subroutine mod_compute_energy_sdamm::compute_energy_sdamm_2proteins ( type ( protein ), intent(in)  prot1,
type ( protein ), intent(in)  prot2,
real ( kind=8 ), dimension(3), intent(in)  pos_relat,
integer, intent(in)  grid_number,
real ( kind=8 ), dimension ( : ), intent(in)  dummy_array,
real ( kind=8 ), intent(out)  energy1,
real ( kind=8 ), intent(out)  energy2,
integer, intent(in)  subgrid,
integer, intent(in)  type_p1,
integer, intent(in)  type_p2,
real (kind=4), intent(in)  test_dist2,
integer, intent(in)  skip_int 
)

Compute the energy term for one interaction for a particular pair of solutes.
.

Explicit tests are done to check asymetry

Parameters
prot1: solute 1
prot2: solute 2
pos_relat: relative position between the 2 proteins
grid_number: specify the type of interaction
dummy_array: used for the computation of repulsive lennard-jones interaction
energy1: return energy of protein 1 in the grid of protein 2
energy2: return energy of protein 2 in the grid of protein 1
subgrid: subgrid number (only LJ now)
type_p1,type_p2: integer type of the solutes
test_dist2: distance square between the solutes
Here is the call graph for this function:
Here is the caller graph for this function:

◆ energy_epedhdlj_sdamm()

subroutine mod_compute_energy_sdamm::energy_epedhdlj_sdamm ( type ( array_protein_type ), target  tab_prot,
type ( geometry geom,
integer  nb_prot,
type ( type_force_energy ), intent(in)  param_force_energy,
real ( kind=8 ), dimension( :, :), intent(out)  array_energy,
real ( kind=8 ), dimension( : )  dummy_array 
)

Compute multi proteins energy
Loop over all pairs of proteins and interactions.

Parameters
tab_prot: array with all solutes
geom: instance of mod_geometry
nb_prot: total number of solutes
param_force_energy: instance type_force_energy in mod_force_energy
dummy_array: used for the computation of repulsive lennard-jones interaction
array_energy: return, to store energies
Here is the call graph for this function:
Here is the caller graph for this function:

◆ energy_epedhdlj_sdamm_fast()

subroutine mod_compute_energy_sdamm::energy_epedhdlj_sdamm_fast ( type ( array_protein_type ), target  tab_prot,
type ( geometry ), intent(in)  geom,
integer, intent(in)  nb_prot,
type ( type_force_energy ), intent(in)  param_force_energy,
real ( kind=8 ), dimension( :, :), intent(out)  array_energy,
real ( kind = 8 ), dimension ( : ), intent(in)  dummy_array 
)

Compute the energy for sdamm simualtions with the fast algorithm.

If couple_grid is not used, asymetry is treated. ( see limitation with 2 asymetric grids )

Include 2 cut-offs, one between proteins ( use distance ) and one between a surface and the proteins ( use z-distance )
Same than fast for force, delete the loop over the grids and compute rotation of "charge" only once

Parameters
tab_prot: array with all solutes
geom: instance of mod_geometry
nb_prot: total number of solutes
param_force_energy: instance of type_force_energy
dummy_array: used for the computation of repulsive lennard-jones interaction
array_energy: return, to record energies
Here is the call graph for this function:
Here is the caller graph for this function:
Imprint/Privacy