zeoran
Code used in the paper "Adsorption of carbon dioxide in non-Löwenstein zeolites".
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
Repository
Code used in the paper "Adsorption of carbon dioxide in non-Löwenstein zeolites".
Basic Info
Statistics
- Stars: 7
- Watchers: 1
- Forks: 0
- Open Issues: 1
- Releases: 2
Topics
Metadata Files
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".

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:
- 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.
- clusters: A given number of Al atoms are introduced in a small spatial region.
- merw: A given number of Al atoms are introduced "as spread as possibly" in the structure, i.e., maximizing the entropy of the framework.
- 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.
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.zeoran_data/unit_cell: Contains the basic information of the unit cell of each framework.Makefile: script to compile and install the program.zeoran.cpp: contains all the functions implemented to run the program, including the main function.generate.input: input file.zeoran.pdf: detailed explanation of the program.global.h: contains the definition of the global variables and structures used in the program.headers.h: contains the headers of all the functions written in the file "zeoran.cpp".libraries.h: contains all the libraries used.log.dat: contains the current state of the program and changes and improvements that still need to be done.cover.png: cover figure of the README.md file.
Run the program
Requirements
- The compiler
g++andmakeneed to be installed. (sudo apt-get install build-essential). - 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
- Repositories: 1
- Profile: https://github.com/promerma
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