Bristol Composites Institute
Curvature-to-stress prediction for 3D-printed flax/PLA hygromorph strips: 72 specimens, 10 batches, a test-set leak found and killed, and a paper on why the shape transfers and the scale does not.

Hygromorphs
Continuous flax fibre in a PLA matrix, 3D printed as thin strips. Flax swells with moisture, so the strips bend as the humidity changes: a passive actuator, and a route to structures that morph without motors. The question I was given was the inverse one. Given the shape a strip has taken, what surface stress is it carrying? Over the summer I humidity-conditioned, bagged and labelled 72 specimens, which turned out later to come from 10 manufacturing batches, wrote the risk assessment for the tensile work, and built the dataset both models below were trained on.


The lab
Every specimen was imaged on all four sides on a Zeiss AXIO Zoom.V16, stitched from tiles in ZEN into scans up to 8192 pixels wide, then pulled to failure on a Shimadzu tensile machine while a camera on an arm tracked its curvature under an LED panel. Force and stroke from the machine, curvature from the camera, the stitched scans as model input: that was the raw material. Lab photos from 30 June and 14 August 2025.





v1: a CNN that looked right
The first model took the four microscope orientations as input and produced the stress plot directly: a ResNet18 encoder into a U-Net decoder, image in, image out. The predictions looked plausible against ground truth and the summer ended there. When I came back to it and rebuilt the evaluation properly, with frozen splits and a research-grade protocol, the first thing it found was a test-set leak. The score that had looked good was not measuring generalisation. I killed it and started again from the physics.

v2: the shape transfers, the scale does not
v2 is a physics-structured coordinate MLP: stress as a function of curvature change and position along the strip, not of pixels, evaluated leave-one-batch-out. The map factorises, σ ≈ α · m(Δκ, s). Divide each specimen's field by its own scale α and all 72 collapse onto one master curve, pooled R² 0.92, and the shape transfers to a batch the model has never seen, scale-free r² 0.82. The scale does not. α spans 30 to 50 times across the dataset, about a third of that variance sits between batches, and geometry explains only about 7 percent: the scatter is real material modulus. Point prediction is R² 0.69 with the batch seen and roughly zero with it held out, for every method I tried, DANN and GroupDRO included. Capacity was not the lever.





One probe recovers the scale
No covariate I could compute recovered the gain: conditioning time, thickness, width, microscope curvature, image texture, none of them. One physical measurement does. Calibrate on a specimen's own first frames of low-load ramp and unseen-batch R² climbs from 0.42 at five frames to 0.67 at ten and 0.74 at twenty. A single force-stroke stiffness reading ranks α at Spearman 0.75, against 0.11 with no measurement. A simulation calibrated to the data says more batches would not have saved the point estimate, R² still near zero at 30 batches, while a calibrated interval is within 10 percent of its floor by about five. So the honest deliverable is an interval: a surrogate posterior-predictive band with at least 0.80 coverage on all ten held-out batches, where pooled conformal collapses to 0.55.



Fields
The quantity itself: surface stress over position along the strip and curvature, one field per specimen. A few things the fields taught me. The pipeline reproduces its own saved figures from raw data at SSIM 0.94. The single scalar curvature I had been feeding the model throws away a real local variation along each strip, median amplitude about 70 percent of the mean and genuine in 67 of 72 specimens; feeding the local profile instead cut best validation RMSE from 0.896 to 0.638 MPa. And the stiff batch, 81c to 89c, survives geometry correction at 6.7 times, so it stayed in the dataset as a real batch rather than being dropped as an outlier.









Paper
Written up as a full paper in July 2026: The Shape Transfers, the Scale Does Not. A Leakage-Free Benchmark and a Calibrated-Interval Deliverable for Curvature-to-Stress Prediction in Flax/PLA Hygromorph Biocomposites. The protocol, frozen splits and experiment ledger go with it as a reusable small-batch benchmark. The conclusion in one line: the relationship is universal, only its gain is unknown, and the gain is a per-specimen material property you have to measure. One probe of the specimen recovers it; no number of batches or amount of model capacity does.