Skip to content

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