Skip to main content

A collective of tools for the preparation of input files for ZACROS

Project description

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

zacrosio-1.0.tar.gz (6.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

zacrosio-1.0-py3-none-any.whl (6.9 kB view details)

Uploaded Python 3

File details

Details for the file zacrosio-1.0.tar.gz.

File metadata

  • Download URL: zacrosio-1.0.tar.gz
  • Upload date:
  • Size: 6.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.2

File hashes

Hashes for zacrosio-1.0.tar.gz
Algorithm Hash digest
SHA256 c51151938173400e85694d6a2c95652caec01f5938e7f9ce72112e9830f216b5
MD5 786a7c7fc45d727c7446144ee37b1dbe
BLAKE2b-256 d2677b8776522fe294e594860771fcbe8c5966499b14fe8733038a5fb2e56cdd

See more details on using hashes here.

File details

Details for the file zacrosio-1.0-py3-none-any.whl.

File metadata

  • Download URL: zacrosio-1.0-py3-none-any.whl
  • Upload date:
  • Size: 6.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.2

File hashes

Hashes for zacrosio-1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8c304bd84d43dca3b4d87bbb5324d6af41c926865c3a8c59ca58bd972b90887e
MD5 653b7d5da3f65cfe8992f94142619b76
BLAKE2b-256 90919f633f34e148192c85a64ac561056d1277a1de431fbd505662cb11f6731f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page