tcnicholas / chic

Coarse-graining Hybrid and Inorganic Crystals (CHIC) is a Python package for automating the cleaning-up and coarse-graining of crystals and analysing crystal databases using machine-learning.

Home Page:https://tcnicholas.github.io/chic/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

CHIC logo

Coarse-graining Hybrid Iorganic Crystals.

Getting started

Install with pip install chic-lib, and you're ready to go!

By way of a quick example, ZIF-8 (CSD RefCode: FAWCEN) can be coarse-grained by running:

from chic import Structure

# read in structure and delete oxygen from the pores.
struct = Structure.from_cif("ZIF-8-sod.cif")
struct.remove_sites_by_symbol("O")

# compute neighbour list, find atomic clusters, and coarse-grain. 
struct.get_neighbours_crystalnn()
struct.find_atomic_clusters()
struct.get_coarse_grained_net()

# export structure as TopoCIF.
struct.net_to_cif('ZIF-8-sod-cg.cif', write_bonds=True, name='ZIF-8-cg')

Head over to the chic docs to see examples and more details!

ToDo list

  • Add docs.
  • Add simple distance cut-off algorithm for neighbour list building.
  • Add custom implementation of optimised CrystalNN algorithm.
  • Integrate back-mapping code.
  • Integrate extraction of local energies from LAMMPS dump format.
  • Add registry to Net class for easier future development beyond ZIFs.

Authors

Thomas C. Nicholas

About

Coarse-graining Hybrid and Inorganic Crystals (CHIC) is a Python package for automating the cleaning-up and coarse-graining of crystals and analysing crystal databases using machine-learning.

https://tcnicholas.github.io/chic/

License:GNU General Public License v3.0


Languages

Language:Python 100.0%