Inline measurement · Flow and transport
Sampling chamber
A sampling chamber study that tracks how quickly fresh fluid replaces the previous sample near a sensor probe. It includes velocity fields and tracer washout results.
Flow and virtual flushing study completed

Implementation
An axisymmetric Stokes FEM supplies the annular velocity profile and pressure loss. A conservative two-dimensional transport solver tracks the old sample.
The package includes three chamber CAD assemblies, raw response curves, numerical refinement studies and a tracer animation.
The virtual bench couples conservative fluid transport to reversible wall capacity, a mixed inlet volume and sensor lag. Four tolerance corners and a refined worst-corner run verify the selected 600 s flushing decision; the revised assembly and section drawing are included.
Inputs and assumptions
- Full-length 4 mm diameter cylindrical probe in a 20 mm straight annular chamber. Chamber bore diameters are 5, 6 and 8 mm.
- Reference flow 5 mm3/s, viscosity 0.01 Pa s, density 1000 kg/m3 and molecular diffusivity 0.0005 mm2/s.
- t99 means old-sample fraction <=0.01. Probe-region averaging covers z=8 to 12 mm and the first 0.2 mm of liquid outside the probe.
- Final selected variant: 5.050 +/- 0.030 mm chamber bore and 4.000 +/- 0.020 mm probe diameter. The declared slow-retention virtual fixture uses a 600 s flush at 4.5 mm3/s, 0.1 mm equivalent wall-capacity length, 120 s exchange, 20 mm3 inlet mixing and 30 s sensor lag.
Results
Sampling chamber washout
Compare the included analysis results.
| Selected nominal radial clearance | 0.5249999999999999 mm |
|---|---|
| Minimum gap after declared tolerances | 0.5 mm |
| Worst hydraulic pressure in selected envelope | 8.1736 Pa |
| Selected virtual-fixture flush time | 600 s |
| Maximum old fraction after selected flush | 0.006958 |
| Original passive-fluid probe t99 | 39.58 s |
Report figures (4)




Verification
26 executed checks pass, including seven regression tests, annular-flow benchmarks, tracer mass balance, three spatial grids and two time steps. Additional virtual bench: 29 checks; 162 dimensional/operating cases; six coupled response cases; three slow-wall refinement runs; four selected-design corners plus refined worst corner; 20 synthetic instrument readings.
python run.pyDownload the verification record ↓Additional scenarios
29 outcomes checked through synthetic/theoretical. The report lists the expected and observed outcomes for each check.
Read the validation report ↗Project files
The ZIP contains the source, inputs, results, and instructions. These files are also available individually.
- Conservative tracer solvertransport.py · 4 KB
- Axisymmetric flow solverflow.py · 5 KB
- Geometry, fluid and tracer inputsinputs.json · 1 KB
- Original 2.5 mm-radius baseline assembly STEPoutputs/cad/radius-2.5mm-assembly.step · 17 KB
- Section and probe measurement regionoutputs/section.svg · 39 KB
- Spatial and time refinement resultsoutputs/refinement.csv · 1 KB
- Selected response time seriesoutputs/radius-2.5mm-trace.csv · 52 KB
- Tracer washout animationoutputs/tracer-washout.gif · 195 KB
- Physical flushing-test procedureflush-test.md · 2 KB
- Selected reference section and tolerancesoutputs/virtual-bench/selected-section.svg · 51 KB
- Selected design and 600 s flush decisionoutputs/virtual-bench/selected-operating-envelope.json · 1 KB
- Completed virtual-bench verificationcompletion.json · 11 KB
- Wall, inlet and sensor sensitivity sourcevirtual_bench.py · 32 KB
- Synthetic tolerances and instrument inputsvirtual-bench-inputs.json · 1 KB
- Virtual flushing acceptance reportoutputs/virtual-bench/report.html · 19 KB
- Acceptance outcomesoutputs/virtual-bench/acceptance-matrix.csv · 1 KB
- Six response casesoutputs/virtual-bench/response-summary.csv · 2 KB
- Selected tolerance-allowance assembly STEPoutputs/cad/radius-2.525mm-assembly.step · 17 KB
Archive checksum
SHA-256
02e32801d55c32a971485645763c1e47abd26b757a120109b786ae3fce94067dOriginal project scope
Archived brief PDF ↗Run locally
Python 3.12 / CadQuery 2.7.0 / scikit-fem 12.0.2 / NumPy 2.3.5 / SciPy 1.17.0 / Matplotlib 3.10.8 / Pillow
Extract the ZIP and open a terminal in the sampling-chamber folder. The README includes setup and usage details.
python -m pip install -r requirements.txt
python run.py
python test_transport.pyLimits
- Numerical reference results, with no physical flushing experiment performed.
- First-order transport introduces numerical smearing; the reported spatial and time refinements bound sensitivity only for these cases.
- CAD models use nominal geometry and omit seals, mounting hardware, materials and pressure qualification.
- The virtual bench adds linear wall retention, mixed inlet volume and first-order sensor response. They are declared sensitivities, not measured chemistry. Asymmetric fittings and moving bubbles remain outside the resolved geometry.