Skip to main content

ZacrosIO

This project is a collective of tools for the preparation of input files for Zacros.

## Installation

pip install zacrosio

git clone https://github.com/hprats/ZacrosIO.git

## Dependencies

Pandas, Scipy

## Example

In this example, we create the ZACROS input files for many KMC simulations scanning a wide range of partial pressures and temperatures for the CO oxidation.

import numpy as np import pandas as pd from zacrosio.kmc_job import NewKMCJob

job = NewKMCJob(df_gas=pd.read_csv(f’gas_data.csv’, index_col=0),

df_mechanism=pd.read_csv(f’mechanism.csv’, index_col=0), df_energetics=pd.read_csv(f’energetics.csv’, index_col=0), lattice_path=”lattice_input.dat”)

for T in np.linspace(500, 1000, 6):
for pCO in np.logspace(-4, 0, 10):
for pO in np.logspace(-4, 0, 10):
job.create_job_dir(path=f”./co_oxidation_T_{T}_pCO_{pCO}_pO_{pO}”,

T=T, dict_pressure={‘CO’: pCO, ‘O’: pO}, reporting=’on time 5.0e-1’, stopping={‘max_steps’: ‘infinity’, ‘max_time’: ‘infinity’, ‘wall_time’: 36000}, repeat_cell=[10, 10], list_auto_scaling=[‘O_diffusion’])

## Dataframes required

The user must prepare three following Pandas dataframes in advance:

### 1. df_gas.csv

This dataframe contains information about the gas-phase species. Each row corresponds to a gas-phase species, and the following columns are required: - type (str): ‘linear’ or ‘non_linear’ - gas_molec_weight (float): molecular weight in g/mol, e.g. 16.04 - sym_number (int): symmetry number, e.g. 1 - degeneracy (int): degeneracy of the ground state, for the calculation of the electronic partition function, e.g. 1 - inertia_list (list of floats): moments of intertia in amu*Å2 (1 or 3 elements for linear or non-linear molecules, respectively), e.g. [8.9] # can be obtained from ase.Atoms.get_moments_of_inertia() - gas_energy (float): formation energy in eV, e.g. -0.42

### 2. df_mechanism.csv

This dataframe contains information about the steps included in the reaction model, where each row of corresponds to a reversible elementary step. The following columns are required: - site_types (str): type of adsorption sites, e.g. tM tC - neighboring (str): connectivity between sites involved, e.g. 1-2. Optional (default: None) - initial (list): initial configuration, e.g. [‘1 * 1’,’2 CH3** 1’,’2 CH3** 2’] - final (list): final configuration, e.g. [‘1 H_tC* 1’,’2 CH2** 1’,’2 CH2** 2’] - activ_eng (float): activation energy in eV, e.g. 1.02 - prox_factor (float): proximity factor, e.g. 0.2. Optional (default: 0.5) - angles (str): angle between sites, e.g. 1-2-3:180. Optional (default: None) - vib_list_is (list of floats): list of vibrational modes in meV for the initial state in meV, e.g. [332.7, 196.2, 70.5] - vib_list_ts (list of floats): list of vibrational modes in meV for the transition state in meV, e.g. [332.7, 196.2]. For non-activated adsorption, define this as an empty list i.e. [] - vib_list_fs (list of floats): list of vibrational modes in meV for the final state in meV, e.g. [332.7, 196.2, 70.5]

Additional required columns for adsorption steps: - molecule (str): gas-phase molecule involved, e.g. CO - A_site (float): area of the adsoption site in Å, e.g. 4.28

### 3. df_energetics.csv

This dataframe contains information about the clusters included in the cluster expansion, where each row of corresponds to a cluster. The entries corresponding to point clusters and pairwise lateral interactions must end in ‘_point’ and ‘_pair’, respectively (e.g. CH3_point, CH2+H_pair) and the following columns are required: - cluster_eng (float): cluster formation energy, e.g. -1.23 - site_types (str): type of adsorption sites, e.g. top top - neighboring (str): connectivity between sites involved, e.g. 1-2 - lattice_state (list): cluster configuration, e.g. [‘1 CO* 1’,’2 CO* 1’] - angles (str): angle between sites, e.g. 1-2-3:180. Optional (default: None) - graph_multiplicity (int): symmetry number of the cluster, e.g. 2. Optional (default: None)

### 4. lattice_path (str)

Path were the lattice_input.dat file is located. This file has to be generated manually in advance.

## Contributors

Hector Prats Garcia

Metadata

Release files for zacrosio 1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for zacrosio 1.0
File Size Uploaded Provenance Actions
zacrosio-1.0.tar.gz 6.2 kB Without provenance Details for zacrosio-1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for zacrosio 1.0
File Interpreter ABI Platform Actions
zacrosio-1.0-py3-none-any.whl Python 3 none any Details for zacrosio-1.0-py3-none-any.whl

Total release size: 13.1 kB

Release files / zacrosio-1.0.tar.gz

Download URL zacrosio-1.0.tar.gz
Size 6.2 kB
Tags Source
SHA-256 checksum
How to use checksums
c51151938173400e85694d6a2c95652caec01f5938e7f9ce72112e9830f216b5
BLAKE2b-256 checksum
How to use checksums
d2677b8776522fe294e594860771fcbe8c5966499b14fe8733038a5fb2e56cdd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.12.2

Release files / zacrosio-1.0-py3-none-any.whl

Download URL zacrosio-1.0-py3-none-any.whl
Size 6.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8c304bd84d43dca3b4d87bbb5324d6af41c926865c3a8c59ca58bd972b90887e
BLAKE2b-256 checksum
How to use checksums
90919f633f34e148192c85a64ac561056d1277a1de431fbd505662cb11f6731f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.12.2

Security for zacrosio 1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

1.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page