Skip to content

v2026.8.13

Choose a tag to compare

@shyuep shyuep released this 13 Aug 23:00
· 15 commits to main since this release
8c9a68b
  • PR #123 The enumlib_caller module docstring notes Enumlib.jl, a from-scratch Julia reimplementation of enumlib that is a drop-in replacement for enum.x (unchanged struct_enum.in/out contract, makeStr.py reused; this module's own test suite passes against it). EnumlibAdaptor emits an advisory UserWarning recommending it when the resolved enum.x is not Enumlib.jl; detection probes enum.x --version at most once per command path and never raises, so enumeration behavior is unchanged. (by @glwhart)
  • PR #99 Locpot and Elfcar store collinear spin-polarized data under spin_up/spin_down keys, matching what VASP actually writes for these files (two direct spin channels) instead of mislabeling them with CHGCAR's total/diff (total/magnetization) convention. Legacy total/diff access keeps working through warning-backed deprecated aliases. VolumetricData gains a data_key argument selecting the primary grid, is_soc is now detected from the diff_x/diff_y/diff_z keys instead of len(data) >= 4, and linear_add/scale invalidate cached spin data. Fixes materialsproject/pymatgen#4307. (by @DanielYang59)
  • PR #121 Accelerate FermiDos.get_e_h_concs (and thus get_doping and get_fermi) by 3–10×: trapezoid weights are precomputed once in __init__ (turning each integration into a dot product) and the Fermi-Dirac integrand is truncated beyond ~40 k_BT from the Fermi level where its contribution is negligible. Results identical to within ~1e-12 relative error. (by @kavanase)
  • PR #114 Fix hkl_transformation computing matrix-element denominators via int(1 / i), which is wrong for fractions other than 1/n (e.g. the 2/3 in R-decentering). The sign convention changes from "at most one negative index" to "first nonzero index positive" (as in #101), so the returned hkl may differ between equivalent representations, e.g. now (1, -1, -2) where (-1, 1, 2) was returned before. New uvw_transformation transforms direct-lattice [uvw] vectors using the same machinery with the transposed inverse matrix. (by @Sanftperlig)
  • PR #117 Fix Vasprun parsing of vasprun.xml from MD simulations using MLFF (ML_LMLFF), which store steps as top-level tags rather than <calculation> blocks: ionic_step_skip/ionic_step_offset now parse the full file and subsample md_data, nionic_steps is taken from md_data when present, and converged_electronic returns True for MLFF runs (no electronic steps exist). Fixes materialsproject/pymatgen#4200. (by @DanielYang59)
  • PR #111 SlabGenerator.gen_possible_terminations is now a public method (previously an inner function of get_slabs). Termination positions are computed with a PBC-aware circular mean over each cluster instead of relying on atom order, and the siteless case is handled. (by @Sanftperlig)
  • PR #113 generate_all_slabs forwards the cell parameter (added to get_symmetrically_distinct_miller_indices in #101) so it can actually be used. (by @Sanftperlig)