All notable changes to this project are documented in this file.
- Plot event frequencies: introduced the ability to parse the event frequencies from
procstat_output.txt
usingzacrostools.procstat_output
and visualize them. - Plot stiffness coefficients: added functionality to parse stiffness coefficient information from
general_output.txt
usingzacrostools.parse_general_output_file
and generate corresponding plots. - Examples:
DRM_on_PtHfC
: Demonstrates how to analyze hundreds of output files to generate heatmaps and plot the event frequencies and stiffness coefficients.custom_lattice_models
: Illustrates how to create custom lattice models for Zacros simulations.
- Analysis of output files:
- Renamed
window_percent
toanalysis_range
- Renamed
window_type
torange_type
- Renamed
- Documentation: Improved the ZacrosTools Documentation.
- New classes and methods: introduced the following classes, which can be instantiated from a Python dictionary, a Pandas DataFrame, or a
.csv
file:GasModel
: information about gas-phase species. Methods available:add_species
andremove_species
.EnergeticsModel
: information about each cluster in the cluster expansion. Methods available:add_cluster
,remove_cluster
andwrite_energetics_input
.ReactionModel
: information about each elementary step. Methods available:add_step
,remove_steps
andwrite_mechanism_input
.
- Automatic neighboring structure generation: use a distance criteria between site to automatically create the neighboring structure for a custom lattice model.
- Total pressure in heatmap axes: the
total_pressure
parameter can now be selected for either thex
ory
axis in heatmap plots, enabling the creation of pressure vs temperature heatmaps. - Continuous integration tests: added a new test for GitHub Actions that generates all input files and compares them against reference files to ensure consistency.
- New parameters:
sig_figs_lattice
: added toKMCModel.create_job_dir
to control the number of significant figures used when writing coordinates inlattice_input.dat
.show_max
: added toplot_heatmap
to display a green 'x' marker at the point with the highest TOF.
- Building a
KMCModel
: theKMCModel
construction process now requires aGasModel
, anEnergeticsModel
, aReactionModel
, and aLatticeModel
.
- Output file parsing: enhanced
parse_general_output
to support parsinggeneral_output.txt
files generated by Zacros version 2.x. - Parameter validation: improved the parsing and validation of selected parameters across all modules to prevent errors.
- Docstrings: updated all docstrings to adhere to the NumPy format for better clarity and consistency.
- Documentation: Improved the ZacrosTools Documentation.
- Comprehensive test suite with Pytest: Implemented a suite of tests using Pytest to ensure code reliability and facilitate future development.
- Continuous integration with GitHub Actions: Set up CI workflows to automatically run tests on every push and pull request, enhancing code quality and preventing regressions.
- Documentation:
- Updated
README.md
with detailed installation instructions, usage examples, badges, and contributor guidelines.
- Updated
- New parameters in
KMCModel.create_job_dir
: Introduced new parameters in anticipation of a future version of Zacros.
- Parameter renaming in
KMCModel.create_job_dir
:- Renamed
auto_scaling_steps
tostiffness_scaling_steps
. - Renamed
auto_scaling_tags
tostiffness_scaling_tags
.
- Renamed
- Surface species list bug: Resolved an issue where, if only one surface species was declared,
surf_specs_dent
would be an integer instead of a list. - Total pressure format: Fixed a bug where the total pressure could be written as an integer, causing simulation crashes.
- Keyword validation: Added checks to ensure that the keywords provided in
stiffness_scaling_tags
are allowed. - Documentation enhancements: Improved the ZacrosTools Documentation.
- Data validation in
plot_result.py
: Implemented data validation and error handling to improve robustness. - Support for multidentate species: ZacrosTools now supports multidentate species.
- Compatibility with default lattices: Added support for default lattice configurations.
detect_issues
function:- Adjusted the function to consider only the specified analysis range.
- Changed default
analysis_range
from[50, 100]
to[30, 100]
.
- Vibrational energies bug: Fixed an issue where specifying vibrational energies of 0.0 could cause unexpected behavior.
- Documentation: Updated and expanded the ZacrosTools Documentation.
- Launched ZacrosTools with core functionalities for preparing Zacros input files and parsing output data.