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

Analytical expressions, store energy and force in precomputed array. More...

Data Types

type  analytic
 Define tyoe analytic interactions (Debye-Huckel/crowders) More...
 

Functions/Subroutines

subroutine fill_array_dh (this, list_dh_radius)
 
subroutine set_zeroes (this, cutoff)
 Specific to Debye-Huckel set zero for at distance where the grid is available Allow to call normal electrostatic and debye-huckel without taking care (hopefully) More...
 
subroutine allocate_analytic (this)
 Allocate the object with default values, arrays filled by param_force_energy:init_analytic when all data (cutoff,..) are known. More...
 
subroutine deallocate_analytic (this)
 Deallocate all analytic arrays.
. More...
 
subroutine set_analytic_params (this, h, max_size, epfct, dh_radius, vol_radius, rep_radius, surface_charge_dens, surf_prefct, gouy_chapman)
 fill the arrays, here need to setup dimension More...
 
subroutine set_dh_params (this, opt_ionic)
 Initialize debye-huckel parameters. More...
 
real(kind=8) function get_energy_analytic (this, bin, type_nb)
 Return precomputed energy values. More...
 
real(kind=8) function get_force_analytic (this, bin, type_nb)
 Return precomputed force values. More...
 
real(kind=8) function get_force_analytic_hom_charged_surf (this, bin, type_nb)
 
subroutine print_analytic (this)
 Print values of array force and energy.
Called by info_analytic. More...
 
subroutine info_analytic (this, opt_print)
 Print info about analytical grids. More...
 
subroutine print_analytic_external (this)
 
subroutine print_analytic_external_hom_charged_surf (this)
 

Detailed Description

Analytical expressions, store energy and force in precomputed array.

Todo:
Extend to the case of a surface

Function/Subroutine Documentation

◆ allocate_analytic()

subroutine mod_analytic::allocate_analytic ( type ( analytic this)

Allocate the object with default values, arrays filled by param_force_energy:init_analytic when all data (cutoff,..) are known.

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

◆ deallocate_analytic()

subroutine mod_analytic::deallocate_analytic ( type ( analytic this)

Deallocate all analytic arrays.
.

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

◆ fill_array_dh()

subroutine mod_analytic::fill_array_dh ( type ( analytic this,
real (kind=8), dimension(:)  list_dh_radius 
)

Convert to kT/A

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

◆ get_energy_analytic()

real(kind=8) function mod_analytic::get_energy_analytic ( type ( analytic this,
integer  bin,
integer  type_nb 
)

Return precomputed energy values.

Parameters
this: instance of mod_analytic
bin: integer bin number
type_nb: integer number corresponding to the type of protein

◆ get_force_analytic()

real(kind=8) function mod_analytic::get_force_analytic ( type ( analytic this,
integer  bin,
integer  type_nb 
)

Return precomputed force values.

Parameters
this: instance of mod_analytic
bin: integer bin number
type_nb: integer number corresponding to the type of protein

◆ get_force_analytic_hom_charged_surf()

real(kind=8) function mod_analytic::get_force_analytic_hom_charged_surf ( type ( analytic this,
integer  bin,
integer  type_nb 
)

◆ info_analytic()

subroutine mod_analytic::info_analytic ( type ( analytic this,
logical, optional  opt_print 
)

Print info about analytical grids.

Should apply to all, not only D-H

Parameters
this: instance of mod_analytic
opt_print: optional, print full arrays
Here is the call graph for this function:
Here is the caller graph for this function:

◆ print_analytic()

subroutine mod_analytic::print_analytic ( type ( analytic this)

Print values of array force and energy.
Called by info_analytic.

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

◆ print_analytic_external()

subroutine mod_analytic::print_analytic_external ( type ( analytic this)

◆ print_analytic_external_hom_charged_surf()

subroutine mod_analytic::print_analytic_external_hom_charged_surf ( type ( analytic this)

◆ set_analytic_params()

subroutine mod_analytic::set_analytic_params ( type ( analytic this,
real(kind=8), intent(in)  h,
real(kind=4)  max_size,
real(kind=8), intent(in)  epfct,
real(kind=8), intent(in)  dh_radius,
real(kind=8), intent(in)  vol_radius,
real(kind=8), intent(in)  rep_radius,
real(kind=8), intent(in)  surface_charge_dens,
real(kind=8), intent(in)  surf_prefct,
logical  gouy_chapman 
)

fill the arrays, here need to setup dimension

Parameters
this: instance of mod_analytic
h: bin size of the precomputed arrays
max_size: extensiom of DH, half the box for sdamm, c-surface for sda_2proteins
epfct: scaling factor for DH electrostatics. Like grid calcs, usually 0.5 to stop double counting
dh_radius: radius of this solute used for dh cavity
vol_radius: radius of this solute used for volume occupancy
rep_radius: radius of this solute used for repulsive crowder interactions
surface_charge_dens: charge density for DH charged surface routine.
Here is the caller graph for this function:

◆ set_dh_params()

subroutine mod_analytic::set_dh_params ( type ( analytic this,
real(kind=4), optional  opt_ionic 
)

Initialize debye-huckel parameters.

Parameters
this: instance of mod_analytic
opt_ionic: optional, if present set the ionic strength
Here is the call graph for this function:
Here is the caller graph for this function:

◆ set_zeroes()

subroutine mod_analytic::set_zeroes ( type ( analytic this,
real ( kind=4 )  cutoff 
)

Specific to Debye-Huckel set zero for at distance where the grid is available Allow to call normal electrostatic and debye-huckel without taking care (hopefully)

Parameters
this: instance of mod_analytic
cutoff: max distance to which the value is set to 0
Imprint/Privacy