fix: add volume functions for Corning 96-well flat and V-bottom plates#902
Conversation
|
did you verify these results on a physical machine? we find that the geometry based approach is not always accurate (due to surface tension and such) |
|
No physical verification yet — these are based on Corning's published dimensions and geometric modeling. The computed max volumes match Corning's published specs (365.8 µL vs 360 µL for flat-bottom, 319.97 µL vs 320 µL for V-bottom). I agree geometry alone won't capture surface tension effects. I plan to do empirical validation on Tecan EVO. If you have access to another lh, please let me know. I'd gladly validate those too. Would you prefer to hold this PR until I have bench data? |
|
yes, we find that physically validating these height <> volume functions is important because the geometrical approach is unfortunately not super accurate. |
|
happy to proceed with merging Cor_96_wellplate_320ul_Vb based on the technical drawing in the meantime if you want to do that |
|
Yes, please merge. |
Summary
Adds proper geometry-based volume-from-height and height-from-volume functions for two Corning 96-well plates, using dimensions from Corning's MicroplateDimensions technical drawing.
Changes
height_volume_functions.py: New compute_volume_from_height_conical_frustum_in_well() and inverse. Interpolates radius at liquid height for tapered wells.
corning/plates.py: Added volume functions to Cor_96_wellplate_360ul_Fb using frustum geometry (top 6.86mm, bottom 6.35mm). New Cor_96_wellplate_320ul_Vb for standard V-bottom 96-well (cat. 3894/3896) with cone+cylinder geometry. Deprecation stub for old Cos_96_Vb name.
Verification
Flat-bottom max volume: 365.8 uL (Corning published: 360 uL, 1.6% from rounded nominal). V-bottom max volume: 319.97 uL (Corning published: 320 uL). All round-trips accurate to <0.01mm / <0.01uL.
Data sources: Corning MicroplateDimensions96-384-1536.pdf, Opentrons shared-data JSON, Corning e-catalog.