GROMACS官网
GROMACS中文手册
GROMACS中文教程
主要功能
- 支持基本动力学相关算法,包括牛顿力学及随机动力学积分器、能量最小化、正则模式分析、模拟淬火等。支持温度及压强控制,支持基于SHAKE和P-LINCS的完全约束算法,支持多种几何约束。支持包括umbrella sampling在内的非平衡态动力学。支持FEP、essential dynamics。暂不支持const-pH。
- 内建支持AMBER、CHARMM、GROMOS及OPLS等多种常见经典力场及数种较少见力场。软件通过user tables实现对非标准函数形式的支持。
- 支持Martini粗粒化模型。
- 支持基于GBSA的隐式溶剂模型,包括三种可选的计算Born radii的方法。
- 支持QM/MM混合动力学,对QM部分支持的计算方法包括AM1, PM3, RHF, UHF, DFT, B3LYP, MP2, CASSCF和MMVB,可对接GAMESS、Gaussian、MOPAC、Orca等量化软件。
特色
- GROMACS最突出的特色和目标是高效,无论串行还是并行版本。为达到这一目标,GROMACS进行了大量设计和优化,包括但不仅限于下面这些:
- 采用多层级的并行方式分配计算任务,尽量在各个层面上充分利用系统的并行性。第一层为ensemble级别的并行,由一个独立的框架软件Copernicus在GROMACS上层实现,ensemble中包含多个相对独立的系统拷贝,每一个拷贝由GROMACS进行动力学计算,相互间通信量很少,通过http实现。第二层为MPI级别的并行,通过空间分解将计算量分配到多个计算单元,划分方法采用D.E. Shaw提出的eighth shell方法,多个计算单元间通过MPI通信。OpenMP作为并行模式的第三层,在MPI分解至节点的基础上通过基于OpenMP的多线程机制利用多核的并行性。
- 曾经大量使用手写的汇编语言内核来调用支持SIMD的硬件,但这种编程模式耗费大量开发时间。从4.6版本开始,GROMACS加入了一个基于SIMD intrinsics的模块抽象SIMD操作,并使用一个新的内置SIMD数学库来避免不是所有SIMD指令集都支持的查表和整型操作。这种方式大大简化了支持新CPU架构所需完成的开发。
- 默认使用混合精度模型。程序大量使用strength-reduction算法来保证单精度的使用。
- 在较新近版本中的一个重要优化是引入了一种基于cluster的邻近列表加速邻近列表的构建和访问。
|
|