← Desmond Brown, Work

← Selected work

Strain

Design & engineering

A Python toolkit that converts raw Universal Testing Machine exports into stress–strain analyses: Young's modulus, ultimate strength and failure strain, with automatic column detection, unit handling, multi-sample comparison and publication-quality plots.

When2025
StackPython, NumPy, pandas, Matplotlib
Linksgithub.com/kali-physi-hacker/strain

Universal Testing Machines export data in whatever format the vendor chose: different column names, different units, different delimiters, sometimes a header block that is not quite a header. Strain exists so that a materials lab can go from that export to a defensible analysis without a spreadsheet ritual.

What it does

  • Detects the load and displacement columns automatically and normalises units before any arithmetic happens.
  • Computes Young's modulus, ultimate strength and failure strain with explicit, inspectable methods.
  • Compares multiple samples on the same axes and exports publication-quality PNG and SVG plots with Matplotlib.
Terminal output of the strain command showing its help and a run over a UTM export
Strain in the terminal: help text and a run over an exported test.

Why it matters to me

I am finishing a degree in Electrical & Electronics Engineering, and Strain came out of lab work where the analysis step was slower and less reproducible than the test itself. It is a small tool with a clear contract, which is the kind of software I like to keep around.