Commit 373befc2 authored by Leonardo Solis's avatar Leonardo Solis

set 20,48f cutoff for elec and desol in host and device

parent 164c7272
......@@ -204,29 +204,36 @@ while(active) {
float inverse_smoothed_distance_pow_10 = inverse_smoothed_distance_pow_6 * inverse_smoothed_distance_pow_4;
float inverse_smoothed_distance_pow_12 = inverse_smoothed_distance_pow_6 * inverse_smoothed_distance_pow_6;
// Calculating energy contributions
// Cuttoff1: internuclear-distance at 8A only for vdw and hbond.
if (atomic_distance < 8.0f)
{
// Calculating van der Waals / hydrogen bond term
partialE1 = KerConstStatic_VWpars_AC_const [atom1_typeid*DockConst_num_of_atypes+atom2_typeid]*inverse_smoothed_distance_pow_12;
partialE1 += KerConstStatic_VWpars_AC_const [atom1_typeid*DockConst_num_of_atypes+atom2_typeid]*inverse_smoothed_distance_pow_12;
float tmp_pE2 = KerConstStatic_VWpars_BD_const [atom1_typeid*DockConst_num_of_atypes+atom2_typeid];
if (ref_intraE_contributors_const.z == 1) // H-bond
partialE2 = tmp_pE2 * inverse_smoothed_distance_pow_10;
partialE2 -= tmp_pE2 * inverse_smoothed_distance_pow_10;
else // Van der Waals
partialE2 = tmp_pE2 * inverse_smoothed_distance_pow_6;
partialE2 -= tmp_pE2 * inverse_smoothed_distance_pow_6;
} // End of if: if (dist < dcutoff)
} // if cuttoff1 - internuclear-distance at 8A
// Calculating electrostatic term
partialE3 = native_divide( (DockConst_coeff_elec*KerConstStatic_atom_charges_const[atom1_id]*KerConstStatic_atom_charges_const[atom2_id]) , (atomic_distance*(-8.5525f + native_divide(86.9525f, (1.0f + 7.7839f*native_exp(-0.3154f*atomic_distance))))) );
// Calculating energy contributions
// Cuttoff2: internuclear-distance at 20.48A only for el and sol.
if (atomic_distance < 20.48f)
{
// Calculating electrostatic term
partialE3 += native_divide( (DockConst_coeff_elec*KerConstStatic_atom_charges_const[atom1_id]*KerConstStatic_atom_charges_const[atom2_id]) , (atomic_distance*(-8.5525f + native_divide(86.9525f, (1.0f + 7.7839f*native_exp(-0.3154f*atomic_distance))))) );
// Calculating desolvation term
partialE4 += (
(KerConstStatic_dspars_S_const [atom1_typeid] + DockConst_qasp*fabs(KerConstStatic_atom_charges_const[atom1_id])) * KerConstStatic_dspars_V_const [atom2_typeid] +
(KerConstStatic_dspars_S_const [atom2_typeid] + DockConst_qasp*fabs(KerConstStatic_atom_charges_const[atom2_id])) * KerConstStatic_dspars_V_const [atom1_typeid]) *
DockConst_coeff_desolv*native_exp(-0.0386f*distance_pow_2);
} // if cuttoff2 - internuclear-distance at 20.48A
// Calculating desolvation term
partialE4 = (
(KerConstStatic_dspars_S_const [atom1_typeid] + DockConst_qasp*fabs(KerConstStatic_atom_charges_const[atom1_id])) * KerConstStatic_dspars_V_const [atom2_typeid] +
(KerConstStatic_dspars_S_const [atom2_typeid] + DockConst_qasp*fabs(KerConstStatic_atom_charges_const[atom2_id])) * KerConstStatic_dspars_V_const [atom1_typeid]) *
DockConst_coeff_desolv*native_exp(-0.0386f*distance_pow_2);
#if defined (FIXED_POINT_INTRAE)
//shift_intraE[32] = shift_intraE[0] + partialE1 + partialE2 + partialE3 + partialE4;
shift_intraE[32] = shift_intraE[0] + fixedpt64_fromfloat(partialE1) +
......
......@@ -1942,23 +1942,26 @@ float calc_intraE_f(const Liganddata* myligand,
if (debug == 1)
printf("van der Waals interaction = ");
}
vW += vdW1 - vdW2;
}
s1 = (myligand->solpar [type_id1] + qasp_mul_absq [atom_id1]);
s2 = (myligand->solpar [type_id2] + qasp_mul_absq [atom_id2]);
v1 = myligand->volume [type_id1];
v2 = myligand->volume [type_id2];
if (debug == 1)
printf(" %lf, electrostatic = %lf, desolv = %lf\n", (vdW1 - vdW2), q1q2[atom_id1][atom_id2] * r_epsr_table [distance_id],
(s1*v2 + s2*v1) * desolv_table [distance_id]);
if (dist < 20.48)
{
s1 = (myligand->solpar [type_id1] + qasp_mul_absq [atom_id1]);
s2 = (myligand->solpar [type_id2] + qasp_mul_absq [atom_id2]);
v1 = myligand->volume [type_id1];
v2 = myligand->volume [type_id2];
vW += vdW1 - vdW2;
el += q1q2[atom_id1][atom_id2] * r_epsr_table [distance_id];
desolv += (s1*v2 + s2*v1) * desolv_table [distance_id];
#if 0
if (debug == 1)
printf(" %lf, electrostatic = %lf, desolv = %lf\n", (vdW1 - vdW2), q1q2[atom_id1][atom_id2] * r_epsr_table [distance_id],
(s1*v2 + s2*v1) * desolv_table [distance_id]);
el += q1q2[atom_id1][atom_id2] * r_epsr_table [distance_id];
desolv += (s1*v2 + s2*v1) * desolv_table [distance_id];
}
#endif
}
}
......
  • Applied after bug found in data-parallel version in OCLADock (ocladock@12641eeb).

    DC4b (FPL/FSP) This commit (DC4b + smoothing + simplified chann igl2conf + corrected cutoff)
    Freq 187.5 MHz 187.5 MHz
    Best E, Best clusterSize, Time (Kcal/mol), (no units), (sec)
    3ptb -5.53, 66/100, 211 -5.53, 74/100, 219
    1stp -7.76, 69/100, 385 -7.67, 55/100, 381
    4hmg -4.11, 25/100, 623 -2.56, 12/100, 596
    3ce3 -10.88, 48/100, 1077 -11.52, 47/100, 1076
    3c1x -12.61, 22/100, 1487 -1343, 40/100, 1495
    Edited by Leonardo Solis
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment