Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

A tool to calculate Wannier Orbital Overlap Population (WOOP).

License

NotificationsYou must be signed in to change notification settings

Chengcheng-Xiao/WOOPs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 

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:

  1. Phys. Rev. B 56 12847 (1997)
  2. Phys. Rev. B 91, 195120 (2015)

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.

Prerequisites

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 numpy

or by conda

conda install h5py numpy

if you use a supercomputer and don't have enough privilege:

  1. install anaconda by downloading fromhere and upload it to your directory.
  2. using queue system to install anaconda bychmod 755 anaconda*.sh && ./anaconda*.sh
  3. installnumpy andh5py by download them fromhere andhere, upload them as well.
  4. manually install package byconda install numpy*.tar.bz2 andconda install *h5py*.tar.bz2

Installing

Python script does not need manual compilation, so the installation is very easy.

  1. Download the script:
wget https://github.com/Chengcheng-Xiao/WOOPs/blob/master/WOOPs.py
  1. give correct permission:
chmod 755 WOOPs.py
  1. You can also put it into your system's PATH (assume you are usingBASH):
echo export PATH=$( pwd )/WOOPs.py:'$PATH' >> .bashrc

Useage

File need for WOOPs:

  1. wannier90_u_AO.mat (Unitary matrix of atomic orbitals from valence band and conduction interpolation)
  2. wannier90_u_MO.mat (Unitary matrix of molecular orbitals from only valence band interpolation)
  3. wannier90_tb.dat (Use master branch for compatibility)
  4. 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-2

IMPORTANT: Every tag must be written in lowercase, full length without abbreviation.

cal include:

NAMEREQURE
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.

Running the tests

Go check the description inexample folder.

Notes

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.

TODO_list

  1. Complete a simplified description of WOOP and its capability.

  2. Increase efficiency.

  3. Add progress bar.

How to cite

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)

Contributing

Please readCONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.

Versioning

We useSemVer for versioning. For the versions available, see thetags on this repository.

Authors

  • Chengcheng XIAO -Initial work -E-mail

License

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

Stars

Watchers

Forks

Packages

No packages published

Languages


[8]ページ先頭

©2009-2025 Movatter.jp