Name

DFTBDirectory — Class for representing a DFTB parameter file directory.

Synopsis

Namespace: NanoLanguage
DFTBDirectory(path)

Description

Constructor for the DFTB directory parser.

DFTBDirectory Arguments

path

The path of the directory to read files from.

DFTBDirectory Methods

A DFTBDirectory object provides the following methods:

Usage Examples

Set up a self-consistent tight-binding calculation using parameters in the format developed by the DFTB 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 dftb parameters

basis_set = DFTBDirectory("dftb")

pair_potentials = DFTBDirectory("/dftb")

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
    )

dftb.py

Notes

  • A set of DFTB parameters can be obtained from the DFTB consortium.

  • VNL can auto detect parameters stored in the directory atkpython/share/tightbinding/dftb in the ATK installation directory.

  • To perform a spin-polarized calculation with the DFTB parameters you must use the atomic spin-polarization splitting W from the built-in database (see the section called “Spin polarization”).