Changelog#
Recent Additions (November 2025)#
Charge-Spin Conditioned PhysNet#
Added new PhysNet model variant that accepts total molecular charge and spin multiplicity as inputs.
Module:
mmml.physnetjax.physnetjax.models.model_charge_spin.EF_ChargeSpinConditionedTraining script:
train_physnet_charge_spin.pyExamples:
examples/train_charge_spin_simple.py,examples/predict_options_demo.pyDocumentation: Charge-Spin Conditioned PhysNet
Key features:
Multi-state predictions from single model
Learnable charge and spin embeddings
Support for ionization energies, singlet-triplet gaps
Configurable prediction modes (energy only, forces only, both)
Packed Memmap Data Loader#
Added efficient data loader for large molecular datasets using memory-mapped files.
Module:
mmml.data.packed_memmap_loader.PackedMemmapLoaderTraining script:
train_physnet_memmap.pyConverter:
scripts/convert_npz_to_packed_memmap.pyExamples:
examples/train_memmap_simple.pyDocumentation: Packed Memmap Data Loader
Key features:
Train on datasets larger than RAM
Fast startup (seconds vs minutes)
Bucketed batching minimizes padding
Space-efficient packed storage format