pyxtal.interface.gulp module

class pyxtal.interface.gulp.GULP(struc, label='_', path='tmp', ff='reaxff', pstress=None, opt='conp', steps=1000, exe='gulp', input='gulp.in', output='gulp.log', dump=None, symmetry=False, labels=None, timeout=3600)[source]

Bases: object

A calculator to perform atomic structure optimization in GULP

Args:

struc: structure object generated by Pyxtal ff: path of forcefield lib opt: conv, conp, single pstress (float): external pressure steps (int): relaxation steps symm (bool): whether or not impose the symmetry

clean()[source]
execute()[source]
read()[source]
run(clean=True)[source]

Always go to the directory to run one gulp at once

set_catlow()[source]

set the atomic label for catlow potentials O_O2- general O2- species O_OH oxygen in hydroxyl group H_OH hydrogen in hydroxyl group

to_ase()[source]
to_pymatgen()[source]
to_pyxtal()[source]
write()[source]
class pyxtal.interface.gulp.GULP_OC(struc, label='_', ff='gaff2', bond_type=False, opt='conp', steps=1000, stepmx=0.001, exe='gulp', atom_info=None, input='gulp.in', output='gulp.log', dump=None, folder='.')[source]

Bases: object

A calculator to perform oragnic crystal structure optimization in GULP

Parameters:
  • struc – structure object generated by Pyxtal

  • ff – path of forcefield lib, e.g., gaff

  • bond_type – specify the bond type or not (GULP can detect it automatically)

  • opt – e.g., conv, conp, single

  • steps – number of steps, int, e.g., 1000

  • exe – int, the way to call gulp executable

  • atom_info – atomic labels/charges

  • input – gulp input file name

  • output – gulp output file name

  • dump – dumped gulp file name

clean()[source]
execute()[source]
read()[source]
run(clean=True, pause=False)[source]
write()[source]
pyxtal.interface.gulp.optimize(struc, ff, optimizations=None, exe='gulp', pstress=None, path='tmp', label='_', clean=True, adjust=False)[source]

Multiple calls

pyxtal.interface.gulp.single_optimize(struc, ff, steps=1000, pstress=None, opt='conp', exe='gulp', path='tmp', label='_', clean=True, symmetry=False, labels=None)[source]