Skip to content

haoran-ni/Genarris-Interfaces

Repository files navigation

Genarris Interfaces

Genarris Interfaces is a package for high-throughput generation and prediction of organic/inorganic interfaces.

Installation

  1. Please make sure anaconda, C compiler and MPI modules are correctly installed and loaded. An example for Bridges-2 user is:
module load anaconda3
module load openmpi/4.0.5-gcc10.2.0
  1. Create and activate your conda environment:
conda create -n gnrs_env python=3.8
conda activate gnrs_env
  1. Clone this repository:
git clone https://github.com/haoran-ni/Genarris-Interfaces.git
  1. Install the dependencies:
cd ./Genarris-Interfaces
pip install --no-cache-dir -r requirements.txt
  1. Install Ogre:
cd ..
git clone https://github.com/Shuyangzero/Ogre.git
cd ./Ogre
pip install .
  1. Update cgenarris submodule:
cd ../Genarris-Interfaces
git submodule update --init --recursive
  1. Install Genarris Interfaces:
python setup.py develop

Quick start

Genarris Interfaces expects three files as inputs:

  • ui.conf (runtime configuration file)
  • geometry.in (input molecule structure)
  • substrate.in (input substrate structure)

Below is an example ui.conf file:

# Sample Genarris input configuration file

[master]
name	                    = <name of your molecule>
molecule_path               = <path to the molecule structure file, aims format>
Z                           = <number of molecules per unit cell>
log_level                   = debug
downselection_workflow      = robust_flow
restart                     = False
#interface or crystal
procedure                   = interface

[film_generation]
# x and y lattice vectors of the substrate
lattice_vectors             = [[2.556200, 0.000000, 0.000000],[-1.2780999999999993, 2.2137341371537826, 0.000000]]
interface_area_mean         = 0
interface_area_std          = 0
volume_multiplier           = 2
num_structures_per_lg       = 200
specific_radius_proportion  = 0.85
max_attempts_per_lg         = 100000
tol                         = 0.1
unit_cell_volume_mean       = predict
max_attempts_per_volume     = 100000
lg_distribution_type        = uniform

[film_slab_construction]
film_geo_path               = film_generation
structure_name              = <name of your molecule>
format                      = FHI
cleave_option               = 0
layers                      = 1
vacuum_size                 = 1
highest_index               = 2
supercell_size              = None
miller_index                = [0, 0, 1]
desired_num_of_molecules_onelayer = 0

[acsf]
rcut                        = 6.0
g2_params                   = [[1, 1], [1, 2], [1, 3]]
g4_params                   = [[1, 1, 1], [1, 2, 1], [1, 1, -1]]
compress                    = 0.98

[kmeans]
feature_name                = "cacsf"
n_clusters                  = 15
max_iter                    = 200
n_init                      = 100
tol                         = 1
selection                   = center

[substrate_slab_construction]
##### indicate if substrate is organic or not, if so write 1, if not write 0
substrate_organic           = 0
substrate_bulk_path         = <path to the substrate structure file, aims format>
structure_name              = <name of the substrate>
format                      = FHI
cleave_option               = 0
layers                      = 1
vacuum_size                 = 1
highest_index               = 2
supercell_size              = None
miller_index                = [0, 0, 1]
desired_num_of_molecules_onelayer = 0

[build_interface]
vacuum = 20
bo_iterations = 400
scan_step_size = 0.2
coeff = 4
attract_ad = 0.15
rep_ad = -0.25
delta_z = 4
precision = 30
z_shift_min = -2
z_shift_max = 2

With the input files ready, run Genarris Interfaces using gnrs ui.conf or mpirun -np 128 gnrs ui.conf.

Citation

If you use Genarris Interfaces, please cite:

@article{
       doi:10.26434/chemrxiv.10002028/v1,
       author = {Haoran Ni  and Kevin Larkin  and Wen Wen  and Saeed Moayedpour  and Rithwik Tom  and Imanuel Bier  and Derek Dardzinski  and Noa Marom },
       title = {Structure Prediction of Organic/Inorganic Interfaces with Genarris},
       journal = {ChemRxiv},
       volume = {2026},
       number = {0208},
       pages = {},
       year = {2026},
       doi = {10.26434/chemrxiv.10002028/v1},
       URL = {https://chemrxiv.org/doi/abs/10.26434/chemrxiv.10002028/v1}
}

LICENSE

Genarris Interfaces is available under the BSD-3-Clause License.

About

Genarris Interfaces: high-throughput generation and prediction of organic/inorganic interfaces

Topics

Resources

License

Stars

0 stars

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors