- Notifications
You must be signed in to change notification settings - Fork4
A tool to calculate Wannier Orbital Overlap Population (WOOP).
License
Chengcheng-Xiao/WOOPs
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
_ _ _____ ___________| | | || _ || _ | ___ \| | | || | | || | | | |_/ /__| |/\| || | | || | | | __/ __|\ /\ /\ \_/ /\ \_/ / | \__ \ \/ \/ \___/ \___/\_| |___/A post-processing tool written in python to get Wannier Orbital Overlap Population (WOOP), Wannier Orbital Position Population (WOPP)* fromWannier90 package.
Before getting into things, you might want to check out these two papers:
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
For the script to work, you need to have an valid installation ofpython (2.7.x or 3.x both work).Also,numpy andh5py package are needed, you can install them by pip:
pip install h5py numpyor by conda
conda install h5py numpyif you use a supercomputer and don't have enough privilege:
- install anaconda by downloading fromhere and upload it to your directory.
- using queue system to install anaconda by
chmod 755 anaconda*.sh && ./anaconda*.sh - install
numpyandh5pyby download them fromhere andhere, upload them as well. - manually install package by
conda install numpy*.tar.bz2andconda install *h5py*.tar.bz2
Python script does not need manual compilation, so the installation is very easy.
- Download the script:
wget https://github.com/Chengcheng-Xiao/WOOPs/blob/master/WOOPs.py- give correct permission:
chmod 755 WOOPs.py- You can also put it into your system's PATH (assume you are using
BASH):
echo export PATH=$( pwd )/WOOPs.py:'$PATH' >> .bashrcFile need for WOOPs:
wannier90_u_AO.mat(Unitary matrix of atomic orbitals from valence band and conduction interpolation)wannier90_u_MO.mat(Unitary matrix of molecular orbitals from only valence band interpolation)wannier90_tb.dat(Use master branch for compatibility)input.woops
Detailed preparation for Wannier90 generated files can be found in Wanneir90's user guide, or in theexample folder.
The format ofinput.woops follows:
readmode = XX #[must be True or False]cal = XX #[Things you want to do]num_mo = XX #[number of MO]num_ao = XX #[number of AO]num_kpts = XX #[number of kpts]cell_param = XX XX XX #[cell_param]cell_dim = XX #[cell_dim: 0D, 1D, 2D or 3D] NOTE: currently 1D->x, 2D->xycprec = XX #controls the PRINTING precision of C_matrix, lower means accurate. default=1e-4bprec = XX #controls the PRINTING precision of WOOP_matrix, lower means accurate default=1e-4pprec = XX #controls the PRINTING precision of WOPP_matrix, lower means accurate default=1e-2IMPORTANT: Every tag must be written in lowercase, full length without abbreviation.
cal include:
| NAME | REQURE |
|---|---|
get_orbital | [needswannier90* file] |
check_completeness | [needsget_AO andget_MO] |
get_c_mat | [needsget_AO andget_MO] |
WOOP [default] | [needsget_C_mat] |
get_charge | [needsWOOP] |
WOPP [experimental] | [needsWOOP andget_r_mat] |
When the input file is properly prepared:
./WOOPs.py > woops.log &or if you put it in your path:
WOOPs.py > woops.log &This may take a few minutes, consider submitting it to the queue system.
These commands will produce a copy of data stored in hdf5 format and a text file with corresponding name for the calculation.
Go check the description inexample folder.
WOPP is still under Alpha testing phase, the problem now I'm facing is that the 'position matrix', or, Wannier90's r_matrix ( position inhamiltonian.F90) do not agree with Wannier Function Center (rave inwannierise.F90). As a result, the ferroelectric polarization decomposition cannot be correctly calculated. To avoid this, I am now using <0n|r|Rm> written in thewanneir90_tb.dat file.
Complete a simplified description of WOOP and its capability.
Increase efficiency.
Add progress bar.
For the method please cite the following paper in any publications arising from the use of this code:
J. Bhattacharjee and U. V. Waghmare,Wannier orbital overlap population (WOOP), Wannier orbital position population (WOPP) and the origin of anomalous dynamical charges,Phys. Chem. Chem. Phys., 2010, 12, 1564–1570
K. Terakura, S. Ishibashi,Mechanism of covalency-induced electric polarization within the framework of maximally localized Wannier orbitals,Phys. Rev. B 91, 195120 (2015)
Please readCONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.
We useSemVer for versioning. For the versions available, see thetags on this repository.
- Chengcheng XIAO -Initial work -E-mail
This project is licensed under the MIT License - see theLICENSE.md file for details
About
A tool to calculate Wannier Orbital Overlap Population (WOOP).
Topics
Resources
License
Contributing
Uh oh!
There was an error while loading.Please reload this page.