Rowan computes the elastic stiffness tensor of a fully periodic crystal by finite differences of stress with respect to applied strain.
The tensor is a 6×6 matrix in Voigt notation, with the order xx, yy, zz, yz, xz, xy. Shear strains use the engineering convention, so the shear components of a strain vector multiplying this tensor carry a factor of two.
The zero-strain reference is the structure as submitted, so relax it beforehand.
Every stress is measured against that cell, so residual stress propagates into every constant.
Requesting optimize in the same calculation relaxes the cell first and uses the relaxed geometry as the reference.
Each of the six Voigt directions is strained at three magnitudes up to 0.5%, in both signs, which centers the fit. For each deformation, atomic positions are relaxed at fixed cell shape and the stress is computed on the relaxed structure. This gives the relaxed-ion constants, which include internal atomic rearrangement and are comparable to experiment. Skipping the ionic relaxation would give the stiffer clamped-ion values. The engine's k-point grid and cutoffs are pinned to the reference cell so they cannot drift between strains.
Each column of the tensor is then fit by least squares from stress against strain, and the result symmetrized.
Since a polycrystalline sample averages over grain orientations, Rowan also reports the isotropic moduli that average implies: bulk and shear moduli under the Voigt and Reuss bounds and their Hill mean, along with Young's modulus, Poisson's ratio, and Pugh's ratio.
A crystal is mechanically stable only if its stiffness tensor is positive definite, the Born stability criterion. Rowan checks the eigenvalues directly and warns when any is non-positive, reporting cubic crystals against the familiar named conditions and everything else by its offending eigenvalues. This is necessary but not sufficient, since it probes only homogeneous distortions of the cell: a structure can satisfy every Born criterion and still be unstable against a finite-wavevector distortion, which appears instead as an imaginary branch in a phonon calculation.
Crystal symmetry also constrains which components of the tensor can differ. Rowan does not force the fitted tensor onto that form, since doing so would hide the error rather than report it. It instead compares the fit against its point-group-averaged form and warns when the two differ by more than 1%, which points to numerical noise in the strained relaxations.