Skip to content

Releases: TorchSim/torch-sim

v0.5.0

19 Dec 17:03

Choose a tag to compare

v0.5.0

This release focuses on improving batch processing capabilities across TorchSim. The neighbor list module has been completely refactored to support batched calculations with multiple backend implementations, elastic tensor calculations now leverage batched operations for improved performance, and a bug fix ensures Monte Carlo swaps work correctly with ragged (different-sized) systems.

πŸŽ‰ New Features

  • Refactor neighbor list module with batched support and multiple backends by @abhijeetgangan in #348
    • New unified torchsim_nl function with automatic backend selection
    • Multiple implementations: Alchemiops (NVIDIA CUDA), Vesin, torch_nl, and pure PyTorch fallback
    • Support for both single-system and batched (multi-system) calculations
    • Automatic selection of best available implementation based on installed packages

πŸ›  Enhancements

  • Batch elastic operations by @orionarcher in #384
    • calculate_elastic_tensor now uses ts.static runner for batched calculations
    • Added autobatcher parameter for memory-efficient processing of deformations
    • Added pbar parameter for progress bar support

πŸ› Bug Fixes

  • Fix Monte Carlo swap for ragged systems by @curtischong in #380
    • Fixed generate_swaps calculation of system start indices for systems with different atom counts

v0.4.2

11 Dec 21:07
4d26167

Choose a tag to compare

v0.4.2

Thank you to everyone who contributed to this release! This release includes important bug fixes and new features. @thomasloux, @orionarcher, @WillEngler, @RishikeshMagar, @nh-univie, @andrewrm98, @danielzuegner, and others made valuable contributions. πŸš€

πŸŽ‰ New Features

πŸ› Bug Fixes

πŸ›  Enhancements

  • Consolidate model and model_name args in FairchemModel by @orionarcher in #377

New Contributors

v0.4.1

23 Nov 17:37

Choose a tag to compare

Thank you to everyone who contributed to this release! This release includes important bug fixes, new features, and API improvements. @thomasloux, @curtischong, @CompRhys, @orionarcher, @WillEngler, @samanvya10, @hn-yu, @wendymak8, @chuin-wei, @pragnya17, and many others made valuable contributions. πŸš€

πŸ’₯ Breaking Changes

πŸŽ‰ New Features

πŸ› Bug Fixes

  • MACE: transfer atomic numbers to CPU before converting to numpy by @t-reents in #289
  • Fixed max atoms memory estimation by @nh-univie in #279
  • Fixing model loading logic (names and cache dir) for fairchem models by @nh-univie in #278
  • Fix fairchem and neighbors tests by @WillEngler in #317
  • Fix #293: State to device side effects by @samanvya10 in #297
  • Fix graph-pes key issue by @jla-gardner in #303
  • Fix calculate static state after relax by @curtischong in #338
  • Misc fixes by @orionarcher in #336
  • Fix cell to cellpar by @thomasloux in #342
  • Fix failing Docs build by @CompRhys in #296
  • Fix: correct speedup plot image path in README by @Joaqland in #333

πŸ›  Enhancements

  • Put SimState Init logic into post_init (and enforce kw_args=true for SimState children) by @curtischong in #335
  • Replace vars(state) with state.attributes by @orionarcher in #329
  • Rename and reorder some variables by @orionarcher in #316
  • Add SevenNet path, str types for model arg by @YutackPark in #322
  • Add version attribute by @thomasloux in #311
  • Convert cell_to_cellpar from ase's numpy implementation to pytorch by @wendymak8 in #306
  • Autobatch OOM handling by @chuin-wei in #337
  • Allow Mace to be loaded from a model path by @orionarcher in #349
  • NPTLangevinState inherits from MDState by @hn-yu in #299

πŸ“– Documentation

🏷️ Type Hints

  • Create py.typed by @arosen93 in #287

🧹 House-Keeping

  • Remove unused imports orb and updates class type check by @thomasloux in #292
  • Skip FairChem tests on forks due to HF secret by @CompRhys in #295

πŸ“¦ Dependencies

  • Loosen numpy dependency by @chuin-wei in #321

New Contributors

  • @arosen93 made their first contribution in #287
  • @nh-univie made their first contribution in #278
  • @samanvya10 made their first contribution in #297
  • @wendymak8 made their first contribution in #306
  • @pragnya17 made their first contribution in #341
  • @chuin-wei made their first contribution in #321
  • @hn-yu made their first contribution in #299
  • @Joaqland made their first contribution in #333

v0.4.0

09 Oct 20:38

Choose a tag to compare

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

πŸŽ‰ New Features

πŸ› Bug Fixes

πŸ›  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

🧹 House-Keeping

  • MAINT: update pins in MACE phonons example. Remove misleading ty from PR template by @CompRhys in #239

New Contributors

Full Changelog: v0.3.0...v0.4.0

v0.3.0

13 Aug 22:08
cde91e9

Choose a tag to compare

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

πŸ› Bug Fixes

πŸ“– Documentation


Full Changelog: v0.2.2...v0.3.0

v0.2.2

10 Jun 18:17

Choose a tag to compare

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 = False keyword to optimize, integrate, static runners by @YutackPark in #181
  • Remove unbatched code by @CompRhys in #206

πŸ› Bug Fixes

  • Fix installing conflicting optional dependencies via uv in pyproject.toml by @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 FIRE optimisations in ASE and torch-sim by @t-reents in #203

πŸ“– Documentation

  • stricter dead link checks: swap markdown-link-check for lychee by @janosh in #194

🚧 CI

  • Test stresses in the ase consistency test. by @CompRhys in #190

πŸ§ͺ Tests

  • Directly compare ASE vs TorchSim Frechet cell FIRE relaxation by @AdeeshKolluru in #146
  • more robust ordering checks for ts.static by @janosh in #196
  • Difference in ASE FrechetCellFilter vs Torch-Sim (both md_flavors) + enhanced convergence testing by @mstapelberg in #200
  • generate_force_convergence_fn default include_cell_forces to True (matching ASE) by @janosh in #209

πŸ₯ Package Health

🧹 Linting

  • Remove debug print statements from tests and replace them with assertions by @janosh in #210

New Contributors

Full Changelog: v0.2.1...v0.2.2

v0.2.1

02 May 00:46

Choose a tag to compare

What's Changed

πŸ’₯ Breaking Changes

πŸ›  Enhancements

πŸ› Bug Fixes

πŸ“– Documentation

πŸš€ Performance

🚧 CI

  • Refactor test_math.py and test_transforms.py by @janosh in #151

πŸ₯ Package Health

πŸ“¦ Dependencies

🏷️ Type Hints

New Contributors

Full Changelog: v0.2.0...v0.2.1

v0.2.0

14 Apr 19:58
6cf3ea8

Choose a tag to compare

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 πŸ› 

Documentation πŸ“–

House-Keeping 🧹

v0.1.0

03 Apr 15:11

Choose a tag to compare

Initial release introducing torch-sim, a next-generation open-source atomistic simulation engine for the MLIP era.