Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Periodic Builder: layer builder (stacked layers with interlayer ions and water) for all periodic codes

Open
#357 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
20/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Active
Tech stack
c, matlab
Domain
desktop

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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from FriendsofECCE/ECCE

All issues in FriendsofECCE/ECCE

Similar issues

More C issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.