zeoran

Code used in the paper "Adsorption of carbon dioxide in non-Löwenstein zeolites".

https://github.com/promerma/zeoran

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (16.6%) to scientific vocabulary

Keywords

aluminum distribution random-generation zeolites
Last synced: 6 months ago · JSON representation ·

Repository

Code used in the paper "Adsorption of carbon dioxide in non-Löwenstein zeolites".

Basic Info
  • Host: GitHub
  • Owner: promerma
  • License: gpl-3.0
  • Language: C++
  • Default Branch: main
  • Homepage:
  • Size: 1.68 MB
Statistics
  • Stars: 7
  • Watchers: 1
  • Forks: 0
  • Open Issues: 1
  • Releases: 2
Topics
aluminum distribution random-generation zeolites
Created about 3 years ago · Last pushed almost 3 years ago
Metadata Files
Readme License Citation

README.md

zeoran

ZEOlite RANdom generation

This software was developed and used for the writing of the paper:

P. Romero-Marimon et al., "Adsorption of carbon dioxide in non-Löwenstein zeolites".

alt text

Author's information

Pablo Romero Marimon
Eindhoven University of Technology
Department of Applied Physics
Materials Simulation and Modelling group
March 24, 2023

Description

This repository was done as part of my Master's thesis at the MS&M group at the Eindhoven University of Technology. Its main goal is to generate multiple .cif files with zeolite structures having different aluminum distributions. The aluminum substitutions are randomly generated from 4 different probability distributions, implemented by 4 different algorithms:

  1. chains: Al atoms are introduced forming chains of consecutive Al-O-Al bonds. The number and lengths of the chains are given as an input.
  2. clusters: A given number of Al atoms are introduced in a small spatial region.
  3. merw: A given number of Al atoms are introduced "as spread as possibly" in the structure, i.e., maximizing the entropy of the framework.
  4. random: A given number of Al atoms are introduced by sampling a uniform distribution.

For a detailed description of the algorithms used to generate the zeolite frameworks and the program itself, please check the .pdf file available in this repository. The software is entirely written in C/C++.

Content

Here the content of the repository is described.

  1. zeoran_data/atom_sites: Contains the atomic positions of all the atoms forming a single unit cell of each zeolite. The structure of a line of this file is: atomid atomtype x y z charge.
  2. zeoran_data/unit_cell: Contains the basic information of the unit cell of each framework.
  3. Makefile: script to compile and install the program.
  4. zeoran.cpp: contains all the functions implemented to run the program, including the main function.
  5. generate.input: input file.
  6. zeoran.pdf: detailed explanation of the program.
  7. global.h: contains the definition of the global variables and structures used in the program.
  8. headers.h: contains the headers of all the functions written in the file "zeoran.cpp".
  9. libraries.h: contains all the libraries used.
  10. log.dat: contains the current state of the program and changes and improvements that still need to be done.
  11. cover.png: cover figure of the README.md file.

Run the program

Requirements

  1. The compiler g++ and make need to be installed. (sudo apt-get install build-essential).
  2. The standard Eigen library needs to be installed. (sudo apt-get install libeigen3-dev).

Compilation and installation

The program can be compiled and installed in the system using the makefile. Open a terminal in the directory containing all the files and introduce the commands:

make sudo make install

After installing, the source folder may be removed from your user space.

Execution

zeoran

Uninstalling

sudo make uninstall

Uninstallation via make is only available if you did not delete the source folder. If you did remove it, you can uninstall zeoran with sudo rm -rf /usr/local/bin/zeoran /user/local/share/zeoran.

Structure of generate.input

The generate.input file needs to have a particular structure. Please, note that he number of parameters and their order cannot be changed. This structure has a fixed part, and a part that depends on the algorithm we aim to use (chains/clusters/merw/random), since they require different parameters. Next, we specify the format of the input file in each case:

chains:

Zeolite (MFI/MOR/FAU/RHO/MEL/DDR/TON/new) Algorithm (chains/clusters/merw/random) Name_of_output_directory Number_of_structures_to_be_generated Number_of_chains Number_of_substitutions_in_first_chain Number_of_substitutions_in_second_chain ... Number_of_substitutions_in_last_chain

clusters:

Zeolite (MFI/MOR/FAU/RHO/MEL/DDR/TON/new) Algorithm (chains/clusters/merw/random) Name_of_output_directory Number_of_structures_to_be_generated Number_of_substitutions

merw:

Zeolite (MFI/MOR/FAU/RHO/MEL/DDR/TON/new) Algorithm (chains/clusters/merw/random) Name_of_output_directory Number_of_structures_to_be_generated Number_of_substitutions Number_of_equilibration_steps Number_of_visits

NOTE: The last two parameters are optional. If they are missing the default values are 100 and 20 respectively. Note that if changed, both of them need to be specified. More information about these parameters can be found in the file generatezeoliteframeworks.pdf.

random:

Zeolite (MFI/MOR/FAU/RHO/MEL/DDR/TON/new) Algorithm (chains/clusters/merw/random) Name_of_output_directory Number_of_structures_to_be_generated Number_of_substitutions

How to work with a new zeolite

The software contains the information to generate structures for the MFI, MOR, FAU, RHO, TON, DDR and MEL frameworks. However, it is implemented to work with all the zeolites. Therefore, to generate structures of other frameworks, only the corresponding files need to be added in the directories "data/atomsites" and "data/unitcell". Also, the new zeolite needs to be specified in the first line of generate.input.

Owner

  • Name: Pablo Romero Marimon
  • Login: promerma
  • Kind: user
  • Location: Barcelona, Spain
  • Company: HP 3D Printing

Data Scientist | Mathematician

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
- family-names: "Romero-Marimon"
  given-names: "Pablo"
  orcid: "https://orcid.org/0000-0001-9164-6541"
title: "Zeoran"
version: 1.0
date-released: 2023-03-24
url: "https://github.com/promerma/zeoran"

GitHub Events

Total
  • Watch event: 4
Last Year
  • Watch event: 4