A Fortran program package is introduced for rapid evaluation of the electrostatic potentials and forces in biomolecular systems modeled by the linearized Poisson–Boltzmann equation. The numerical solver utilizes a well-conditioned boundary integral equation (BIE) formulation, a node-patch discretization scheme, a Krylov subspace iterative solver package with reverse communication protocols, and an adaptive new version of the fast multipole method in which the exponential expansions are used to diagonalize the multipole-to-local translations. The program and its full description, as well as several closely related libraries and utility tools are available at http://lsec.cc.ac.cn/~lubz/afmpb.html and a mirror site at http://mccammon.ucsd.edu/. This paper is a brief summary of the program: the algorithms, the implementation and the usage. New version program summaryProgram title: AFMPBCatalogue identifier: AEGB_v1_1Program summary URL:http://cpc.cs.qub.ac.uk/summaries/AEGB_v1_1.htmlProgram obtainable from: CPC Program Library, Queen’s University, Belfast, N. IrelandLicensing provisions: GNU General Public License, version 2No. of lines in distributed program, including test data, etc.: 440784No. of bytes in distributed program, including test data, etc.: 8187139Distribution format: tar.gzProgramming language: FortranComputer: AnyOperating system: AnyRAM: Depends on the size of the discretized biomolecular systemClassification: 3External routines: Pre- and post-processing tools are required for generating the boundary elements and for visualization. Users can use MSMS (http://www.scripps.edu/sanner/html/msmshome.html) for pre-processing, and VMD (http://www.ks.uiuc.edu/Research/vmd/) for visualization. Sub-programs included: An iterative Krylov subspace solvers package from SPARSKIT by Yousef Saad (http://www-users.cs.umn.edu/saad/software/SPARSKIT/sparskit.html), and the fast multipole methods subroutines from FMMSuite (http://www.fastmultipole.org/).Catalogue identifier of previous version: AEGB_v1_0Journal reference of previous version: Comput. Phys. Comm. 181 (2010) 1150Does the new version supersede the previous version?: YesNature of problem: Numerical solution of the linearized Poisson–Boltzmann equation that describes electrostatic interactions of molecular systems in ionic solutions.Solution method: A novel node-patch scheme is used to discretize the well-conditioned boundary integral equation formulation of the linearized Poisson–Boltzmann equation. Various Krylov subspace solvers can be subsequently applied to solve the resulting linear system, with a bounded number of iterations independent of the number of discretized unknowns. The matrix–vector multiplication at each iteration is accelerated by the adaptive new versions of fast multipole methods. The AFMPB solver requires other stand-alone pre-processing tools for boundary mesh generation, post-processing tools for data analysis and visualization, and can be conveniently coupled with different time stepping methods for dynamics simulation.Reasons for new version: Some bugs are fixed in the new version.Summary of revisions:•The type definition of ippt1 in line 88 of FBEM/bempb.f and line 32 of FBEM/closecoef.f is changed from real *8 to integer*4, and a similar change is made for ippt in line 105 of FBEM/solvpb.f and in line 32 of FBEM/closecoef.f.•In FBEM/elmgeom.f, line 239 “ELSEIF (meshfmt.EQ.1.OR. meshfmt.EQ. 4.OR. meshfmt.EQ.5) THEN” is changed to “ELSEIF (meshfmt.EQ.1.OR. meshfmt.EQ. 4) THEN”, line 478 “KJ=IDFCL(K)+J-1” is changed to “i=IDFCL(K)+J-1”, line 479 “KJ=NE(KJ)” is changed to “KJ=NE(i)”, line 480 “KJ1=NE(KJ+1)” is changed to “KJ1=NE(i+1)”, and line 647 “ STOP” is changed to “c STOP”.•Five subroutines in FMM part (syukadap.f, syukdn.f, slapadap.f, slapdn.f, and treeadap.f) are substituted with the new ones in the new version.Restrictions: Only three or six significant digits options are provided in this version.Unusual features: Most of the codes are in Fortran77 style. Memory allocation functions from Fortran90 and above are used in a few subroutines.Additional comments: The current version of the codes is designed and written for single core/processor desktop machines. Check http://lsec.cc.ac.cn/lubz/afmpb.html for updates and changes.Running time: The running time varies with the number of discretized elements (N) in the system and their distributions. In most cases, it scales linearly as a function of N.
Read full abstract