VIRtual cell generation by Permutation
Project description
virp: VIRtual cell generation by Permutation
virp is a code for the fast generation of a virtual cell from a crystal structure (in CIF format) containing site disorder. It is named after Singapore's first superhero, VR Man, whose superpower is "Virping". The show was a flop, but we are still proud of him.
This project is inspired by the Supercell code of Okhotnikov, Charpentier and Cadars (J. Cheminform. 8, 17), which formed the basis of our fast virtual cell generation algorithm, as well as the aflow++ framework (Comput. Mater. Sci. 217, 111889), for the statistical postprocessing of materials properties.
Theory
(To be updated!)
Requirements
pymatgen, chgnet, and matgl (matgl==1.0.0; dgl)
Optional: You can also use git for the fancy installation. Otherwise, downloading the .py file will do.
Installation
pip install git+https://github.com/andypaulchen/virp.git
Update to latest release: uninstall and re-install
NEW! Install with pip install virp
Building a database
The root directory has a folder (session) which holds the python scripts which build a library of virtual cells (generate.py) and postprocessing scripts (connectivity.py and properties.py). After each script is run, the results are saved as .csv files.
-
To prepare for a session, copy the
sessionfolder in your workspace and place the.ciffiles you want to process (make virtual cells + postprocessing) in the subfolder_disordered_cifs. Feel free to renamesessionfolder to something more identifiable -
Run
generate.pyto create a supercell and (by default) 400 virtual cells.- after this step, a structure subfolder (e.g.
structure) is created insessionfor eachstructure.ciffile in_disordered_cifs, with the same name. Inside this folder is a supercell CIF and folders for structure-optimized (stropt) and non-structure-optimized virtual cells (no_stropt). The details of this run is recorded invirp_session_summary.csv.
- after this step, a structure subfolder (e.g.
-
Run
connectivity.pyfor atomic connectivity post-processing- after this step, the results are written to
connectivity.csvandscatterplot.pngunderstroptandno_stropt.
- after this step, the results are written to
-
Run
properties.pyto predict materials properties. This is performed onstroptsubfolders only.- after this step, the results are written to
virtual_properties.csvin thestructuresubfolder.
- after this step, the results are written to
In summary, this is what a session looks like after all three routines have completed:
Versions and changelog
v0.1.1: first workable code, with function to generate a virtual cell.
v0.2.1: added enumeration function
v0.2.2: enumeration can be imported now (fix)
v0.3.0: you can now make a batch of virtual cells
v0.4.3: added tools to build a database
v1.1.0: major user-friendliness updates, database compilation
Debugging and support
The virp code has been tested on a limited number of platforms, so far Windows and Linux. If you are running into any problems during operation, please hound me (Andy Paul Chen) at la.vache.qui.vit(at)gmail.com, and I will try my best to help.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file virp-1.1.0.tar.gz.
File metadata
- Download URL: virp-1.1.0.tar.gz
- Upload date:
- Size: 17.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0af2e4e30f10f1e578ab41f61463b66dd231a8cbfd9a5d632b009d3037d1c67f
|
|
| MD5 |
d487541af41b6ee7cf93585fcf39a634
|
|
| BLAKE2b-256 |
07b4bf6b432c98906ce30c69ec557aa6b563d7f8bc5b7e6debfa9c727dc1b4e4
|