Periodic Builder: layer builder (stacked layers with interlayer ions and water) for all periodic codes
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 20/100
Research direction
Start by reading the Periodic Builder implementation and the related issues #241, #262, and #181; the payload does not name source files or tests. Work out how the shared builder can accept layers, spacing or hydration, lateral shifts, and interlayer contents across supported codes. Done means the listed clay, layered double hydroxide, graphite, and layered oxide examples can be built and wrapped in the new cell.
Written by the indexing model from the issue text.
Description
Agreed 2026-10-16 for 9.3.0. Build layered structures in the Builder's Periodic Builder, independent of the code, so they serve GROMACS, Quantum ESPRESSO and later CP2K.
Inputs:
- a layer: the current structure, e.g. a unit cell made with Generate and replicated;
- number of layers;
- basal spacing d001, or a hydration state for clays (1W to 5W);
- lateral shift between layers, e.g. a/3, b/3 for clays or AB stacking for graphite;
- what goes between the layers: nothing, ions (type and count, or count from the layer charge, with a minimum distance), water (molecules per interlayer).
- Everything is wrapped into the new cell.
Examples to cover: a 2-layer Na/Cu montmorillonite with 2-3 water layers (modelled on a MATLAB atom-toolbox buildsystem.m: layers at [a/3, b/3, d001], ions placed at random at least 3.5 Å apart, solvate each interlayer, wrap); a layered double hydroxide with interlayer anions; graphite (AB, no interlayer); LiCoO2-type layered oxides (Li between layers).
Force field is separate:
- GROMACS: MINFF via atomipy in GROMACS Prepare's MINFF source (atomipy and min.ff bundled), types and charges for clays, oxides and hydroxides. Graphite and similar need another parameter set.
- QE: no force field needed.
Related: #241 (MINFF), #262 (periodic molecules), #181 (battery electrodes).
- Dominant language
- C
- Stars
- 10
- Forks
- 8
- Avg merge
- 21m
- Merged PRs (30d)
- 1
Getting set up
This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from FriendsofECCE/ECCE
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
FriendsofECCE/ECCE#336 · 1 comment ·
-
Difficulty 4/5 3-5 days Newbie friendliness 43/100
FriendsofECCE/ECCE#361 · 1 comment ·
-
Difficulty 5/5 Over a week Newbie friendliness 20/100
FriendsofECCE/ECCE#359 ·
-
Difficulty 5/5 Over a week Newbie friendliness 28/100
FriendsofECCE/ECCE#358 ·
-
Difficulty 4/5 3-5 days Newbie friendliness 45/100
FriendsofECCE/ECCE#356 · 1 comment ·
All issues in FriendsofECCE/ECCE
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 77/100
Maintainers usually reply within 8 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 90/100
Maintainers usually reply within 1 day
-
native-cpu: -Wreturn-type in skainet_row_threads.c:150 (worker fn has no return)Possibly taken @Doomguy-BFG9000 claimed this today. Opengood first issue size:xs skill:native
Difficulty 1/5 Under an hour Newbie friendliness 78/100
SKaiNET-developers/SKaiNET#1358 · 1 comment ·
Maintainers usually reply within 1 day
-
I/O internal correctness medium priority rt_lib
Difficulty 2/5 1-3 hours Newbie friendliness 79/100
Maintainers usually reply within 1 day