DFTB
On this page, I have given the input files which I have used for studying both cluster and periodic systems, using DFTB+. Use these input files with caution, and kindly check the inputs before running any serious calculations.
For Cluster Calculations:
In the below example, I have given the DFTB3 input for a Graphene Quantum Dot.
input.xyz (see below) and all the *.SKF files (get from DFTB.org) are required to run the calculation.
Graphene Quantum Dots example
Graphene Quantum Dots example
###################################################################
###################################################################
Geometry = {
#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
TypeNames = {
"C" "H"
}
#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
TypesAndCoordinates[Angstrom] = {
<<< input.xyz
}
#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Periodic = No
}
###################################################################
###################################################################
Driver = ConjugateGradient {
#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
MovedAtoms = {
1:-1
}
#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
MaxForceComponent = 1E-4
MaxSteps = 1000
OutputPrefix = "geom.out"
AppendGeometries = Yes
ConvergentForcesOnly = Yes # means no need to converge SCC charge
#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Constraints = {}
}
###################################################################
###################################################################
Hamiltonian = DFTB {
Charge = 0.0000000000000000
ReadInitialCharges = No
InitialCharges = {}
SCC = yes
SCCTolerance = 1.0000000000000001E-005 # should be 10^(-5) by default
MaxSCCIterations = 1000
OrbitalResolvedSCC = No # can't be used with DFTB3
#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
ThirdOrder = No # Keep ThirdOrderFull = YES if you want DFTB3. This keyword is not required.
ThirdOrderFull = YES
DampXHExponent = 4 # from C-C.skf of DFTB3
DampXH = YES
HubbardDerivs{
C = -0.1492 # from C-C.skf of DFTB3
H = -0.1857 # from C-C.skf of DFTB3
}
#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
SpinPolarisation = {}
Eigensolver = DivideAndConquer {}
ElectricField = {}
Dispersion = {}
#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
SlaterKosterFiles = Type2FileNames {
Prefix = "./"
Separator = "-"
Suffix = ".skf"
LowerCaseTypeName = No
}
#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
MaxAngularMomentum = {
C = "p"
H = "s"
}
#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Mixer = Broyden {
MixingParameter = 0.20000000000000001
CachedIterations = -1
InverseJacobiWeight = 1.0000000000000000E-002
MinimalWeight = 1.0000000000000000
MaximalWeight = 100000.00000000000
WeightFactor = 1.0000000000000000E-002
}
#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Filling = Fermi {
Temperature[Kelvin] = 100.0000000000000000
}
#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
PolynomialRepulsive = {} # Use it if you don't want to use SPLINES
OldRepulsiveSum = No
OldSKInterpolation = No
}
###################################################################
###################################################################
Options = {
# MullikenAnalysis = Yes
# CalculateForces = Yes
WriteBandOut = Yes
WriteDetailedOut = Yes
WriteResultsTag = Yes # needed for most of the post processing tools
WriteDetailedXML = Yes # needed for wfn plots
WriteAutotestTag = No
WriteEigenvectors = No
AtomResolvedEnergies = No
RandomSeed = 0
WriteHS = No
WriteRealHS = No
MinimiseMemoryUsage = No
ShowFoldedCoords = No
}
###################################################################
###################################################################
ParserOptions = {
ParserVersion = 4
WriteHSDInput = Yes
WriteXMLInput = No
StopAfterParsing = No
IgnoreUnprocessedNodes = No
}
###################################################################
###################################################################
Analysis = {
ProjectStates = {}
}
Example of input.XYZ file
input.xyz
1 0.017056 0.000000 -0.043090
1 0.022455 0.000000 1.372235
1 1.248979 0.000000 2.083459
1 2.474815 0.000000 1.369980
1 2.476853 0.000000 -0.046223
1 1.245807 0.000000 -0.755947
1 3.715305 0.000000 2.086837
1 3.689787 0.000000 3.492490
1 2.484158 0.000000 4.215085
1 1.248346 0.000000 3.501471
1 0.013371 0.000000 4.216521
1 0.040329 0.000000 5.632419
1 1.246622 0.000000 6.313697
1 2.452893 0.000000 5.630285
1 -1.208674 0.000000 -0.751897
1 -1.216108 0.000000 2.091008
1 -2.448378 0.000000 -0.032970
1 -2.422110 0.000000 1.370702
1 4.919304 0.000000 1.360337
1 3.700279 0.000000 -0.760205
1 4.942864 0.000000 -0.045090
1 -1.190931 0.000000 3.495357
1 -3.653730 0.000000 -0.752895
1 -1.215268 0.000000 -2.167799
1 1.242589 0.000000 -2.173502
1 3.700722 0.000000 -2.176693
1 6.144982 0.000000 -0.771863
1 -2.441076 0.000000 -2.875374
1 0.013730 0.000000 -2.880229
1 2.468530 0.000000 -2.884478
1 -3.680104 0.000000 -2.157372
1 6.166042 0.000000 -2.178117
1 4.923333 0.000000 -2.890675
1 -4.886543 0.000000 -2.876816
1 -2.449282 0.000000 -4.293208
1 0.009032 0.000000 -4.301171
1 2.465971 0.000000 -4.305451
1 4.923507 0.000000 -4.308477
1 7.367968 0.000000 -2.905087
1 -4.914403 0.000000 -4.280306
1 -3.680317 0.000000 -4.997044
1 -1.221150 0.000000 -5.002753
1 1.236296 0.000000 -5.008468
1 3.692716 0.000000 -5.012195
1 6.149783 0.000000 -5.019945
1 7.386514 0.000000 -4.309856
1 -6.129908 0.000000 -5.007132
1 -6.121950 0.000000 -6.392556
1 -3.685911 0.000000 -6.424166
1 -1.227277 0.000000 -6.435430
1 1.232594 0.000000 -6.442092
1 3.691150 0.000000 -6.444652
1 6.147323 0.000000 -6.446034
1 8.595081 0.000000 -5.045263
1 8.581357 0.000000 -6.430757
1 -4.929727 0.000000 -7.100189
1 -2.459930 0.000000 -7.111520
1 0.001110 0.000000 -7.119656
1 2.460196 0.000000 -7.124708
1 4.918750 0.000000 -7.127197
1 7.385519 0.000000 -7.130448
2 9.564732 0.000000 -4.503609
2 8.332071 0.000000 -2.352869
2 7.108909 0.000000 -0.219227
2 5.882354 0.000000 1.914560
2 4.651674 0.000000 4.048608
2 3.407365 0.000000 6.198263
2 1.248105 0.000000 7.425005
2 -0.914998 0.000000 6.198678
2 -2.152963 0.000000 4.051184
2 -3.383164 0.000000 1.928208
2 -4.614862 0.000000 -0.195518
2 -5.846776 0.000000 -2.317881
2 -7.095947 0.000000 -4.459349
2 -7.085778 0.000000 -6.945775
2 -4.948536 0.000000 -8.210703
2 -2.464718 0.000000 -8.222586
2 -0.001636 0.000000 -8.230787
2 2.459163 0.000000 -8.235809
2 4.917890 0.000000 -8.238249
2 7.396461 0.000000 -8.241070
2 9.542609 0.000000 -6.988318
MD (NVT) input:
dftb_md_input.hsd
###################################################################
###################################################################
Geometry = {
#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
TypeNames = {
"H" "C" "O" "S"
}
#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
TypesAndCoordinates[Angstrom] = {
<<< input.xyz
}
#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Periodic = No
}
###################################################################
###################################################################
Driver = VelocityVerlet{ #}ConjugateGradient {
#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
MovedAtoms = {
1:-1
}
#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Steps = 1000 #number of MD steps to perform
KeepStationary = Yes # Remove translational motion from the system
TimeStep = 4.1341374576 # 1 fs = 41.341374576 in au
Thermostat = {
NoseHoover = {
Temperature[Kelvin] = 300.0
# Temperature [Kelvin] = TemperatureProfile { # Temperatures in K
# constant 1 10.0 # Setting T=10 K for the 0th MD-step
# linear 500 600.0 # Linearly rising T in 500 steps up to T=600 K
# constant 2000 600.0 # Constant T through 2000 steps
# exponential 500 10.0 # Exponential decreasing in 500 steps to T=10 K
# }
CouplingStrength = 0.002175490 # = 3000 Cm-1; 1 Cm-1 = 0.725163330219952E-06 a.u.
}
}
OutputPrefix = "geom.out"
MDRestartFrequency = 1 # Writes geom and vel at each step
# Thermostat = {
# None = {
# InitialTemperature[Kelvin] = 300
# }
# }
# Barostat = {
# }
ConvergentForcesOnly = Yes # means no need to converge SCC charge
# MaxForceComponent = 1E-4
# MaxSteps = 1000
# OutputPrefix = "geom.out"
# AppendGeometries = Yes
# ConvergentForcesOnly = Yes # means no need to converge SCC charge
#
##!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
# Constraints = {}
}
###################################################################
###################################################################
Hamiltonian = DFTB {
Charge = 0.0000000000000000
ReadInitialCharges = No
InitialCharges = {}
SCC = yes
SCCTolerance = 1.0000000000000001E-005 # should be 10^(-5) by default
MaxSCCIterations = 1000
OrbitalResolvedSCC = No # can't be used with DFTB3
#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
ThirdOrder = No # Keep ThirdOrderFull = YES if you want DFTB3. This keyword is not required.
ThirdOrderFull = YES
DampXHExponent = 4 # from C-C.skf of DFTB3
DampXH = YES
HubbardDerivs{
H = -0.1857 # from H-H.skf of DFTB3
C = -0.1492 # from C-C.skf of DFTB3
O = -0.1575 # from O-O.skf of DFTB3
S = -0.1100 # from S-S.skf of DFTB3
}
#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
SpinPolarisation = {}
Eigensolver = DivideAndConquer {}
ElectricField = {}
Dispersion = {}
#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
SlaterKosterFiles = Type2FileNames {
Prefix = "./"
# Prefix = "/scratch/syamija2/Softwares/dftb/parameters/3ob-3-1/"
Separator = "-"
Suffix = ".skf"
LowerCaseTypeName = No
}
#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
MaxAngularMomentum = {
H = "s"
C = "p"
O = "p"
S = "d"
}
#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Mixer = Broyden {
MixingParameter = 0.20000000000000001
CachedIterations = -1
InverseJacobiWeight = 1.0000000000000000E-002
MinimalWeight = 1.0000000000000000
MaximalWeight = 100000.00000000000
WeightFactor = 1.0000000000000000E-002
}
#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Filling = Fermi {
Temperature[Kelvin] = 100.0000000000000000
}
#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
PolynomialRepulsive = {} # Use it if you don't want to use SPLINES
OldRepulsiveSum = No
OldSKInterpolation = No
}
###################################################################
###################################################################
Options = {
# MullikenAnalysis = Yes
# CalculateForces = Yes
WriteBandOut = Yes
WriteDetailedOut = Yes
WriteResultsTag = Yes # needed for most of the post processing tools
WriteDetailedXML = Yes # needed for wfn plots
WriteAutotestTag = No
WriteEigenvectors = No
AtomResolvedEnergies = No
RandomSeed = 0
WriteHS = No
WriteRealHS = No
MinimiseMemoryUsage = No
ShowFoldedCoords = No
}
###################################################################
###################################################################
ParserOptions = {
ParserVersion = 4
WriteHSDInput = Yes
WriteXMLInput = No
StopAfterParsing = No
IgnoreUnprocessedNodes = No
}
###################################################################
###################################################################
Analysis = {
ProjectStates = {}
}