Shear Angle Strain

Group: Lattice | Class: ShearAngleCard

What the card does

Sample angular shear by changing alpha, beta, and gamma while preserving lattice-vector lengths. Each channel has an independent minimum, maximum, and step in degrees, interpreted as offsets from the input angle.

\[\alpha'=\alpha+\Delta\alpha,\quad \beta'=\beta+\Delta\beta,\quad \gamma'=\gamma+\Delta\gamma\]
\[\mathbf{C}'=\mathrm{cellpar\_to\_cell}(a,b,c,\alpha',\beta',\gamma')\]

Example workflow

Scenario: The model fails on a monoclinic phase but not an orthogonal one

A HfO2 NEP trained only on a high-temperature tetragonal phase performs well there but triples its error on the monoclinic phase, whose beta angle differs from 90 degrees. Nonorthogonal cell geometry is out of domain.

Diagnosis: Cell angles change the Cartesian projection of lattice vectors and therefore interatomic-distance distributions. Add controlled nonorthogonal cells so target angles are interpolated rather than extrapolated.

Input: Relaxed tetragonal HfO2 with alpha = beta = gamma = 90 degrees.

Objective: Scan beta offsets from -6 to +6 degrees in 2-degree steps.

Parameters:

  • alpha_range = [0, 0, 1] (one zero offset)

  • beta_range = [-6, 6, 2]

  • gamma_range = [0, 0, 1] (one zero offset)

Output: Seven structures with beta offsets -6, -4, -2, 0, +2, +4, and +6 degrees and unchanged lattice lengths.

How to verify that training-set quality improved:

  • After labeling and retraining, error on held-out monoclinic references should decrease.

  • Check output volumes. Angles change vector projections even at fixed lengths, so define and verify an acceptable volume change for the study.

  • If other angular directions remain inaccurate, add alpha and gamma scans deliberately.

  • If offsets beyond ±10 degrees produce implausible geometry, narrow the range to the material’s intended phase space.

When to add this card

Add it when:

  • Training covers only high-symmetry cells while target phases are monoclinic or triclinic

  • Angle-dependent properties such as piezoelectric or elastic response are inaccurate

  • Angle and length effects need to be isolated

Do not add it when:

  • The intended system remains high symmetry and angular deviations are not physically relevant

  • Lengths and angles should vary stochastically together; use Lattice Perturb

  • Shear should be parameterized by matrix components; use Shear Matrix Strain

Parameters

Alpha Range(alpha_range)

tuple[float, float, float], default (-2.0, 2.0, 1.0). Alpha-offset scan as [min,max,step] in degrees. Final angle equals input plus offset. Use [0,0,1], not a zero step, for an inactive channel.

Beta Range(beta_range)

tuple[float, float, float], default (-2.0, 2.0, 1.0). Beta offsets with the same syntax; use [0,0,1] when inactive.

Gamma Range(gamma_range)

tuple[float, float, float], default (-2.0, 2.0, 1.0). Gamma offsets with the same syntax; use [0,0,1] when inactive.

Output count is Nalpha × Nbeta × Ngamma. Three default five-point channels produce 125 structures; halving every step multiplies that by eight. Begin with one channel.

Identify Organic(identify_organic)

bool, default false. Enable molecular protection for molecular crystals so angular cell changes do not distort intramolecular bonds. Leave disabled for purely inorganic systems.

Recommended presets

Single-angle scan (beta only, ±4 degrees, step 1)

{
  "class": "ShearAngleCard",
  "check_state": true,
  "alpha_range": [0, 0, 1],
  "beta_range": [-4, 4, 1],
  "gamma_range": [0, 0, 1],
  "identify_organic": false
}

Two-angle coverage (beta and gamma, ±3 degrees, about 49 outputs)

{
  "class": "ShearAngleCard",
  "check_state": true,
  "alpha_range": [0, 0, 1],
  "beta_range": [-3, 3, 1],
  "gamma_range": [-3, 3, 1],
  "identify_organic": false
}

Three-angle scan (alpha, beta, gamma, ±5 degrees, step 2, about 216 outputs)

{
  "class": "ShearAngleCard",
  "check_state": true,
  "alpha_range": [-5, 5, 2],
  "beta_range": [-5, 5, 2],
  "gamma_range": [-5, 5, 2],
  "identify_organic": false
}

Recommended combinations

  • Lattice Strain -> Shear Angle Strain: add angular shear after length strains

  • Shear Angle Strain -> Atomic Perturb: add coordinate fluctuations after angular distortion

  • Use angle and matrix shear as distinct, complementary deformation paths

Common questions

No output. Every step must be positive. Use [0,0,1] for an inactive channel.

Output explodes. Three channels form a Cartesian product. Start with one channel and estimate the product before adding others.

Volume changes with angle. This follows from changed vector projections at fixed lengths. If the change exceeds the intended range, reduce angular offsets.

The lattice approaches singularity. Excessive angles can make the cell matrix degenerate. Check its determinant and narrow the range.

Output labels

Ang(a={da}°,b={db}°,g={dg}°); only nonzero channels are included.

Reproducibility

Deterministic: all angles are scanned on a fixed grid.