Constructor for the Hotbit directory parser.
A HotbitDirectory object provides the following methods:
pairPotentials(configuration): Query function for getting the pair potentials.
The configuration defining which elements to load.
Type: MoleculeConfiguration | BulkConfiguration | DeviceConfiguration | None
table(configuration): Query function for getting the SlaterKosterTable representation of the
parameter files in the directory.
The configuration defining which elements to load.
Type: MoleculeConfiguration | BulkConfiguration | DeviceConfiguration | None
Set up a self-consistent tight-binding calculation using parameters in the format developed by the Hotbit consortium.
# Set up a graphene crystal
bulk_configuration = BulkConfiguration(
bravais_lattice=Hexagonal(2.4612*Angstrom, 6.709*Angstrom),
elements=[Carbon, Carbon],
cartesian_coordinates=[[ 0. , 0. , 0. ],
[ 1.2306 , 0.71050145, 0. ]]*Angstrom
)
# setup slater-koster calculator with hotbit parameters
basis_set = HotbitDirectory("hotbit/standard")
pair_potentials = HotbitDirectory("hotbit/standard")
numerical_accuracy_parameters = NumericalAccuracyParameters(
k_point_sampling=(4, 4, 1) )
calculator = SlaterKosterCalculator(
basis_set=basis_set,
pair_potentials=pair_potentials,
numerical_accuracy_parameters=numerical_accuracy_parameters,
)
initial_velocity = MaxwellBoltzmannDistribution(
temperature=1000.0*Kelvin
)
method = VelocityVerlet(
time_step=1.0*femtoSecond,
initial_velocity=initial_velocity
)
molecular_dynamics = MolecularDynamics(
bulk_configuration,
constraints=[],
log_filename='trajectory.nc',
steps=50,
log_interval=1,
method=method
)
Details about the Hotbit parameters can be found at the website of the Hotbit consortium.
To perform a spin-polarized calculation with the DFTB parameters you must use
the atomic spin-polarization splitting
from the built-in database
(see the section called “Spin polarization”).