Volumetric I/O. VolumetricData.parse_file for CHGCAR/LOCPOT/ELFCAR is now backed by a Cython fast-float parser (vendored single-header fast_float C port). Roughly 6× faster than the prior _plain_loadtxt path on real fixtures and ~11× with parallel scaling experiments on multi-GB inputs (sequential path is what ships).
- PR #59
pymatgen.optimization.fast_parser.parse_n_doubles: new Cython parser for ASCII double streams from binary file objects;VolumetricData.parse_filemigrated offnp.loadtxt. Bit-identical output verified against the prior path. (by @hheei, with review follow-ups) - PR #55 Remove POTCAR cryptographic hash validation (
PotcarSingle.verify_potcar,identify_potcar_hash_based, the MD5/SHA256 file-hash lookup tables). The hash database is unmaintained andUnknownPotcarWarningwas firing on perfectly valid newer POTCARs; the summary-stats validator (PotcarSingle.is_valid) remains the supported path. (by @shyuep) - PR #61 Replace deprecated
numpy.gcd/numpy.lcmreductions withmath.gcd/math.lcm; minor cleanup of redundant array dtype casts. (by @kavanase) - Route remaining hard-coded physical-constant literals (Bohr radius, Rydberg-eV, h·c, Abinit unit factors) through
pymatgen.core.constantsso future CODATA revisions update everywhere at once.Vasprunoptical absorption now uses the CODATA-exact h·c/e value.
Fixes
- (#44) Correct RMSD formula in
molecule_matcher: Kabsch/BruteForce/Hungarian/Genetic matchers now sum over the coordinate axis before averaging, matching the standard charnley/rmsd convention. Argmin selection is unchanged but reported RMSDs and user thresholds shift by √3. (by @shyuep) - Strip the
np.float64type wrapper fromLattice.__repr__so lattice vectors render as plain floats under numpy 2.x.
Docs / CI / Tests
- (#30) Correct cod-tools attribution in
symm_ops.yaml(the YAML mirrors COD::Spacegroups::Lookup::COD; header now points at cod-developers/cod-tools rather than the AiiDA wrapper). (by @shyuep) - Codecov: upload from the shard with
extras: optionalso reported coverage reflects ASE/seekpath/phonopy/hiphive-gated code; switch the upload action to OIDC (tokenless) auth after the sharedCODECOV_TOKENlost its repo binding. - Speed up the slowest test setups (lift heavy
setup_methodwork tosetup_class; vectorise the BSDOS projection generator) and add a conftest fixture that closes matplotlib figures between tests. - Expand coverage for
phonon.ir_spectra(47%→75%) andcore.bond_valence(57%→97%). - Skip the
extras: optionaltest job on Windows (CI runtime, not a correctness change). PR #60 dependabot bump of faraday in/docs.