HTMACat.NEB package

Submodules

HTMACat.NEB.Construct_neb module

HTMACat.NEB.Construct_neb.Construct_neb(struct, method_inter='linear', nimages=6, dcut=0.25, d_scaled=0.5)[source]

Construct a Nudged Elastic Band (NEB) for transitioning between two structures.

Parameters:
structlist

List of two strings representing the initial and final states in VASP file format.

method_interstr, optional

Method for interpolating the positions of the middle images. Either ‘linear’ or ‘idpp’. Default is ‘linear’.

nimagesint, optional

Number of images in the band, excluding the initial and final states. Default is 6.

dcutfloat, optional

Distance cutoff (in Angstroms) used to determine which atoms need to be fixed during the NEB calculation. Default is 0.25.

d_scaledfloat, optional

Distance (scaled by the cell lengths) used to modify the positions of atoms that are too far apart between the initial and final structures. Default is 0.5.

Returns:
imageslist

List of images representing the NEB calculation. The first and last images are the initial and final states, respectively, and the middle images are interpolated.

Examples

>>> struct = ['initial.vasp', 'final.vasp']
>>> images = Construct_neb(struct, method_inter='idpp', nimages=10, dcut=0.2, d_scaled=0.3)s

HTMACat.NEB.Construct_network module

HTMACat.NEB.Dismove module

HTMACat.NEB.Dismove.Dismove(dcut)[source]

calculate the atom moving distance between initial and final structure for NEB calculation.

Parameters:
dcut:float

when atom moving distance > dcut, the atom id should be exported into Nmoveatom used to NEB calculation.

Returns:
None

Notes

This function needs to read two files named POSstart and POSend, and write the processing results to three files: POStmp, POStmp2, and POSfinal.At the same time, this function will also create a file called Nmovetatom to record the sequence numbers of atoms whose movement distance is greater than the threshold. It is necessary to ensure that there is no folder named remove in the current working directory before calling this function, otherwise the folder will be deleted.

HTMACat.NEB.Post_struc module

HTMACat.NEB.post_neb module

HTMACat.NEB.post_neb.calE_neb(nimage=6)[source]

Read the data in the ‘react.log’ file and calculate the energy barrier information, then return the list of reactants, energy barriers, and energy.

Parameters:
nimage:int

how many segments the entire reaction path is divided into,The default value is 6

Returns:
tuple[str,list,list]
reaction: str

It represents the name of the chemical reaction, which can be found in the “react.log” file.

neb B: list

It representing the coordinate axis data in the energy potential curve. The list contains the coordinate axis value of each discrete point, where the odd subscript value in the list represents the x coordinate on the coordinate axis, and the even subscript value represents the y coordinate on the coordinate axis.

neb E: list

It representing the energy data in the energy potential graph. The list contains the energy value of each discrete point

HTMACat.NEB.post_neb.plt_neb(react, neb, show=True, name='neb')[source]

It is mainly used to draw the reaction potential energy surface. Its parameters include.

Parameters:
react: str

The reaction equation.

neb: list

Potential energy data of the reaction path, a list of neb_B returned by the calE_neb() function.

show: bool

Whether to display the image immediately after the drawing is completed, default to True.

name:

The name of the image file, which defaults to neb.

Returns:
tuple[float,float]

The return value includes the potential barrier and reaction heat values in the reaction path.

HTMACat.NEB.vaspneb6 module

Module contents