Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

GROMACS: Force Field Tool — per-part force-field assignment, compatibility checks, downloadable catalogue

未关闭
#242 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

评估

难度
5/5
预计耗时
一周以上
新手友好度
25/100
Issue 类型
功能
描述清晰度
描述清楚
活跃度
活跃
技术栈
c

调研方向

Start with the GROMACS implementation in #106 and the MINFF work in #241, then review the Basis Set Tool as the precedent for downloads and per-site libraries. The issue calls for a wx-free component, command-line entry point, tests, and a dialog; the design questions and compatibility rules define substantial design work. Done means catalogue entries and assignments generate validated topologies, compatibility checks and checksum-verified downloads are tested.

由索引模型根据 Issue 内容生成。

描述

Part of the GROMACS implementation (#106): this is the Prepare step, i.e. #106 option 2, generalised.

Goal

A Force Field Tool, analogous to the Basis Set Tool, which lets the user:

  • assign force fields to different parts of a system (e.g. a mineral slab, water, ions, an organic adsorbate);
  • check that the chosen combination is consistent;
  • generate the GROMACS topology from it.

Force fields are downloaded on demand from their sources, not bundled with ECCE.

Assignment per part, not per element

Basis sets are chosen per element because atoms are independent there. Force-field atom types and charges depend on bonding and environment, so the unit of assignment is a part of the system:

  • a molecule type, residue or fragment, using the Builder's existing fragments/residues (as used for NWChem MD segments);
  • or an explicit selection.

Example assignments:

Part Force field
Mineral slab MINFF (#241)
Water OPC3
Na⁺/Cl⁻ ion set matching the water model
Organic adsorbate GAFF2 or OpenFF

Compatibility checks

A GROMACS topology has a single [ defaults ] section, so every part must share these settings:

  • non-bonded function type;
  • combining rule;
  • gen-pairs;
  • fudgeLJ and fudgeQQ (1-4 scaling).

Parts must also be consistent in:

  • the water model their parameters were fitted with;
  • ion parameters matching that water model.

Known incompatibilities include different 1-4 scaling between AMBER- and CHARMM-family force fields, and a different combining rule for OPLS-AA. The tool:

  • shows these properties for every catalogue entry;
  • refuses combinations with conflicting [ defaults ];
  • warns about water-model and ion mismatches;
  • checks that each part's net charge is an integer and reports the total charge.

Catalogue and downloads

ECCE ships a small catalogue file, not the force fields themselves. Each entry records:

  • name, version, and source URL pinned to a release or commit;
  • checksum;
  • licence, shown before download;
  • its [ defaults ] properties, water model and scope (biomolecules, organics, minerals, ions, water);
  • how types and charges are assigned:
    • pdb2gmx, for force fields with residue databases;
    • atomipy, for MINFF and CLAYFF;
    • OpenFF tooling, for small organics;
    • or none, for ready-made .itp files such as water and ions.

Force fields are downloaded on first use into a per-user cache. A site can configure a shared read-only copy, for offline teaching labs. The Basis Set Tool's per-site library is the precedent.

Downloading per user also means ECCE does not redistribute force-field files, so their licences stay with the user.

Output

The assignment is stored with the calculation/study, as the basis set is. ECCE then writes:

  • topol.top, with one [ defaults ] section, the #include of each force field and the molecule .itp files;
  • the .gro file with the box.

The MD tasks of #106 (EM, NVT/NPT, MD) then run on these files.

First catalogue (proposal)

  1. GROMACS's built-in force fields (share/gromacs/top/*.ff), via pdb2gmx.
  2. CHARMM36, GROMACS port.
  3. MINFF and CLAYFF via atomipy (#241).
  4. Water models: SPC/E, TIP3P, TIP4P/2005, OPC3, OPC.
  5. Ion sets matching those water models.

Later candidates:

  • Open Force Field (OpenFF) for small organics;
  • charges from QM calculations in ECCE (RESP/ESP, #179).

Design rules

  • Typing, charge assignment, compatibility checks and topology writing live in a wx-free component with a command-line entry point and tests. The dialog only gathers choices and shows results.
  • Tests:
    • every compatibility rule has a positive and a negative case;
    • each first-catalogue entry produces a topology that passes gmx grompp and a short EM;
    • downloads are checksum-verified.
  • Platforms: Linux and macOS (Homebrew gromacs); Windows later.

Questions for GROMACS users

  • Which force fields, water models and ion sets should the first catalogue contain?
  • Which mixing conventions are used in practice, e.g. CLAYFF with organics, and which water model with MINFF?
  • Is per-fragment assignment enough, or is per-atom override needed for special cases, e.g. reactive edge sites?
  • Is a site-wide shared cache needed for teaching?

Related: #106 (GROMACS activation and MD workflow), #241 (MINFF), #179 (force-field charges for new ions and solvents).

主要语言
C
星标
10
派生
8
平均合并
21 分钟
30 天内合并 PR
1

环境准备

这个项目没有提供开发容器、Dockerfile 或贡献指南,环境需要你自己搭建:先看它的 README,通用步骤见我们的新手贡献指南。

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

FriendsofECCE/ECCE 的其他 Issue

查看 FriendsofECCE/ECCE 的全部 Issue

相似的 Issue

更多 C Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。