pyxtal.interface.dftb module
- class pyxtal.interface.dftb.DFTB(struc, skf_dir, disp='D3', kresol=0.1, folder='tmp', label='test', prefix='geo_final', use_omp=False, scc_error=1e-06, scc_iter=500)[source]
Bases:
object
Modified DFTB calculator
- Parameters:
struc – ase atoms object
disp – dispersion (D3, D30, TS, MBD))
step – optimization steps (int)
kresol – kpoint resolution (float)
folder – (str)
label – (str)
use_omp – True/False
- get_calculator(mode, step=500, ftol=0.001, FixAngles=False, eVperA=True, md_params=None)[source]
get the ase style calculator
- Parameters:
mode – [‘single’, ‘relax’, ‘vc_relax’] (str)
step – relaxation steps (int)
ftol – force tolerance (float)
FixAngles – Fix angles between lattice vectors
eVperA – unit in eV/A
- Returns:
ase calculator
- pyxtal.interface.dftb.DFTB_SCF(struc, skf_dir, kresol=0.1, folder='tmp', disp=None, filename=None)[source]
DFTB SCF to get band structure
- Parameters:
struc – ase atoms object
skf_dir
kresol
filename – band structure output
- pyxtal.interface.dftb.DFTB_relax(struc, skf_dir, opt_cell=False, step=500, fmax=0.1, kresol=0.1, folder='tmp', disp='D3', mask=None, symmetrize=True, logfile=None, scc_error=1e-06, scc_iter=500, use_omp=False)[source]
DFTB optimizer based on ASE
- Parameters:
struc – ase atoms object
mode – [single, relax, vc_relax] (str)
step – optimization steps (int)
mask – apply constraints on strain
- class pyxtal.interface.dftb.Dftb(restart=None, ignore_bad_restart_file=<object object>, label='dftb', atoms=None, kpts=None, slako_dir=None, **kwargs)[source]
Bases:
FileIOCalculator
This module defines a FileIOCalculator for DFTB+
http://www.dftbplus.org/ http://www.dftb.org/
Initial development: markus.kaukonen@iki.fi Modified by QZ to avoid the I/O load
- command = 'dftb+ > PREFIX.out'
- discard_results_on_any_change = True
Whether we purge the results following any change in the set() method.
- implemented_properties: List[str] = ['energy', 'forces', 'stress']
Properties calculator can handle (energy, forces, …)
- read_eigenvalues()[source]
Read Eigenvalues from dftb output file (results.tag). Unfortunately, the order seems to be scrambled.
- read_results()[source]
all results are read from results.tag file It will be destroyed after it is read to avoid reading it once again after some runtime error