BraWl
Loading...
Searching...
No Matches
Simulating the thermodynamics and phase stability of multicomponent alloys using conventional and enhanced sampling techniques

The Fortran package BraWl (named after the Bragg-Williams model) facilitates simulation of the thermodynamics and phase stability of both binary and multicomponent alloys. It achieves this by providing implementation of both the Bragg-Williams Hamiltonian (a lattice based model expressing the internal energy of an alloy as a sum of atom-atom effective pair interactions) concurrently with a range of conventional and enhanced sampling techniques for exploration of the alloy configuration space. The result is a package which can determine phase equilibria as a function of both temperature and alloy composition, which leads to the construction of alloy phase diagrams. Additionally, the package can be used for extraction of representative equilibrated atomic configurations for visualisation, as well as for use in complementary modelling approaches. It provides a lightweight, fast and flexible foundation for a range of simulations relating to alloy thermodynamics and phase diagrams.

For an overview of the capabilities of the package, you can check out our recent preprint: H. J. Naguszewski, L. B. Partay, D. Quigley, C. D. Woodgate, arXiv:2505.05393.

The latest version of this documentation can be found at: chriswoodgate.github.io/BraWl/

The GitHub repo where the source code can be found is: github.com/ChrisWoodgate/BraWl


πŸš€ Features

  • πŸ’‘ Clean Fortran90 module structure
  • πŸ“¦ Organized components for reusability
  • βš™οΈ MPI support for parallelism
  • πŸ”¬ Designed for scientific extensibility

πŸ“ Citation

If you use BraWl in your research, please cite our preprint documenting the package and its capabilities:

  • H. J. Naguszewski, L. B. Partay, D. Quigley, C. D. Woodgate, arXiv:2505.05393.

πŸ“š Publications

A (hopefully fairly complete) list of publications obtained using the package is as follows:

  1. G. A. Marchant, C. D. Woodgate, C. E. Patrick, J. B. Staunton, Phys. Rev. B 103, 094414 (2021).
  2. C. D. Woodgate, J. B. Staunton, Phys. Rev. B 105, 115124 (2022).
  3. C. D. Woodgate, J. B. Staunton, Phys. Rev. Mater. 7, 013801 (2023).
  4. C. D. Woodgate, D. Hedlund, L. H. Lewis, J. B. Staunton, Phys. Rev. Mater. 7, 053801 (2023).
  5. C. D. Woodgate, J. B. Staunton, J. Appl. Phys. 135, 135106 (2024).
  6. L. Shenoy, C. D. Woodgate, J. B. Staunton, A. P. BartΓ³k, C. S. Becquart, C. Domain, J. R. Kermode, Phys. Rev. Mater. 8, 033804 (2024).
  7. C. D. Woodgate, "Modelling Atomic Arrangements in Multicomponent Alloys: A Perturbative, First-Principles-Based Approach" Springer Series in Materials Science, Vol. 346 (Springer Nature Switzerland, Cham, 2024).
  8. C. D. Woodgate, G. A. Marchant, L. B. PΓ‘rtay, J. B. Staunton, npj Comput. Mater. 10, 271 (2024).
  9. C. D. Woodgate, L. H. Lewis, J. B. Staunton, npj Comput. Mater. 10, 272 (2024).
  10. C. D. Woodgate, H. J. Naguszewski, D. Redka, J. Minar, D. Quigley, J. B. Staunton, J. Phys.: Mater. 8, 045002 (2025).

πŸ’» Authors

  • Hubert J. Naguszewski
  • Livia B. PΓ‘rtay
  • Christopher D. Woodgate

πŸ’» Contributors

  • Heather Ratcliffe
  • David Quigley

Contributing

Contributions are welcome via pull requests.

Features which are particularly welcome are:

  • Implementations of new lattice types.
  • Implementations of new/interesting sampling algorithms.
  • Interfaces with other packages, e.g. writing output configurations to formats specific to other materials simulation codes.

Features which we do not currently plan on implementing are:

  • Anything off-lattice. (The way configurations are represented internally would make this challenging!)

Additionally, as developer documentation for the package is auto-generated using Doxygen, we ask that all contributions to the codebase follow the Doxygen guide for formatting comment blocks and uses the relevant Doxygen commands to specify the details of new features/routines.


πŸͺͺ License

This software is released under the LGPL-3.0 license. See the file LICENSE.txt for details.


🧭 Documentation Guide

  • Modules β€” High-level structure of the project
    • Modules List – List of modules
    • Module Members – Complete list of members of all modules
  • Data Types β€” Derived types/classes used in the project
  • Files β€” Browse the project's file structure

πŸ“ Project Structure

BraWl/
β”œβ”€β”€ src/               # Core source code
β”œβ”€β”€ include/           # Any header files
β”œβ”€β”€ examples/          # Examples of use
β”œβ”€β”€ tests/             # Test cases
β”œβ”€β”€ docs/              # Documentation (this!)
β”œβ”€β”€ README.md          # High-level overview and README
β”œβ”€β”€ Makefile           # Makefile (for building the code!)
β”œβ”€β”€ LICENSE.txt        # Copyright statement and license (LGPL-3.0)
└── CODE_OF_CONDUCT.md # Contributor Covenant Code of Conduct