Group computation of force and energy when image charge is used.
Some specific interactions are implemented for ProMetCS force field.
More...
Functions/Subroutines | |
subroutine | force_image_charge (tab_protein, param_force_energy, f, t) |
force image charge, version for sda_2proteins. Could hard-code for protein 2 only, no nned to loop because different version for SDAMM. compute only the force on solute 2. More... | |
subroutine | force_image_charge_one_protein (prot, param_force_energy, grid_number, zero_plane, ff2, tt2) |
Compute image charge for only one protein. called by sda_2proteins and sdamm. . More... | |
subroutine | force_atom_variable_epsilon (prot, ychi, i, zero_plane, f, ep_scale) |
Compute force with the analytical correction, apply to only one solute. More... | |
subroutine | force_image_charge_sdamm (tab_protein, param_force_energy, all_force, all_torque) |
Force image charge, variant for sdamm. call identical subfunctions, just add OpenMP. More... | |
subroutine | energy_image_charge (tab_protein, param_force_energy, array_energy) |
Compute energy image charge in case of sda_2proteins include electrostatic desolvation image charge if needed Need to check for cutoff. More... | |
subroutine | energy_image_charge_one_protein (prot, param_force_energy, grid_number, zero_plane, energy) |
subroutine | potential_atom_variable_epsilon (prot, i, ychi, zero_plane, potential, ep_scale) |
subroutine | energy_image_charge_sdamm (tab_protein, param_force_energy, array_energy) |
Energy image charge for sdamm, need to care for the different types now. allow last protein as surface. More... | |
Group computation of force and energy when image charge is used.
Some specific interactions are implemented for ProMetCS force field.
subroutine mod_compute_image_charge::energy_image_charge | ( | type ( array_protein_type ), intent(in) | tab_protein, |
type ( type_force_energy ), intent(in) | param_force_energy, | ||
real ( kind=8 ), dimension( :,: ) | array_energy | ||
) |
Compute energy image charge in case of sda_2proteins include electrostatic desolvation image charge if needed Need to check for cutoff.
subroutine mod_compute_image_charge::energy_image_charge_one_protein | ( | type ( protein ), intent(in) | prot, |
type ( type_force_energy ), intent(in) | param_force_energy, | ||
integer, intent(in) | grid_number, | ||
real ( kind=8 ), intent(in) | zero_plane, | ||
real ( kind=8 ), intent(out) | energy | ||
) |
subroutine mod_compute_image_charge::energy_image_charge_sdamm | ( | type ( array_protein_type ), intent(in) | tab_protein, |
type ( type_force_energy ), intent(in) | param_force_energy, | ||
real ( kind=8 ), dimension( :,: ) | array_energy | ||
) |
Energy image charge for sdamm, need to care for the different types now.
allow last protein as surface.
tab_protein | : instance of mod_array_protein |
param_force_energy | : instance of type_force_energy in mod_force_energy |
array_energy | : array to store energy values |
subroutine mod_compute_image_charge::force_atom_variable_epsilon | ( | type ( protein ), intent(in) | prot, |
real ( kind=8 ), intent(in) | ychi, | ||
integer, intent(in) | i, | ||
real ( kind=8 ), intent(in) | zero_plane, | ||
real ( kind=8 ), dimension( 3 ), intent(out) | f, | ||
real ( kind=8 ), intent(in) | ep_scale | ||
) |
Compute force with the analytical correction, apply to only one solute.
prot | : instance of protein |
ychi | : |
i | : protein number |
zero_plane | : z-value of the surface position |
f | : return force |
ep_scale | : value of the factor, defined in mod_force_energy |
subroutine mod_compute_image_charge::force_image_charge | ( | type ( array_protein_type ), intent(in) | tab_protein, |
type ( type_force_energy ), intent(in) | param_force_energy, | ||
real ( kind=8 ), dimension( 3 ), intent(out) | f, | ||
real ( kind=8 ), dimension( 3 ), intent(out) | t | ||
) |
force image charge, version for sda_2proteins.
Could hard-code for protein 2 only, no nned to loop because different version for SDAMM.
compute only the force on solute 2.
tab_protein | : instance of mod_array_protein |
param_force_energy | : instance of type_force_energy in mod_force_energy |
f,t | : sum of forces and torques to increment |
subroutine mod_compute_image_charge::force_image_charge_one_protein | ( | type ( protein ), intent(in) | prot, |
type ( type_force_energy ), intent(in) | param_force_energy, | ||
integer, intent(in) | grid_number, | ||
real ( kind=8 ), intent(in) | zero_plane, | ||
real ( kind=8 ), dimension( 3 ), intent(out) | ff2, | ||
real ( kind=8 ), dimension( 3 ), intent(out) | tt2 | ||
) |
Compute image charge for only one protein.
called by sda_2proteins and sdamm.
.
Add electrostatic desolvation image charge, I am really not convinced.. to use ep_scale for setting or not the epsilon correction, will follow identical asymetry in sda6 no correction of the torque is done, if implemented will influence only protein 1, the surface, so no influence
prot | : instance of protein, solute to compute interaction |
param_force_energy | : instance of mod_force_energy |
grid_number | : give grid_number of the electrostatic grid |
zero_plane | : set z value for the surface |
ff2,tt2 | : value of force and torque on prot |
subroutine mod_compute_image_charge::force_image_charge_sdamm | ( | type ( array_protein_type ), intent(in) | tab_protein, |
type ( type_force_energy ), intent(in) | param_force_energy, | ||
real ( kind=8 ), dimension ( : , : ), intent(out) | all_force, | ||
real ( kind=8 ), dimension ( : , : ), intent(out) | all_torque | ||
) |
Force image charge, variant for sdamm.
call identical subfunctions, just add OpenMP.
tab_protein | : instance of mod_array_protein |
param_force_energy | : instance of type_force_energy in mod_force_energy |
all_force,all_torque | : forces and torques to increment |
subroutine mod_compute_image_charge::potential_atom_variable_epsilon | ( | type ( protein ), intent(in), target | prot, |
integer | i, | ||
real ( kind=8 ), intent(in) | ychi, | ||
real ( kind=8 ), intent(in) | zero_plane, | ||
real ( kind=8 ), intent(out) | potential, | ||
real ( kind=8 ) | ep_scale | ||
) |