Skip to content

Releases: wexlergroup/FreeBird.jl

v0.2.2

05 Nov 20:43

Choose a tag to compare

FreeBird v0.2.2

Diff since v0.2.1

New features (no breaking changes)

  • Added a new type of MC moves for swapping particle positions.
  • Implemented parallel MC decorrelation using Distributed.

Merged pull requests:

v0.2.1

25 Sep 17:25
1ffd319

Choose a tag to compare

FreeBird v0.2.1

Diff since v0.2.0

No breaking changes

  • Hotfix lattice MC walks for better convergence

Merged pull requests:

  • fix: replaced generate_random_new_lattice_sample! with lattice_random_walk! for better MC lattice convergence (#106) (@yangmr04)
  • Hotfix/mc moves for lattice (#115) (@yangmr04)
  • Bump version from 0.2.0 to 0.2.1 for hotfix (#116) (@yangmr04)

v0.2.0

22 Sep 17:31
c95ff93

Choose a tag to compare

FreeBird v0.2.0

Diff since v0.1.2

Breaking changes

This release introduces significant improvements to the abstraction and extensibility of atomistic simulation code by generalizing support for different interatomic potentials and adding a new walker type for the Gupta potential. The changes refactor the codebase to use a more flexible AbstractPotential interface, update energy assignment logic, and enhance the display functions to reflect these abstractions.

Abstraction and Generalization of Potentials

  • Refactored all energy assignment functions (assign_energy! and assign_frozen_energy!) in atomistic_livesets.jl to use the abstract type AbstractPotential instead of being limited to Lennard-Jones parameters. This allows the same logic to be reused for any potential type, improving code flexibility and maintainability.
  • Updated the constructors and internal fields of LJAtomWalkers and LJSurfaceWalkers to store a general potential field (of type AbstractPotential) rather than a specific Lennard-Jones parameter set.

New Features and Types

  • Added a new GuptaAtomWalkers struct to represent collections of atom walkers with Gupta (many-body) potentials, including a constructor that assigns energies using the new potential type.
  • Extended the AbstractPotentials module with new abstractions and documentation for single- and multi-component potentials, potential styles (pairwise vs. many-body), and included the Gupta potential implementation.

Display and Usability Improvements

  • Updated the show methods for LJAtomWalkers and LJSurfaceWalkers to use the new potential field, ensuring that output reflects the underlying abstraction and works for any supported potential type.

Merged pull requests:

  • fix: correct type name from LennardJonesParametersSets to LennardJonesParameterSets across multiple files (#104) (@yangmr04)
  • hotfix: correct type name from LennardJonesParametersSets to LennardJonesParameterSets across multiple files (#105) (@yangmr04)
  • Feature/gupta potential (#110) (@yangmr04)
  • Deleted the line which swapped the chemical symbols (#112) (@junchichen21)
  • Hotfix/remove swap chemsymbols (#113) (@junchichen21)

Closed issues:

  • Bug in swap moves (#111)

v0.1.2

07 Jul 19:41

Choose a tag to compare

FreeBird v0.1.2

Diff since v0.1.1

  • LatticeNestedSamplingParameters is no longer a type; it is now a wrapper for NestedSamplingParameters.
  • Unified nested_sampling() method to work with any AbstractLiveSet.
  • Replaced LJParameters with AbstractPotential in EnergyEval to generalize energy evaluations using pairwise potentials.
  • Added a new LJSurfaceWalkers type under AbstractLiveSet that takes a set of walkers with free particles, a (set of) Lennard-Jones potentials, and a (typically frozen) surface warped into an AtomWalker. This way, the surface is stored only once in a live set, instead of n copies for n number of walkers.
  • For nested sampling with multiple culling, it is now much more strict for accepting a new iteration, that requires all new walkers to be accepted in order to maintain the correct compression factor.

Merged pull requests:

  • Tweaks in abstract types; Generalize pair energy evaluation functions (#100) (@yangmr04)

v0.1.1

14 May 21:50

Choose a tag to compare

FreeBird v0.1.1

Diff since v0.1.0

  • Parallel routines for nested sampling
  • New Arrow file format support for saving dataframes

Merged pull requests:

  • Corrected typos and updated language on the tutorial page for clarity (#95) (@eyob-tewelde)

Closed issues:

  • Random number generator and seed for MCRandomWalk? (#4)
  • Legacy SLattice code calling occupations (#79)
  • Exact enumeration bug when the list is not sorted (#93)

v0.1.0

17 Mar 20:43

Choose a tag to compare

FreeBird v0.1.0

Diff since v0.0.3

  • Breaking changes in how nested sampling, Wang-Landau sampling and Monte Carlo sampling is set up. Please see the documentation and examples.
  • Sampling input and output objects made more consistent
  • Fixed several bugs and performance issues
  • Improved documentations with new "Examples" and "Tutorials" pages

v0.0.3

03 Feb 18:28

Choose a tag to compare

FreeBird v0.0.3

Diff since v0.0.2

  • Now using AtomsBase 0.5.
  • Periodic() and DirichletZero() boundary conditions are deprecated. Simple booleans are used now.
  • atomic_symbol() and other similar functions now need the atom index in the particles list to work.
  • atomic_system() is now the easiest way to construct a flexible system.
  • boundary_conditions and bounding_box are no longer fields of a system, they are now periodicity and cell_vectors, respectively.
  • Now using up-to-date ExtXYZ and AtomsIO packages as well, as they are changed to accommodate AtomsBase 0.5.
  • No breaking changes in the exported methods, although some output now looks different.
  • Resolves #89, #84 and #47.

Merged pull requests:

v0.0.2

23 Jan 20:01
357617f

Choose a tag to compare

FreeBird v0.0.2

Diff since v0.0.1

  • Mainly cosmetic changes in docstrings.
  • Significant improvements in test suites.
  • Improved documentation with a "quick start" guide.

Breaking changes

  • Un-exported sampling methods are removed.

Merged pull requests:

  • Feature/tests (#71) (@junchichen21)
  • Docs/improve docs (#72) (@yangmr04)
  • docs: add instructions for installing FreeBird package and specific b… (#74) (@yangmr04)
  • Update Readme, CI and docs (#75) (@yangmr04)
  • CI and installation guide update (#76) (@yangmr04)
  • CI: replace Codecov action with Coveralls for coverage reporting (#77) (@yangmr04)
  • Hotfix/remove-unused-other-samplings (#78) (@yangmr04)
  • CompatHelper: add new compat entry for Statistics at version 1, (keep existing compat) (#83) (@github-actions[bot])
  • Docs/quick-start-improve (#85) (@yangmr04)
  • Tests and docs improvements (#86) (@yangmr04)
  • Fixed the wrong grid points in the printed outputs. (#87) (@junchichen21)

v0.0.1

03 Jan 17:18

Choose a tag to compare

FreeBird v0.0.1

Merged pull requests:

  • Feature/simple-lennard-jones (#3) (@yangmr04)
  • Bring main up to date with dev (#6) (@yangmr04)
  • CompatHelper: add new compat entry for AtomBase at version 0.1, (keep existing compat) (#7) (@github-actions[bot])
  • Updated CompatHelper; remove feature/* from CI and Documentations workflow (#23) (@yangmr04)
  • Updated CompatHelper (#24) (@yangmr04)
  • CompatHelper: add new compat entry for BenchmarkTools at version 1, (keep existing compat) (#25) (@github-actions[bot])
  • CompatHelper: add new compat entry for AtomsIO at version 0.2, (keep existing compat) (#26) (@github-actions[bot])
  • CompatHelper: add new compat entry for DocumenterTools at version 0.1, (keep existing compat) (#27) (@github-actions[bot])
  • CompatHelper: add new compat entry for Unitful at version 1, (keep existing compat) (#28) (@github-actions[bot])
  • CompatHelper: add new compat entry for DataFrames at version 1, (keep existing compat) (#29) (@github-actions[bot])
  • CompatHelper: add new compat entry for UnitfulAtomic at version 1, (keep existing compat) (#30) (@github-actions[bot])
  • CompatHelper: add new compat entry for CSV at version 0.10, (keep existing compat) (#31) (@github-actions[bot])
  • CompatHelper: add new compat entry for AtomsBase at version 0.3, (keep existing compat) (#32) (@github-actions[bot])
  • CompatHelper: add new compat entry for Parameters at version 0.12, (keep existing compat) (#33) (@github-actions[bot])
  • CompatHelper: add new compat entry for Documenter at version 1, (keep existing compat) (#34) (@github-actions[bot])
  • CompatHelper: add new compat entry for ExtXYZ at version 0.1, (keep existing compat) (#35) (@github-actions[bot])
  • CompatHelper: add new compat entry for Setfield at version 1, (keep existing compat) (#36) (@github-actions[bot])
  • CompatHelper: add new compat entry for Distributions at version 0.25, (keep existing compat) (#37) (@github-actions[bot])
  • CompatHelper: add new compat entry for StaticArrays at version 1, (keep existing compat) (#38) (@github-actions[bot])
  • CompatHelper: add new compat entry for Reexport at version 1, (keep existing compat) (#39) (@github-actions[bot])
  • Update compat in Project.toml (#40) (@yangmr04)
  • Feature/analysis-and-debug (#41) (@yangmr04)
  • Bring main up to date (#42) (@yangmr04)
  • Feature/composite lennard jones (#44) (@yangmr04)
  • Hotfix/broken-examples (#45) (@yangmr04)
  • Hotfix/broken-examples (#46) (@yangmr04)
  • Feature/lattice walker rework (#49) (@yangmr04)
  • fix: Update inter-component energy calculation in EnergyEval.jl (#54) (@junchichen21)
  • Added function to extact free particles from existing walkers (#55) (@D-Thibodeaux)
  • Feature/lattice sampling rework (#57) (@yangmr04)
  • Feature/multi component lattice (#61) (@yangmr04)
  • Feature/lattice sampling rework (#62) (@yangmr04)
  • New walker systems (#63) (@yangmr04)
  • refactor: rename included files for consistency and clarity (#64) (@yangmr04)
  • Feature/code cleanup for release (#65) (@yangmr04)
  • Feature/remove files for release (#66) (@yangmr04)
  • First stable release v0.0.1 (#67) (@yangmr04)

Closed issues:

  • It doesn't seem like the user can select the range of acceptable rates. (#5)
  • Incorrect enumeration of neighbors in LatticeWalkers.jl (#43)
  • Bug in CompositeLJ energy evaluation (#52)