SDA (SDA flex)  7.2
Simulation of Diffusional Association
Data Types | Functions/Subroutines | Variables
mod_force_energy Module Reference

Only one single object of this module should be initialized. More...

Data Types

type  type_force_energy
 Store the grid number to use for computing interaction and theirs types. More...
 

Functions/Subroutines

subroutine init_image_charge (this, tab_protein)
 Initialize array for image charge.
Couyld be used for metal desolv as well.
Make separate for the moment, allocate different array, but could be combined to init_force_energy img_chg can be found by tab_protein, important for sdamm to optimize to integrate init init_force, to test with sdamm. More...
 
subroutine init_force_energy (this, tab_protein, type_calc, imetal)
 Initilaize the oobject newer version, include asymetry, so need tab_protein to be general ( and sdamm case ) with sdamm need to modify shift, inter-type interactions, need type calculation. More...
 
subroutine init_analytic (this, tab_protein, cut_off, surf_cut, h_anal, surf_prefct, opt_ionic, gouy_chapman)
 Initialize specificaly analytical interactions.
. More...
 
subroutine delete_force_energy (this)
 Initialization of one analytic of sogrid done in this subfunction, in module so_grid. More...
 
subroutine print_info_param_fe (this)
 Print info about global settings.
Would need a check for sdamm, array_grid_calc not used
. More...
 
subroutine force_atom_uhbd (x, f, tgrid)
 Compute the derivative of the energy of position x.
Will be used to compute the force on an atom at position x
Pass an instance of type_grid as parameter, so it can apply to any grid
This version can deal with both uhbd and dtgrid. Overhead estimated to 10 %. More...
 
subroutine potential_atom_uhbd (x, U, tgrid)
 Compute the energy of position x of grid tgrid. More...
 

Variables

integer, parameter symetric = 0
 enumeration type for symetry of asymetry of interactions c2g1 : charge of protein2 in grid of solute 1 lennard-jones with surface is c1g2 More...
 
integer, parameter c2g1 = -1
 
integer, parameter c1g2 = 1
 

Detailed Description

Only one single object of this module should be initialized.

Function/Subroutine Documentation

◆ delete_force_energy()

subroutine mod_force_energy::delete_force_energy ( type ( type_force_energy this)

Initialization of one analytic of sogrid done in this subfunction, in module so_grid.

Deallocate all arrays.

Parameters
this: instance of this class
Here is the caller graph for this function:

◆ force_atom_uhbd()

subroutine mod_force_energy::force_atom_uhbd ( real ( kind=8 ), dimension(3), intent(in)  x,
real ( kind=8 ), dimension(3), intent(out)  f,
type (type_grid ), intent(in)  tgrid 
)

Compute the derivative of the energy of position x.
Will be used to compute the force on an atom at position x
Pass an instance of type_grid as parameter, so it can apply to any grid
This version can deal with both uhbd and dtgrid. Overhead estimated to 10 %.

Parameters
x: position of the atom
f: return force ( rather derivative of the energy ) computed at x
tgrid: instance of the grid used for computation
voxel: voxel list containing 8 potential values
Here is the call graph for this function:
Here is the caller graph for this function:

◆ init_analytic()

subroutine mod_force_energy::init_analytic ( type ( type_force_energy this,
type ( array_protein_type ), intent(in)  tab_protein,
real (kind=4), intent(in)  cut_off,
real (kind=4), intent(in)  surf_cut,
real (kind=4), intent(in)  h_anal,
real (kind=8), intent(in)  surf_prefct,
real (kind=4), intent(in), optional  opt_ionic,
logical, optional, value  gouy_chapman 
)

Initialize specificaly analytical interactions.
.

Parameters
this: instance of this class
tab_protein: instance of mod_array_protein
cut_off: indicates the maximum distance, half the box for sdamm, c-surface for sda_2proteins
surf_cut: For a charged surface, its cut off is c-surf for 2prot, z extent for sdamm
h_anal: bin size of analytical arrays
opt_ionic: optional, used only for the ionic strength at the moment
Here is the caller graph for this function:

◆ init_force_energy()

subroutine mod_force_energy::init_force_energy ( type ( type_force_energy this,
type ( array_protein_type ), intent(in)  tab_protein,
type ( type_calculation ), intent(in)  type_calc,
logical, intent(in)  imetal 
)

Initilaize the oobject newer version, include asymetry, so need tab_protein to be general ( and sdamm case ) with sdamm need to modify shift, inter-type interactions, need type calculation.

Parameters
this: instance of this class
tab_protein: instance of mod_array_protein
type_calc: instance of type_calc
imetal: logical set metal desolvation
Here is the call graph for this function:
Here is the caller graph for this function:

◆ init_image_charge()

subroutine mod_force_energy::init_image_charge ( type ( type_force_energy this,
type ( array_protein_type ), intent(in)  tab_protein 
)

Initialize array for image charge.
Couyld be used for metal desolv as well.
Make separate for the moment, allocate different array, but could be combined to init_force_energy img_chg can be found by tab_protein, important for sdamm to optimize to integrate init init_force, to test with sdamm.

Parameters
this: instance of this class
tab_protein: instance of mod_array_protein
Here is the caller graph for this function:

◆ potential_atom_uhbd()

subroutine mod_force_energy::potential_atom_uhbd ( real ( kind=8 ), dimension(3), intent(in)  x,
real ( kind=8 ), intent(out)  U,
type (type_grid ), intent(in)  tgrid 
)

Compute the energy of position x of grid tgrid.

This version can deal with both uhbd and dtgrid

Parameters
x: position of the atom
U: return the computed potential
tgrid: instance of the grid to use for the computation
Here is the call graph for this function:
Here is the caller graph for this function:

◆ print_info_param_fe()

subroutine mod_force_energy::print_info_param_fe ( type ( type_force_energy this)

Print info about global settings.
Would need a check for sdamm, array_grid_calc not used
.

Parameters
this: instance of type_force_energy
Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ c1g2

integer, parameter mod_force_energy::c1g2 = 1

◆ c2g1

integer, parameter mod_force_energy::c2g1 = -1

◆ symetric

integer, parameter mod_force_energy::symetric = 0

enumeration type for symetry of asymetry of interactions c2g1 : charge of protein2 in grid of solute 1 lennard-jones with surface is c1g2

Imprint/Privacy