Silicon variable cell relaxation

In this example we optimise both atomic positions and lattice geometry of a rattled silicon structure using a Stillinger-Weber potential.

We build an initial structure by first rattling the positions and than the lattice geometry:

using AtomsBase
using AtomsBuilder
using LinearAlgebra
using Unitful
using UnitfulAtomic

silicon_posrattle = rattle!(bulk(:Si, cubic=true) * (2, 2, 2), 0.1u"Å")
F = I + 1e-3randn(3, 3)
new_cell_vectors = tuple([F * v for v in cell_vectors(silicon_posrattle)]...)
silicon_rattle = AbstractSystem(silicon_posrattle; cell_vectors=new_cell_vectors)
FlexibleSystem(Si₆₄, periodicity = TTT):
    cell_vectors      : [   10.88 -0.00503503 0.0116169;
                         -0.0072386  10.8606 0.00387413;
                         -0.00320434 0.00522038   10.887]u"Å"

and optimise with variablecell=true

using EmpiricalPotentials
using GeometryOptimization

sw = StillingerWeber()
silicon = minimize_energy!(silicon_posrattle, sw;
                           variablecell=true, verbosity=1, tol_virial=1e-4u"hartree").system
Geometry optimisation convergence (in atomic units)
┌─────┬─────────────────┬───────────┬─────────────┬─────────────┬──────────┬────────┐
│   n │          Energy │ log10(ΔE) │  max(Force) │ max(Virial) │ Pressure │  Δtime │
├─────┼─────────────────┼───────────┼─────────────┼─────────────┼──────────┼────────┤
│   0 │ -10.11612661382 │      1.01 │   0.0469111 │     0.26875 │   -0.089 │  2.53s │
│   1 │ -10.12052659711 │     -2.36 │   0.0444066 │    0.232126 │     0.14 │  544ms │
│   2 │ -10.14640372563 │     -1.59 │   0.0314597 │    0.940617 │    -0.92 │ 4.35ms │
│   3 │ -10.18731257786 │     -1.39 │   0.0146448 │    0.285105 │   -0.021 │ 3.90ms │
│   4 │ -10.18894412979 │     -2.79 │    0.011691 │    0.101186 │    0.062 │ 3.82ms │
│   5 │ -10.18914528380 │     -3.70 │   0.0113293 │   0.0500267 │    -0.04 │ 3.83ms │
│   6 │ -10.18971074862 │     -3.25 │   0.0114105 │   0.0979813 │   -0.027 │ 3.89ms │
│   7 │ -10.19048848336 │     -3.11 │  0.00856655 │    0.179121 │     0.12 │ 3.83ms │
│   8 │ -10.19206861670 │     -2.80 │  0.00585466 │    0.173238 │   -0.084 │ 3.81ms │
│   9 │ -10.19343339600 │     -2.86 │  0.00436887 │   0.0459619 │    -0.04 │ 3.78ms │
│  10 │ -10.19349852064 │     -4.19 │  0.00435749 │   0.0172746 │    0.017 │ 3.75ms │
│  11 │ -10.19356249895 │     -4.19 │  0.00446868 │    0.046337 │  -0.0062 │ 3.78ms │
│  12 │ -10.19415472235 │     -3.23 │  0.00301871 │    0.129204 │    -0.11 │ 3.82ms │
│  13 │ -10.19455478097 │     -3.40 │  0.00332788 │   0.0544791 │    0.017 │ 3.79ms │
│  14 │ -10.19464694331 │     -4.04 │  0.00398414 │   0.0273191 │   0.0091 │ 3.86ms │
│  15 │ -10.19469111194 │     -4.35 │  0.00378563 │    0.027936 │   -0.023 │ 3.80ms │
│  16 │ -10.19472119705 │     -4.52 │  0.00353348 │   0.0208179 │     0.01 │ 3.75ms │
│  17 │ -10.19490865918 │     -3.73 │  0.00306152 │   0.0684033 │    0.043 │ 3.77ms │
│  18 │ -10.19524411222 │     -3.47 │  0.00180911 │   0.0614224 │   -0.051 │ 3.75ms │
│  19 │ -10.19534185424 │     -4.01 │   0.0022053 │    0.010121 │  -0.0044 │ 3.75ms │
│  20 │ -10.19534967576 │     -5.11 │  0.00207072 │   0.0111063 │    0.011 │ 3.77ms │
│  21 │ -10.19537305379 │     -4.63 │  0.00176429 │   0.0262561 │   -0.015 │ 3.79ms │
│  22 │ -10.19546884949 │     -4.02 │  0.00138108 │   0.0358532 │   -0.015 │ 3.79ms │
│  23 │ -10.19551221181 │     -4.36 │  0.00125833 │   0.0436179 │    0.024 │ 3.78ms │
│  24 │ -10.19554181278 │     -4.53 │  0.00115261 │   0.0136271 │  -0.0014 │ 3.78ms │
│  25 │ -10.19554734570 │     -5.26 │  0.00126836 │  0.00513122 │  -0.0034 │ 3.78ms │
│  26 │ -10.19555129528 │     -5.40 │  0.00124297 │   0.0136999 │    0.012 │ 3.78ms │
│  27 │ -10.19560103052 │     -4.30 │  0.00103107 │   0.0339876 │   0.0066 │ 3.78ms │
│  28 │ -10.19563777570 │     -4.43 │ 0.000914896 │   0.0169943 │   -0.013 │ 3.75ms │
│  29 │ -10.19564209561 │     -5.36 │ 0.000915718 │  0.00405801 │   0.0015 │ 3.76ms │
│  30 │ -10.19564577416 │     -5.43 │ 0.000959364 │  0.00772131 │   0.0044 │ 3.79ms │
│  31 │ -10.19565214338 │     -5.20 │ 0.000845904 │   0.0187801 │    -0.01 │ 3.78ms │
│  32 │ -10.19566492713 │     -4.89 │ 0.000675466 │   0.0171681 │   0.0053 │ 3.81ms │
│  33 │ -10.19569463571 │     -4.53 │ 0.000709258 │   0.0133602 │    0.011 │ 3.77ms │
│  34 │ -10.19569828899 │     -5.44 │ 0.000697549 │  0.00333101 │  -0.0022 │ 3.77ms │
│  35 │ -10.19569909332 │     -6.09 │ 0.000637956 │  0.00312549 │ -0.00011 │ 3.77ms │
│  36 │ -10.19570347551 │     -5.36 │ 0.000555464 │   0.0153088 │    0.013 │ 3.74ms │
│  37 │ -10.19571587946 │     -4.91 │ 0.000399756 │   0.0107006 │   -0.002 │ 3.72ms │
│  38 │ -10.19571948682 │     -5.44 │ 0.000416791 │  0.00519955 │  -0.0024 │ 3.80ms │
│  39 │ -10.19572031211 │     -6.08 │ 0.000407777 │  0.00437338 │   0.0032 │ 3.75ms │
│  40 │ -10.19572095677 │     -6.19 │ 0.000384763 │  0.00180595 │ -0.00022 │ 3.74ms │
│  41 │ -10.19572193816 │     -6.01 │ 0.000359105 │  0.00616768 │  -0.0037 │ 3.75ms │
│  42 │ -10.19572572999 │     -5.42 │ 0.000289511 │    0.008917 │   0.0074 │ 3.77ms │
│  43 │ -10.19572939261 │     -5.44 │ 0.000187301 │  0.00203189 │   0.0013 │ 3.77ms │
│  44 │ -10.19572953733 │     -6.84 │ 0.000192774 │  0.00113682 │  -0.0009 │ 3.77ms │
│  45 │ -10.19572963548 │     -7.01 │ 0.000193453 │  0.00147663 │  0.00071 │ 3.74ms │
│  46 │ -10.19573036577 │     -6.14 │  0.00012091 │  0.00479294 │   0.0024 │ 3.92ms │
│  47 │ -10.19573082125 │     -6.34 │  8.34252e-5 │   0.0032312 │  -0.0019 │ 3.90ms │
│  48 │ -10.19573116734 │     -6.46 │  8.24251e-5 │  0.00172864 │   1.8e-5 │ 3.73ms │
│  49 │ -10.19573126507 │     -7.01 │  7.41581e-5 │  0.00053925 │  0.00053 │ 3.88ms │
│  50 │ -10.19573127653 │     -7.94 │   7.2944e-5 │ 0.000382035 │ -0.00027 │ 3.74ms │
│  51 │ -10.19573133622 │     -7.22 │  6.89788e-5 │   0.0014377 │ -0.00037 │ 3.87ms │
│  52 │ -10.19573151368 │     -6.75 │  4.37322e-5 │  0.00162202 │   0.0014 │ 3.87ms │
│  53 │ -10.19573156476 │     -7.29 │  4.03903e-5 │ 0.000288322 │   1.3e-5 │ 3.73ms │
│  54 │ -10.19573157145 │     -8.17 │  4.07221e-5 │ 0.000260034 │ -0.00021 │ 3.90ms │
│  55 │ -10.19573158194 │     -7.98 │  3.98719e-5 │ 0.000678456 │  0.00042 │ 3.90ms │
│  56 │ -10.19573160598 │     -7.62 │  4.10914e-5 │ 0.000620619 │  -5.7e-5 │ 3.73ms │
│  57 │ -10.19573170047 │     -7.02 │  3.76345e-5 │  0.00162499 │  -0.0013 │ 3.89ms │
│  58 │ -10.19573176829 │     -7.17 │  3.88821e-5 │ 0.000592196 │  0.00027 │ 3.88ms │
│  59 │ -10.19573177933 │     -7.96 │  3.88016e-5 │ 0.000126526 │   7.5e-5 │ 3.73ms │
│  60 │ -10.19573178570 │     -8.20 │  3.62019e-5 │  0.00054908 │  -0.0005 │ 3.88ms │
│  61 │ -10.19573183329 │     -7.32 │  3.27118e-5 │  0.00102075 │  0.00012 │ 3.91ms │
│  62 │ -10.19573187454 │     -7.38 │   1.9955e-5 │ 0.000599698 │  0.00033 │ 3.73ms │
│  63 │ -10.19573187914 │     -8.34 │  1.91061e-5 │ 0.000326452 │ -0.00015 │ 4.31ms │
│  64 │ -10.19573188214 │     -8.52 │   1.7912e-5 │ 0.000125159 │  -2.9e-5 │ 4.42ms │
│  65 │ -10.19573188331 │     -8.93 │   1.8128e-5 │ 0.000186835 │  0.00011 │ 4.44ms │
│  66 │ -10.19573188625 │     -8.53 │   1.8175e-5 │ 0.000344558 │ -0.00024 │ 4.44ms │
│  67 │ -10.19573190742 │     -7.67 │  2.16587e-5 │ 0.000309385 │ -0.00024 │ 4.46ms │
│  68 │ -10.19573191099 │     -8.45 │  2.24615e-5 │ 0.000130821 │  0.00011 │ 4.55ms │
│  69 │ -10.19573191176 │     -9.11 │  2.15358e-5 │  8.01631e-5 │  -2.4e-5 │ 4.51ms │
│  70 │ -10.19573191607 │     -8.37 │  2.04657e-5 │ 0.000414508 │ -0.00031 │ 4.44ms │
│  71 │ -10.19573192458 │     -8.07 │  1.40823e-5 │ 0.000523261 │  0.00022 │ 4.44ms │
│  72 │ -10.19573193188 │     -8.14 │  9.51056e-6 │ 0.000259851 │   3.1e-5 │ 4.47ms │
│  73 │ -10.19573193568 │     -8.42 │  1.21412e-5 │ 0.000174139 │ -0.00015 │ 4.51ms │
│  74 │ -10.19573193629 │     -9.22 │  1.24063e-5 │  3.77636e-5 │   2.0e-5 │ 4.45ms │
│  75 │ -10.19573193681 │     -9.28 │  1.08074e-5 │ 0.000117685 │   4.2e-5 │ 4.56ms │
│  76 │ -10.19573193984 │     -8.52 │  7.54653e-6 │ 0.000326476 │ -0.00028 │ 4.58ms │
│  77 │ -10.19573194313 │     -8.48 │  4.33841e-6 │  7.87973e-5 │  -1.9e-5 │ 4.50ms │
│  78 │ -10.19573194332 │     -9.72 │  4.09199e-6 │  3.83202e-5 │   2.7e-5 │ 4.46ms │
│  79 │ -10.19573194338 │    -10.25 │  4.12615e-6 │  2.68321e-5 │  -2.2e-5 │ 49.8ms │
│  80 │ -10.19573194350 │     -9.93 │  3.66934e-6 │  2.75773e-5 │  -8.5e-6 │ 4.08ms │
│  81 │ -10.19573194367 │     -9.76 │  3.05321e-6 │ 0.000105209 │   6.3e-5 │ 3.90ms │
│  82 │ -10.19573194398 │     -9.51 │  1.97976e-6 │  5.37914e-5 │  -2.3e-5 │ 3.85ms │
│  83 │ -10.19573194408 │    -10.00 │  1.35282e-6 │  1.11244e-5 │  -9.7e-6 │ 3.81ms │

Final structure:

silicon
FlexibleSystem(Si₆₄, periodicity = TTT):
    cell_vectors      : [ 10.8619 -1.64462e-05 4.3899e-05;
                         1.79113e-05  10.8619 0.000253047;
                         -4.25881e-05 -0.000247145  10.8619]u"Å"