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.8792 -0.00774036 0.0176635;
                         0.0136458  10.8646 0.00202875;
                         -0.00628731 0.0166269   10.858]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.13126383147 │           │   0.0460288 │    0.189536 │   -0.074 │  907ms │
│   1 │ -10.13479281649 │           │   0.0464914 │    0.180939 │     0.13 │ 46.3ms │
│   2 │ -10.15495973492 │     -1.70 │   0.0308713 │    0.842923 │     -0.8 │ 5.34ms │
│   3 │ -10.18610487950 │     -1.51 │   0.0119442 │    0.275837 │    0.016 │ 5.04ms │
│   4 │ -10.18884823503 │     -2.56 │    0.009908 │    0.170672 │    0.081 │ 4.96ms │
│   5 │ -10.18926794026 │     -3.38 │  0.00971509 │   0.0823254 │    -0.06 │ 4.90ms │
│   6 │ -10.18965358903 │     -3.41 │  0.00962629 │   0.0427926 │   -0.009 │ 4.87ms │
│   7 │ -10.19001230881 │     -3.45 │  0.00862374 │    0.120945 │    0.088 │ 5.06ms │
│   8 │ -10.19143824186 │     -2.85 │  0.00589487 │     0.16552 │    -0.11 │ 4.90ms │
│   9 │ -10.19378923809 │     -2.63 │  0.00485373 │    0.068923 │   -0.059 │ 4.99ms │
│  10 │ -10.19391314725 │     -3.91 │  0.00484686 │   0.0208872 │    0.018 │ 5.09ms │
│  11 │ -10.19395733789 │     -4.35 │  0.00498031 │   0.0232656 │  -0.0029 │ 4.98ms │
│  12 │ -10.19424101116 │     -3.55 │  0.00422418 │    0.107468 │    -0.09 │ 4.88ms │
│  13 │ -10.19467988945 │     -3.36 │  0.00366234 │   0.0814071 │    0.025 │ 4.84ms │
│  14 │ -10.19488409653 │     -3.69 │  0.00363887 │   0.0496337 │    0.016 │ 4.87ms │
│  15 │ -10.19495929345 │     -4.12 │  0.00355155 │   0.0291369 │   -0.026 │ 4.90ms │
│  16 │ -10.19498467599 │     -4.60 │  0.00349232 │  0.00906539 │    0.003 │ 4.86ms │
│  17 │ -10.19502985618 │     -4.35 │  0.00320399 │   0.0316837 │    0.026 │ 4.84ms │
│  18 │ -10.19522242781 │     -3.72 │  0.00229553 │   0.0664138 │   -0.055 │ 4.82ms │
│  19 │ -10.19543288293 │     -3.68 │  0.00177154 │   0.0156704 │   -0.011 │ 4.88ms │
│  20 │ -10.19544301538 │     -4.99 │  0.00174012 │  0.00882913 │   0.0074 │ 4.83ms │
│  21 │ -10.19544871365 │     -5.24 │  0.00169003 │  0.00936218 │  -0.0044 │ 4.91ms │
│  22 │ -10.19548711463 │     -4.42 │  0.00146528 │   0.0313737 │   -0.021 │ 4.83ms │
│  23 │ -10.19552483773 │     -4.42 │  0.00114442 │   0.0431512 │    0.019 │ 4.88ms │
│  24 │ -10.19556722040 │     -4.37 │   0.0012174 │    0.018236 │   0.0016 │ 4.88ms │
│  25 │ -10.19558283632 │     -4.81 │  0.00120212 │   0.0082172 │  -0.0082 │ 4.85ms │
│  26 │ -10.19558523884 │     -5.62 │  0.00119297 │   0.0040402 │   0.0031 │ 4.87ms │
│  27 │ -10.19559571569 │     -4.98 │  0.00113461 │   0.0166729 │   0.0076 │ 4.88ms │
│  28 │ -10.19564013797 │     -4.35 │ 0.000649101 │   0.0323489 │   -0.028 │ 4.90ms │
│  29 │ -10.19566768566 │     -4.56 │ 0.000748044 │  0.00607011 │   -0.002 │ 4.87ms │
│  30 │ -10.19566956937 │     -5.72 │ 0.000755932 │  0.00448284 │   0.0036 │ 4.85ms │
│  31 │ -10.19567143450 │     -5.73 │  0.00075679 │  0.00566046 │  -0.0049 │ 4.85ms │
│  32 │ -10.19567943455 │     -5.10 │ 0.000632409 │   0.0100404 │  -0.0038 │ 4.81ms │
│  33 │ -10.19568919186 │     -5.01 │ 0.000499808 │   0.0247187 │    0.014 │ 4.82ms │
│  34 │ -10.19570132428 │     -4.92 │ 0.000541042 │  0.00908426 │  -0.0021 │ 4.84ms │
│  35 │ -10.19570427901 │     -5.53 │ 0.000453441 │  0.00242101 │  -0.0023 │ 4.84ms │
│  36 │ -10.19570468559 │     -6.39 │  0.00045167 │  0.00287193 │   0.0026 │ 4.81ms │
│  37 │ -10.19570786203 │     -5.50 │ 0.000499347 │  0.00986997 │   0.0013 │ 4.73ms │
│  38 │ -10.19571903041 │     -4.95 │ 0.000362376 │   0.0140563 │   -0.012 │ 4.77ms │
│  39 │ -10.19572221238 │     -5.50 │ 0.000437581 │   0.0024354 │  0.00018 │ 4.82ms │
│  40 │ -10.19572268507 │     -6.33 │ 0.000432429 │  0.00185541 │   0.0015 │ 4.81ms │
│  41 │ -10.19572326529 │     -6.24 │ 0.000414756 │  0.00431742 │  -0.0033 │ 4.80ms │
│  42 │ -10.19572442462 │     -5.94 │ 0.000386155 │  0.00496496 │  0.00046 │ 4.85ms │
│  43 │ -10.19572773193 │     -5.48 │ 0.000213431 │    0.010119 │   0.0071 │ 4.83ms │
│  44 │ -10.19572989085 │     -5.67 │ 0.000146767 │  0.00319124 │  -0.0018 │ 4.89ms │
│  45 │ -10.19573024598 │     -6.45 │ 0.000178771 │ 0.000507392 │ -0.00049 │ 4.89ms │
│  46 │ -10.19573029459 │     -7.31 │ 0.000171371 │  0.00114352 │   0.0011 │ 5.01ms │
│  47 │ -10.19573059211 │     -6.53 │  0.00011477 │  0.00291539 │ -0.00041 │ 26.9ms │
│  48 │ -10.19573126356 │     -6.17 │  7.28173e-5 │  0.00270993 │  -0.0019 │ 5.07ms │
│  49 │ -10.19573135101 │     -7.06 │  7.21271e-5 │ 0.000704215 │  0.00028 │ 4.96ms │
│  50 │ -10.19573137697 │     -7.59 │  7.09824e-5 │ 0.000432188 │  0.00017 │ 4.94ms │
│  51 │ -10.19573139305 │     -7.79 │  6.82698e-5 │ 0.000609777 │ -0.00043 │ 4.96ms │
│  52 │ -10.19573140994 │     -7.77 │  6.41506e-5 │ 0.000808904 │  0.00034 │ 4.93ms │
│  53 │ -10.19573154592 │     -6.87 │  4.42652e-5 │  0.00143087 │   0.0011 │ 4.89ms │
│  54 │ -10.19573163006 │     -7.07 │  4.98548e-5 │ 0.000625677 │ -0.00056 │ 4.90ms │
│  55 │ -10.19573164530 │     -7.82 │  4.72377e-5 │ 0.000157044 │  -4.1e-5 │ 4.90ms │
│  56 │ -10.19573165352 │     -8.08 │   5.0234e-5 │ 0.000543308 │  0.00051 │ 4.97ms │
│  57 │ -10.19573170555 │     -7.28 │   5.4341e-5 │  0.00114438 │ -0.00052 │ 4.84ms │
│  58 │ -10.19573181566 │     -6.96 │  3.31986e-5 │  0.00107026 │ -0.00052 │ 4.82ms │
│  59 │ -10.19573183183 │     -7.79 │  3.42392e-5 │ 0.000618709 │  0.00035 │ 4.92ms │
│  60 │ -10.19573184151 │     -8.01 │  3.50716e-5 │ 0.000245602 │   9.3e-6 │ 4.87ms │
│  61 │ -10.19573184517 │     -8.44 │  3.37714e-5 │ 0.000231278 │ -0.00014 │ 4.86ms │
│  62 │ -10.19573184990 │     -8.32 │  3.17851e-5 │ 0.000510779 │  0.00035 │ 4.86ms │
│  63 │ -10.19573188396 │     -7.47 │  2.01916e-5 │ 0.000540938 │  0.00026 │ 4.83ms │
│  64 │ -10.19573189337 │     -8.03 │  1.72581e-5 │ 0.000217189 │  -0.0002 │ 4.85ms │
│  65 │ -10.19573189452 │     -8.94 │  1.69519e-5 │  5.15191e-5 │   8.0e-6 │ 4.84ms │
│  66 │ -10.19573189580 │     -8.89 │  1.60325e-5 │ 0.000186855 │  0.00016 │ 4.83ms │
│  67 │ -10.19573190192 │     -8.21 │  1.60824e-5 │ 0.000465705 │ -0.00029 │ 4.80ms │
│  68 │ -10.19573191357 │     -7.93 │  1.43123e-5 │ 0.000371054 │  -8.2e-5 │ 4.83ms │
│  69 │ -10.19573191836 │     -8.32 │  1.53421e-5 │ 0.000350135 │  0.00025 │ 4.82ms │
│  70 │ -10.19573192064 │     -8.64 │  1.60719e-5 │ 0.000105516 │  -3.4e-5 │ 4.81ms │
│  71 │ -10.19573192148 │     -9.08 │   1.6129e-5 │  8.66948e-5 │  -3.9e-5 │ 4.82ms │
│  72 │ -10.19573192419 │     -8.57 │  1.45059e-5 │ 0.000402339 │  0.00034 │ 4.85ms │
│  73 │ -10.19573193678 │     -7.90 │    1.145e-5 │ 0.000320784 │   4.8e-5 │ 4.82ms │
│  74 │ -10.19573193945 │     -8.57 │  1.01061e-5 │ 0.000112915 │  -9.4e-5 │ 4.85ms │
│  75 │ -10.19573193969 │     -9.61 │  9.87623e-6 │  3.01211e-5 │   1.8e-5 │ 4.84ms │
│  76 │ -10.19573194013 │     -9.36 │  9.61961e-6 │   9.7021e-5 │   5.4e-5 │ 4.87ms │
│  77 │ -10.19573194126 │     -8.95 │   6.7312e-6 │ 0.000236681 │ -0.00013 │ 4.93ms │
│  78 │ -10.19573194251 │     -8.90 │  4.28911e-6 │ 0.000120015 │   2.2e-5 │ 4.91ms │
│  79 │ -10.19573194353 │     -8.99 │  3.12066e-6 │  9.02205e-5 │   7.2e-5 │ 4.87ms │
│  80 │ -10.19573194368 │     -9.83 │  3.14815e-6 │  2.21301e-5 │  -1.3e-5 │ 4.85ms │
│  81 │ -10.19573194370 │    -10.54 │  3.33877e-6 │   1.3812e-5 │  -2.6e-6 │ 4.85ms │
│  82 │ -10.19573194378 │    -10.13 │   2.6656e-6 │  6.22092e-5 │   5.6e-5 │ 4.80ms │
│  83 │ -10.19573194402 │     -9.62 │  1.56758e-6 │  4.61568e-5 │  -6.5e-6 │ 4.88ms │

Final structure:

silicon
FlexibleSystem(Si₆₄, periodicity = TTT):
    cell_vectors      : [ 10.8619 1.03954e-05 6.61971e-05;
                         -1.11359e-05  10.8619 0.000143242;
                         -7.08399e-05 -0.000154938  10.8619]u"Å"