Releases: TorchSim/torch-sim
v0.4.0
Thank you to everyone who contributed to this release! This release includes significant API improvements and breaking changes. @janosh led a major API redesign to improve usability. @stefanbringuier added heat flux calculations. @curtischong continued improving type safety across the codebase. @CompRhys, @orionarcher, @WillEngler, and @thomasloux all made valuable contributions. π
Note: This PR makes fairly significant changes to the TorchSim API. Namely, integrators and optimizers no longer return a tuple of init and step functions. Instead these are defined separately and dynamically linked through a registry. In the high level API, you now select the integrator or optimizer by selecting a valid tag from this registry.
What's Changed
π₯ Breaking Changes
- Fairchem v2 support by @janosh, @CompRhys, @abhijeetgangan, @orionarcher in #211
- Big breaking API redesign by @janosh in #264
- Rename Flavors to more descriptive names by @orionarcher in #282
π New Features
- Enhancement: Heat Flux Function by @stefanbringuier in #127
π Bug Fixes
- Fix: orb squeeze provides incorrect shape for energy tensor by @thomasloux in #257
- Fix docs build by @WillEngler in #271
π Enhancements
π Documentation
- Update citation in README.md by @orionarcher in #240
- Add GOVERNANCE.md and remove Contributor's Certification checkbox and language by @WillEngler in #272
- Remove Contributor License Agreement (CLA) in favor of certification in contributing.md by @WillEngler in #267
- Small update to README and CHANGELOG by @orionarcher in #283
π·οΈ Type Hints
- mypy type math.py and test_math.py by @curtischong in #242
- Type test_io, neighbors, and transforms by @curtischong in #243
- Type trajectory by @curtischong in #244
π§Ή House-Keeping
- MAINT: update pins in MACE phonons example. Remove misleading ty from PR template by @CompRhys in #239
New Contributors
- @thomasloux made their first contribution in #257
- @WillEngler made their first contribution in #267
Full Changelog: v0.3.0...v0.4.0
v0.3.0
Thank you to everyone who contributed to this release! @t-reents, @curtischong, and @CompRhys did great work squashing an issue with SimState concatenation. @curtischong continued his crusade to type and improve the TorchSim API. @orionarcher, @kianpu34593, and @janosh all made contributions that continue to improve package quality and usability. π
What's Changed
π Enhancements
- Define attribute scopes in
SimStatesby @curtischong, @CompRhys, @orionarcher in #228 - Improve typing of
ModelInterfaceby @curtischong, @CompRhys in #215 - Make
system_idxnon-optional inSimStateby @curtischong in #231 - Add new states when the
max_memory_scaleris updated by @kianpu34593 in #222 - Rename
batchtosystemby @curtischong in #217, #233
π Bug Fixes
- Initial fix for concatenation of states in
InFlightAutoBatcherby @t-reents in #219 - Finish fix for
SimStateconcatenation by @t-reents and @curtischong in #232 - Fix broken code block in low-level tutorial by @CompRhys in #226
- Update metatomic checkpoint to fix tests by @curtischong in #223
- Fix memory scaling in
determine_max_batch_sizeby @t-reents, @janosh in #212
π Documentation
- Update README plot with more models by @orionarcher in #236, #237
- Update
citation.cffby @CompRhys in #225
Full Changelog: v0.2.2...v0.3.0
v0.2.2
Big thank you to @t-reents and @mstapelberg π who did an outstanding job first identifying and then fixing several implementation differences between ASE and torch-sim FIRE relaxation. Running fire, unit_cell_fire or frechet_cell_fire with md_flavor="ase_fire" (the new default) is now expected to match the corresponding ASE geometry optimization trajectory. If you encounter any remaining differences, please open an issue!
What's Changed
π Enhancements
- Add
pbar: bool | dict = Falsekeyword tooptimize,integrate,staticrunners by @YutackPark in #181 - Remove unbatched code by @CompRhys in #206
π Bug Fixes
- Fix installing conflicting optional dependencies via
uvinpyproject.tomlby @curtischong in #188 - Fix Fairchem import possibly failing silently until it reaches setup_imports() by @janosh in #187
- Fix unit and frechet cell FIRE optimizers not rescaling atom positions after each cell update by @janosh in #199
- metatensor models have been renamed to metatomic models by @Luthaf in #205
- Fix discrepancies between
FIREoptimisations inASEandtorch-simby @t-reents in #203
π Documentation
π§ CI
π§ͺ Tests
- Directly compare ASE vs TorchSim Frechet cell FIRE relaxation by @AdeeshKolluru in #146
- more robust ordering checks for
ts.staticby @janosh in #196 - Difference in ASE
FrechetCellFiltervs Torch-Sim (bothmd_flavors) + enhanced convergence testing by @mstapelberg in #200 generate_force_convergence_fndefaultinclude_cell_forcesto True (matching ASE) by @janosh in #209
π₯ Package Health
- Top-level
SimStateby @janosh in #195 - Pin Metatensor as tests broke with Metatrain release by @CompRhys in #204
π§Ή Linting
New Contributors
Full Changelog: v0.2.1...v0.2.2
v0.2.1
What's Changed
π₯ Breaking Changes
π Enhancements
- Add per atom energies and stresses for batched LJ by @abhijeetgangan in #144
- throw error if autobatcher type is wrong by @orionarcher in #167
π Bug Fixes
- Mattersim fix tensors on wrong device (CPU->GPU) by @orionarcher in #154
- fix
npt_langevinby @jla-gardner in #153 - Make sure to move data to CPU before calling vesin by @Luthaf in #156
- Fix virial calculations in
optimizersandintegratorsby @janosh in #163 - Pad memory estimation by @orionarcher in #160
- Refactor sevennet model by @YutackPark in #172
iooptional dependencies inpyproject.tomlby @curtischong in #185- Fix column->row cell vector mismatch in integrators by @CompRhys in #175
π Documentation
- (tiny) add graph-pes to README by @jla-gardner in #149
- Better module fig by @janosh in #168
π Performance
- More efficient Orb
state_to_atoms_graphcalculation by @AdeeshKolluru in #165
π§ CI
π₯ Package Health
π¦ Dependencies
π·οΈ Type Hints
New Contributors
- @Luthaf made their first contribution in #156
- @YutackPark made their first contribution in #172
- @curtischong made their first contribution in #185
Full Changelog: v0.2.0...v0.2.1
v0.2.0
Bug Fixes π
- Fix integrate reporting kwarg to arg error, #113 (raised by @hn-yu)
- Allow runners to take large initial batches, #128 (raised by @YutackPark)
- Add Fairchem model support for PBC, #111 (raised by @ryanliu30)
Enhancements π
- [breaking] Rename
HotSwappingAutobatchertoInFlightAutobatcherandChunkingAutoBatchertoBinningAutoBatcher, #143 @orionarcher - Support for Orbv3, #140, @AdeeshKolluru
- Support metatensor models, #141, @frostedoyster @Luthaf
- Support for graph-pes models, #118 @jla-gardner
- Support MatterSim and fix ASE cell convention issues, #112 @CompRhys
- Implement positions only FIRE optimization, #139 @abhijeetgangan
- Allow different temperatures in batches, #123 @orionarcher
- FairChem model updates: PBC handling, test on OMat24 e-trained model, #126 @AdeeshKolluru
- FairChem model from_data_list support, #138 @ryanliu30
- New correlation function module, #115 @stefanbringuier
Documentation π
- Imoved model documentation, #121 @orionarcher
- Plot of TorchSim module graph in docs, #132 @janosh
House-Keeping π§Ή
- Only install HF for fairchem tests, #134 @CompRhys
- Don't download MBD in CI, #135 @orionarcher
- Tighten graph-pes test bounds, #143 @orionarcher
v0.1.0
Initial release introducing torch-sim, a next-generation open-source atomistic simulation engine for the MLIP era.