Skip to main content
. Author manuscript; available in PMC: 2017 Apr 15.
Published in final edited form as: J Comput Chem. 2016 Jan 20;37(10):927–939. doi: 10.1002/jcc.24280

Table 2.

Layout of the 4 Born energy kernels.

kernel no. blocks no. threads per block description
Calculate Born radii for hydrogens number of atoms 500 Each block attends one hydrogen atom, each thread attends one quadrature point. The atom density Vsolute at each quadrature point is calculated. Then those densities are integrated to generate the Born radius RBorn and the derivative ∂RBorn / ∂r from eq. 13 and eq. 19 respectively.
Calculate Born radii for heavy atoms number of atoms 350 Each block attends one non-hydrogen atom, each thread attends one quadrature point. This kernel functions the same as the “Calculate Born radii for hydrogens” kernel and calculates RBorn, and the derivative ∂RBorn / ∂r for heavier atoms. The differences lie in the integration offsets and number of threads used to accommodate the larger radii of heavier atoms.
Calculate neighbor-atom force number of neighbor-atom tiles 256 Each block attends one atom-atom comparison tile of the OpenMM neighbor-atom list, and each thread attends one atom-atom pair in that tile. The atom-atom interactions of all atoms, their Born radii, and charges are combined to calculate (∂ΔGelec / ∂r)(∂r / r) and (∂ΔGelec / ∂RBorn) from eq. 16 and eq. 18 respectively. Additionally, the GBSW free energy of solvation ΔGelec is calculated for the system.
Born force gradient number of atoms 256 Each block attends an atom, and each thread attends a contribution of ΔRbBornΔra. The final value of (∂ΔGelec / ∂RBorn)(∂RBorn / ∂r) from eq. 15 is calculated and added to the total force on each atom. If the option for calculating the nonpolar contribution to the solvation free energy is requested, it is calculated in this kernel following eq. 14.