Commit 994e7836 authored by Leonardo Solis's avatar Leonardo Solis
Browse files

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


Former-commit-id: 373befc2
parent fc0889f6
......@@ -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
}
}
......
Supports Markdown
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