TiAl structure optimisation
TODO Write some text motivating this example
Setup system:
using AtomsIO
using EmpiricalPotentials
system = load_system(joinpath(pkgdir(EmpiricalPotentials), "data/TiAl-1024.xyz"))
Setup calculator:
using Unitful
using UnitfulAtomic
# Note: These are completely made up parameters,
# please do not use in production
rcut = 5.0u"Å"
zAl = atomic_number(ChemicalSpecies(:Al))
zTi = atomic_number(ChemicalSpecies(:Ti))
emins = Dict( (zAl, zAl) => -1.0u"eV",
(zAl, zTi) => -1.234u"eV",
(zTi, zTi) => -0.345u"eV" )
rmins = Dict( (zAl, zAl) => 2.7u"Å",
(zAl, zTi) => 3.2u"Å",
(zTi, zTi) => 3.0u"Å" )
calc = LennardJones(emins, rmins, rcut)
Minimise energy:
using GeometryOptimization
GO = GeometryOptimization
results = minimize_energy!(system, calc, GO.OptimCG(); maxiters=10, verbosity=1)
Geometry optimisation convergence (in atomic units)
┌─────┬─────────────────┬───────────┬────────────┬────────┐
│ n │ Energy │ log10(ΔE) │ max(Force) │ Δtime │
├─────┼─────────────────┼───────────┼────────────┼────────┤
│ 0 │ +1096.106742193 │ │ 93.6673 │ 5.96s │
│ 1 │ +736.3487865401 │ 2.56 │ 9.6442 │ 417ms │
│ 2 │ +531.3228914401 │ 2.31 │ 4.00447 │ 96.6ms │
│ 3 │ +414.6962113208 │ 2.07 │ 2.11298 │ 168ms │
│ 4 │ +343.0263844183 │ 1.86 │ 2.01753 │ 102ms │
│ 5 │ +290.7527758817 │ 1.72 │ 1.61639 │ 105ms │
│ 6 │ +253.1970333491 │ 1.57 │ 1.23331 │ 395ms │
│ 7 │ +224.3375058040 │ 1.46 │ 0.999094 │ 89.5ms │
│ 8 │ +202.7700356083 │ 1.33 │ 0.744193 │ 107ms │
│ 9 │ +188.2385733447 │ 1.16 │ 0.867713 │ 110ms │
│ 10 │ +178.8767383857 │ 0.97 │ 0.550467 │ 125ms │
┌ Warning: Geometry optimisation not converged.
└ @ GeometryOptimization ~/work/GeometryOptimization.jl/GeometryOptimization.jl/src/optimization.jl:157
Final structure:
results.system
FlexibleSystem(Al₅₁₂Ti₅₁₂, periodicity = TTT):
cell_vectors : [ 21.6648 0 0;
0 21.6648 0;
0 0 31.2377]u"Å"
energy : -108891.754076
config_type : TiAl_T5000