Strontium titanate¶
Strontium titanate (SrTiO₃) is the archetypal cubic perovskite (a = 3.913 Å) with three distinct sublattices: Sr at the cube corners (12-coordinated by O), Ti at the body centre (6-coordinated by O, forming a TiO₆ octahedron), and each O bridging two Ti along a linear backbone while being surrounded by four Sr. Every panel below renders the translucent orange TiO₆ octahedra, the motif whose preservation across the disorder ladder drives everything else.
Overview¶
All six regimes at an orthogonal 40 × 40 × 40 Å supercell, rotating in sync. Drag any panel to orbit manually.
g(r) per regime overlaid on a single axis. The dropdown below the plot switches between the six species pairs (Sr-Sr, Sr-Ti, Sr-O, Ti-Ti, Ti-O, O-O):
Reference crystal¶
from ase.io import read
atoms_ref = read('structures/SrTiO3.cif') # 1 Sr + 1 Ti + 3 O
Supercell¶
SrTiO₃ has two real chemical bonds: short covalent Ti–O
(1.96 Å, the TiO₆ octahedron) and longer ionic Sr–O (2.77 Å, the
SrO₁₂ cuboctahedron). The Sr–Sr / Ti–Ti / Sr–Ti peaks at a =
3.91 Å are pure lattice separations through the bonded bridge atoms.
Since 2026-05 the auto-filter in
CoordinationShellTarget.from_atoms zeroes those lattice-artefact
pairs automatically (any pair whose pair_peak is not the smallest
in either its row or column), so the explicit
with_bonded_species_pairs(...) chain below is redundant but
harmless. The angle whitelist is still required: the SrO₁₂
cuboctahedron is multi-modal (60° / 90° / 120° / 180°), so no
single-target Sr-centred angle spring would converge.
import tricor as tc
shell_target = (
tc.CoordinationShellTarget.from_atoms(atoms_ref, phi_num_bins=90)
.with_bonded_species_pairs([('Ti', 'O'), ('Sr', 'O')])
.with_angle_triplets([('Ti', 'O', 'O'), ('O', 'Ti', 'Ti')])
)
cell = tc.Supercell.from_atoms(
atoms_ref,
cell_dim_angstroms=(40, 40, 40),
r_max=10, r_step=0.1, phi_num_bins=90,
rng_seed=42,
)
cell.generate(shell_target, grain_size=None) # liquid; see regime pages
The second line, with_angle_triplets(...), silences every
Sr-centered angle spring (and every triplet involving Sr as a
neighbour). Reason: SrO₁₂ is geometrically identical to the Cu-FCC
cuboctahedron, so the O-Sr-O distribution is quadri-modal at
60°/90°/120°/180° and picking any one mode would strain the others.
The Cu FCC regime ladder handles this the same way (angle_weight = 0, all angles dropped); SrTiO₃ does it per-triplet so the TiO₆
octahedron’s single-mode 90° and the Ti-O-Ti 180° backbone angles
can still be enforced.
The Sr atoms are held in place by 12 Sr-O bond-distance springs each, not by an angle spring. Combined with the repulsion wall this is sufficient to preserve the SrO₁₂ geometry under relaxation.
Disorder regimes¶
Preset summary¶
Regime |
|
|
|
|
|
|
|---|---|---|---|---|---|---|
liquid |
200 |
- |
0.10 |
0.0 |
1.0 |
0.020 |
amorphous |
300 |
- |
0.50 |
0.4 |
1.1 |
0.008 |
short-range order |
350 |
14.0 |
1.0 |
0.7 |
1.2 |
0.005 |
medium-range order |
400 |
22.0 |
1.0 |
0.7 |
1.2 |
0.002 |
long-range order |
450 |
28.0 |
1.0 |
0.7 |
1.2 |
0.0015 |
nanocrystalline |
500 |
35.0 |
1.0 |
0.7 |
1.2 |
0.001 |
SRO through NC share the same bond + angle weights (1.0 / 0.7, the
FIRE sweet spot for SrTiO₃ at this density). The order ladder is
built by progressively growing the grain (14 → 22 → 28 → 35 Å) and
the relaxation budget (350 → 400 → 450 → 500 steps) while tightening
displacement_sigma (0.005 → 0.001). Pushing weights past 1.0 / 0.7
saturates and then reduces the count of detected TiO₆ octahedra by
20–30 % — the angle springs over-constrain and conflict with the
remaining cuboctahedral O-Sr-O modes.
hard_core_scale=1.10 (shared) enforces a ~1.65 Å minimum Ti-O
separation (below the 1.96 Å Ti-O bond but well above 1.5 Å) and a
~3.7 Å minimum Sr-Sr / Ti-Ti separation that lets the cuboctahedral
SrO₁₂ network re-form during FIRE. Dropping the wall to 1.0 cuts
the octahedra count 5–10 ×. nonbond_push_scale=0.75 (shared)
keeps the second-shell gap clean.
The Ti-centred 90° (O-Ti-O) and 180° (Ti-O-Ti) angle springs hold the
TiO₆ octahedra together; the Sr-centred cuboctahedron is held by its
12 Sr-O bond-distance springs alone (the explicit
with_angle_triplets([('Ti','O','O'), ('O','Ti','Ti')]) whitelist
silences every Sr-centred angle, since the O-Sr-O distribution is
quadri-modal at 60° / 90° / 120° / 180°).
The benchmark ladder (rng seed 42, 40 Å cell, 0.18 / 18° octahedra detector, 1026 Ti atoms) walks ≈ 1 (amorphous) → 107 (SRO) → 266 (MRO) → 360 (LRO) → 490 (NC) detected TiO₆ octahedra, a monotonic 0 % → 48 % progression.