Skip to content

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.

License

Notifications You must be signed in to change notification settings

tcnicholas/chic

Repository files navigation

CHIC logo

Coarse-graining Hybrid Inorganic 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.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages