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.