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
results = minimize_energy!(system, calc, OptimCG(); maxiters=10, verbosity=1)
Geometry optimisation convergence (in atomic units)
┌─────┬─────────────────┬───────────┬─────────────┬────────┐
│ n │ Energy │ log10(ΔE) │ max(Force) │ Δtime │
├─────┼─────────────────┼───────────┼─────────────┼────────┤
│ 0 │ +1096.106742193 │ │ 93.6673 │ 2.37s │
│ 1 │ +759.2146774682 │ │ 38.9777 │ 167ms │
│ 2 │ +622.1968295849 │ 2.14 │ 10.8691 │ 149ms │
│ 3 │ +512.9274471938 │ 2.04 │ 3.35485 │ 179ms │
│ 4 │ +403.9790783927 │ 2.04 │ 3.27035 │ 426ms │
│ 5 │ +337.0567526540 │ 1.83 │ 1.29657 │ 120ms │
│ 6 │ +289.9055274614 │ 1.67 │ 2.22107 │ 135ms │
│ 7 │ +251.8014072359 │ 1.58 │ 1.1998 │ 138ms │
│ 8 │ +224.7319048925 │ 1.43 │ 1.15443 │ 130ms │
│ 9 │ +203.7017649518 │ 1.32 │ 0.749834 │ 117ms │
│ 10 │ +189.1882801930 │ 1.16 │ 0.647875 │ 125ms │
┌ Warning: Geometry optimisation not converged.
└ @ GeometryOptimization ~/work/GeometryOptimization.jl/GeometryOptimization.jl/src/minimize_energy.jl:184
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