• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

ACEsuit / mace / 36306638641
75%

Build:
DEFAULT BRANCH: develop
Ran 27 Sep 2026 09:34AM UTC
Jobs 1
Files 71
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

21 Sep 2026 08:25AM UTC coverage: 75.057% (+0.06%) from 74.998%
36306638641

push

github

web-flow
Build the aperiodic search box orthogonal to the periodic lattice vectors (#1727)

* Build the aperiodic search box orthogonal to the periodic lattice vectors

Moving the atoms into the fictitious search box is only half of what makes the
neighbour list independent of where the caller put the structure. The box is
also built along a Cartesian axis, and any periodic lattice vector with a
component on that axis can carry an atom straight back out of it. matscipy then
wraps the atom and reports the wrap as a shift, which downstream is added to the
caller's unwrapped positions, so a bond comes back as a vector many times the
cutoff at an unchanged edge count.

Two shapes reach it. A partially periodic cell whose periodic vectors reach out
of the plane they span loses its edge vectors once the structure is displaced
along a periodic direction, which unwrapped trajectory coordinates do. A
one-dimensional cell leaves two axes for an image to escape along, and past
roughly 45 degrees off the Cartesian axis it is already wrong with the structure
at the origin and no displacement at all.

Each non-periodic axis now gets a direction orthogonal to every periodic lattice
vector, by Gram-Schmidt against them, and the atoms are anchored along that
direction instead. No periodic image can move an atom along it, so the box holds
whatever the coordinates are. Where the Cartesian axis is already free, which is
every cell built the usual way and every molecule, it is the direction returned,
so nothing about those changes.

Measured against the brute-force oracle over 180 randomly generated translated
systems spanning all six periodicity patterns: 0 mismatches, against 57 before
this change and 128 before the displacement fix.

The returned cell changes for one family, and only there: partially periodic,
with a non-periodic row that is all zeros, and periodic vectors that are tilted.
That row is read by the stress, which divides by det(cell), and by the
electrostatics, wh... (continued)

9265 of 12344 relevant lines covered (75.06%)

0.75 hits per line

Jobs
ID Job ID Ran Files Coverage
1 36306638641.1 27 Sep 2026 09:34AM UTC 71
75.06
GitHub Action Run
Source Files on build 36306638641
  • Tree
  • List 71
  • Changed 1
  • Source Changed 0
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #36306638641
  • 726ecec6 on github
  • Prev Build on develop (#35197321668)
  • Next Build on develop (#36400583198)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc