Skip to main content

The Bond valence site energy calculator

Project description

BVlain_logo

BVlain is a python library for bond valence site energy calculations. The functionality includes calculation of the 1-3D percolation barrier and radius of a mobile ion (e.g. Li+), calculation of the bond valence sum mismatch, writing of volumetric data files (.grd or .cube) for visualization of a mobile ion diffusion map.

For more details, see documentation.

License PyPI Downloads

Installation

pip install bvlain

Examples

Percolation barriers
from bvlain import Lain

file = './Downloads/LiFePO4.cif'
calc = Lain(verbose = False)
atoms = calc.read_file(file)       # alternatively, you can use read_atoms() or read_structure()

params = {'mobile_ion': 'Li1+',              # mobile specie
		  'r_cut': 10.0,                     # cutoff for interaction between the mobile species and framework
		  'resolution': 0.2,	             # distance between the grid points
		  'k': 100,                          # maximum number of neighbors to be collected for each point
          'use_softbv_covalent_radii': False # default is False, use True to compare results with softBV
}
_ = calc.bvse_distribution(**params)
energies = calc.percolation_barriers(encut = 5.0)
for key in energies.keys():
    print(f'{key[-2:]} percolation barrier is {round(energies[key], 4)} eV')
1D percolation barrier is 0.4395 eV
2D percolation barrier is 3.3301 eV
3D percolation barrier is 3.3594 eV
Save volumetric data for visualization (.grd or .cube)
from bvlain import Lain

file = './Downloads/LiFePO4.cif'
calc = Lain(verbose = False)
atoms = calc.read_file(file)

params = {'mobile_ion': 'Li1+',    # mobile specie
		  'r_cut': 10.0,           # cutoff for interaction between the mobile species and framework
		  'resolution': 0.2,	   # distance between the grid points
		  'k': 100                 # maximum number of neighbors to be collected for each point
}
_ = calc.bvse_distribution(**params)

calc.write_grd(file + '_bvse', task = 'bvse')  # saves .grd file
# calc.write_cube(file + '_bvse', task = 'bvse') # alternatively, save .cube file
Percolation radii
from bvlain import Lain

file = './Downloads/LiFePO4.cif'
calc = Lain(verbose = False)
atoms = calc.read_file(file)

params = {'mobile_ion': 'Li1+',    # mobile specie
		  'r_cut': 10.0,           # cutoff for interaction between the mobile species and framework
		  'resolution': 0.2,	   # distance between the grid points
}
_ = calc.void_distribution(**params)
radii = calc.percolation_radii()
for key in radii.keys():
    print(f'{key[-2:]} percolation barrier is {round(radii[key], 4)} angstrom')
1D percolation barrier is 0.3943 angstrom
2D percolation barrier is 0.2957 angstrom
3D percolation barrier is 0.1972 angstrom
calc.write_grd(file + '_void', task = 'void') # # save void distribution
Bond valence sum mismatch
from bvlain import Lain

file = './Downloads/LiFePO4.cif'
calc = Lain(verbose = False)
atoms = calc.read_file(file)
dataframe = calc.mismatch(r_cut = 3.5)

For more examples, see documentation.

The library is under active development and it is not guaranteed that there are no bugs. If you observe not expected results, errors, please report an issue at github.

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

bvlain-0.25.1.tar.gz (59.6 kB view details)

Uploaded Source

Built Distribution

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

bvlain-0.25.1-py3-none-any.whl (60.1 kB view details)

Uploaded Python 3

File details

Details for the file bvlain-0.25.1.tar.gz.

File metadata

  • Download URL: bvlain-0.25.1.tar.gz
  • Upload date:
  • Size: 59.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.8.1 pkginfo/1.8.2 requests/2.28.1 requests-toolbelt/0.9.1 tqdm/4.66.2 CPython/3.8.8

File hashes

Hashes for bvlain-0.25.1.tar.gz
Algorithm Hash digest
SHA256 55c63944bccca3a1c4bff2ebe57188c82123716682c01215ece02c7648aa9016
MD5 32bd3800eea7e2f611c5c9f11625ea7e
BLAKE2b-256 cde2c3f784736f01e9516104e5f6bcefccf73c0e9151f6811ee5d34923efeec8

See more details on using hashes here.

File details

Details for the file bvlain-0.25.1-py3-none-any.whl.

File metadata

  • Download URL: bvlain-0.25.1-py3-none-any.whl
  • Upload date:
  • Size: 60.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.8.1 pkginfo/1.8.2 requests/2.28.1 requests-toolbelt/0.9.1 tqdm/4.66.2 CPython/3.8.8

File hashes

Hashes for bvlain-0.25.1-py3-none-any.whl
Algorithm Hash digest
SHA256 8c785978dc69c0dab1939ec3b5e1832518ccd3237eea2c572ba65b0a5ae78701
MD5 3f31666fa7d09e2d2622408ad27c83dc
BLAKE2b-256 a9592f801132ace647ddba5494b9f03a8b67feb29163e8707af425695a07bdbd

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