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 hashes)

Uploaded Source

Built Distribution

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

Uploaded Python 3

Supported by

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