-
Notifications
You must be signed in to change notification settings - Fork 26
Using the tight binding module from Python
Lars Pastewka edited this page Oct 2, 2015
·
11 revisions
Atomistica's ASE interface exposes a simplified interface to the tight-binding module that can be used for calculations that do not require charge self-consistency. The parameter width determines the electronic temperature. There is an additional parameter database_folder that can be used to specify the location of the Slaster-Koster database. The default is to use the current folder.
from atomistica import TightBinding
...
c = TightBinding(width=0.01)
a.set_calculator(c)
...For self-consistent calculations the native Atomistica interface needs to be used to piece together tight-binding and Coulomb solvers. The Coulomb solver consists of a long-ranged and a short-ranged part. Currently only direct summation is supported for the long-ranged part. The short ranged part can be used to specify either Slater or Gaussian charges.
from atomistica import Atomistica
from atomistica.native import TightBinding, DirectCoulomb, SlaterCharges
c = Atomistica([TightBinding(SolverLAPACK = dict(electronic_T = 0.01),
SCC = dict(dq_crit = 1e-4,
mixing = 0.1,
andersen_memory = 4,
maximum_iterations = 250,
log = True)),
DirectCoulomb(),
SlaterCharges(cutoff=10.0)],
avgn = 1000)
a.set_calculator(c)