Skip to main content

A Wannier Tight-Binding Model Based Numerical Package

Project description

WanPy: A Wannier Tight-Binding Model Based Numerical Package

Requirements

  • python>=3.11
  • numpy
  • scipy
  • sympy
  • pandas
  • mpi4py
  • h5py
  • fortio
  • hatch
  • spglib>=2.3.0
  • matplotlib (optional)
  • phonopy (optional; required by findmsg)
  • pymatgen (optional; required by wpyplotband)

Installation

Create a Conda environment and install wanpy:

conda create -n wanpy numpy scipy pandas sympy h5py mpi4py fortio hatch spglib matplotlib
conda activate wanpy 
pip install wanpy 

Note for compatibility with srun, it is recommended to use MPICH:

conda install -c conda-forge mpi4py==3.1.4 mpich

create a symbolic link for wanpyProjects at ~/opt/wanpyProjects:

wanpy-postinstall

(Optional) Configure Environment Variables If you are installing wanpy on a personal computer, you may want to set environment variables for convenience:

export WANPY_ROOT_DIR="your_work_dir"  # Set a default working directory for WanPy  
export PYGUI="True"  # Enable GUI features if applicable  

Get start

# show usage
wanpy -h

# collect Wannier TB data to a single .h5 file
wanpy htb

# Collect Wannier TB data to a single .h5 file
wanpy wannier

# Write _hr.dat and _r.dat (optional) from .h5 file
wanpy write_dat

# Twist the order of .amn (uudd or udud) 
wanpy twist_amn

# compare Wannier and VASP band structure. support HSE type calculation. 
wpyplotband

# check job status
statistic_cores ...

Collect Wannier TB data

WanPy need to collect necessary Wannier TB data into a single .h5 file as the input for further calculations. This can be done by:

Method 1 (recommended): from wanpy wannier, this will need POSCAR .nnkp, .wout, .chk, .eig, and WAVECAR if --spn. The nnkp file can be obtained by:

$ wannier90.x -pp wannier90.win 

To start collecting dat:

# start to collect Wannier TB data 
wanpy wannier [options]

# For detail of options, see
wanpy wannier -h

Method 2: from wanpy htb, this will need at least POSCAR, .wout, _hr.dat . The files .nnkp, _r.dat, _wsvec.dat, and _spin.dat are optional.

# start to collect Wannier TB data 
wanpy htb [options]

# For detail of options, see
wanpy htb -h

Symmetric Wannier tight-binding models (SWTB)

The SWTB can be obtained during collecting Wannier TB data. Set symmetry related parameters in symmetry.in, then start to get SWTB with an additional tag --symmetry

wanpy wannier --symmetry [options]

See Comput. Phys. Commun. 270, 108153 (2022) (arXiv:2012.08871) for detail.

Important notice:

  • WanPy uses uudd order of Wannier orbitals for its internal calculations, which is the default setting when using v1.2 of wannier_setup. If a higher version vasp2wannier interface was used, one should utilize wanpy twist_amn to reorganize the .amn file into the uudd order and then redo the disentanglement.

  • wannier_center_def must be specified to excute wanpy wannier. The available options are poscar and ws. By using wannier_center_def = poscar, the wannier centers will align with POSCAR. For wannier_center_def = ws, the wannier centers will be refined in range of [-0.5, 0.5). For example, if .amn file is generated by VASP 5.4.4, set wannier_center_def = poscar. If .amn file is generated by VASP 6.4.3, set wannier_center_def = ws.

Template input file for generating htb.h5:

This template file can also be produced by executing wanpy wannier --temp:

# Input file for building symmetric Wannier TB model

# Choose method, default is kspace
symmetric_method = rspace   # Options: {rspace, kspace}
rspace_use_ngridR = F       # use ngridR to resample the TB model, default is False

# Choose between manually setting symmops or automatically detecting symmops from magmoms
parse_symmetry = man        # Options: {man, auto}

# Choose how wannier centers are defined in calculating .amn
# Options: {poscar, ws}
#   poscar: the same as poscar. Use this if amn is generated by VASP 5.4.4 (see mlwf.F for details). 
#   ws: refined in range of [-0.5, 0.5). Use this if amn is generated by VASP 6.4.3 (see mlwf.F for details). 
wannier_center_def = poscar 

ngridR = 12 12 1            # in kspace method, use a slightly larger value than the original TB model 

# Parameters used when parse_symmetry = auto
symprec = 1e-5
&magmoms
0 0 1
0 0 -1
/

# Parameters used when parse_symmetry = man
&symmops
# TR  det  alpha  nx  ny  nz  taux  tauy  tauz
  0   1    0      0   0   1   0     0     0   # e
  0   1    180    0   0   1   0.5   0.5   0   # c2z
# Anti-unitary symmetry operations
  1   1    0      0   0   1   0.5   0.5   0   # T
  1   1    180    0   0   1   0     0     0   # Tc2z
/

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

wanpy-0.16.0.tar.gz (192.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

wanpy-0.16.0-py3-none-any.whl (215.5 kB view details)

Uploaded Python 3

File details

Details for the file wanpy-0.16.0.tar.gz.

File metadata

  • Download URL: wanpy-0.16.0.tar.gz
  • Upload date:
  • Size: 192.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-httpx/0.28.1

File hashes

Hashes for wanpy-0.16.0.tar.gz
Algorithm Hash digest
SHA256 8ee9d96f9e4639183ba942b869a1901770c241f491668f26dea74c4d15af09ab
MD5 ab3453f28767b3a100d52509f0733df0
BLAKE2b-256 29efadaee4c557fcb96ef7aebbed3c08c2e1449f968c35e9880af6bf6a2e70ee

See more details on using hashes here.

File details

Details for the file wanpy-0.16.0-py3-none-any.whl.

File metadata

  • Download URL: wanpy-0.16.0-py3-none-any.whl
  • Upload date:
  • Size: 215.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-httpx/0.28.1

File hashes

Hashes for wanpy-0.16.0-py3-none-any.whl
Algorithm Hash digest
SHA256 747bd8c56699abfbcb2ef6dd19984eabc3e8969487f9de284bf59ce6dd4dec6e
MD5 3440a037b53012f75cb5fc8868235150
BLAKE2b-256 df837f3ea3dfec53ef38349b197ddd632a90a23e0b65d79ab0a08f377787b9dd

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page