neb_qe1
esta.qeBag.neb_qe1
¶
neb
¶
python class
1) --to generate supercard along with its contents such as BEGIN_POSITIONS ... content of the supercard here ... END_POSITIONS
for details see documentation of neb.x manual link: https://www.quantum-espresso.org/Doc/INPUT_NEB.html
2) -- to store data (atom no, no of images, atomic symbols, atomic positions) from *axsf data -- to generate xyz files from *axsf file from xcrysden
3) -- to read pathx files; where x = 0, 1, 2, .... and then create xyz files .......todo
more will be added according to the needs ...TODO
author: skumar email: sonukumar.physics@gmail.com date: July, 2020 Place: QCL, ICReDD, Japan
__init__()
¶
xyzfiles are list of xyz files Note: array the files in proper order so as to have a well defined path fo NEB calculations
read_xyz(xyzfiles)
¶
input:
filenames: list of str, filename xyz file names
output:
atomic positions: array: rank 2 array of shape (natoms, 3)
atomic labels: list/array of strings: rank 1 array of atomic labels
read_axsf(axsf_file)
¶
input:
str: *axsf file name
output:
rank 3 array: atomic positions: array: rank 3 array of shape (nimages, natoms, 3)
list of strings: atomic labels: list/array of strings: rank 1 array of atomic labels
scalar: no of images/number of structures
rank 2 array: cell vectors
rank 3 array: forces on atoms of shape (nimage, natoms, 3)
read_path(path_file, qe_input)
¶
input:
str: *path file name
str: qe neb input file (containing Atomic symbols); atomic symbols are not
present in *path file
output:
rank 3 array: atomic positions: array: rank 3 array of shape (nimages, natoms, 3)
list of strings: atomic labels: list/array of strings: rank 1 array of atomic labels
scalar: no of images/number of structures
rank 3 array: forces on atoms of shape (nimage, natoms, 3)
scalar: energy
return (self.pos_path, self.label_qe_neb, self.no_strs_path, self.force_path, self.energy_path)
write_position_card(xyzfiles)
¶
input:
list of strings containg xyz files names
atomic postions
atomic labels
output:
supercard containing atomic positions for all xzy strs for NEB calculations
NOTE:
BEGIN_POSITIONS FIRST_IMAGE
ATOMIC_POSITIONS { angstrom }
INTERMEDIATE_IMAGE
ATOMIC_POSITIONS { angstrom }
INTERMEDIATE_IMAGE
ATOMIC_POSITIONS { angstrom }
-- LAST_IMAGE
ATOMIC_POSITIONS { angstrom }
-- END_POSITIONS
to_xyz_files(filename, extension, qe_neb_input=None)
¶
input:
str: filename
str: filename extension (e.g. axsf or path file from NEB calc of qe)
#atomic positions
#atomic labels
#no of atoms
#no of images
or better pass an atom object to this method/function
output:
xyz files in for NEB calculations
to_xyz_plus_delta_files(pos, label, no_strs, filename, extension, qe_neb_input=None)
¶
input:
rank2 array: atomic positions
list: atomic labels
scalar: no of images
str: filename
str: filename extension (e.g. axsf or path file from NEB calc of qe)
or better pass an atom object to this method/function
output:
xyz files with displaced atoms according to vibration pattern or some other displacement
vectors for each atomic position