Repository navigation
Add the CADET-Process characterization workbench - #3
Merged
Merged
Conversation
Closed
hannahlanzrath
force-pushed
the
characterization-workbench
branch
from
September 28, 2026 13:56
c7522fd to
db531d8
Compare
…constants for hardware units - Simulator picks the output time step per process (the smallest of 1 s, cycle time / 5000 and shortest section / 20, at most 20000 points per cycle), so pulses lasting seconds are resolved; used by run_process, parameter estimation and the h5 export. - Optimization results carry the final Pareto front (pareto_front), also after a cancel. - The parameter-estimation preview can update lazily (auto_preview). - cadetprocessadapter lists the configurable hardware units with seed values (CONFIGURABLE_UNITS, UNIT_SEED_DEFAULTS).
hannahlanzrath
force-pushed
the
characterization-workbench
branch
from
October 7, 2026 07:17
8be5277 to
931146c
Compare
…and chain steps - Study: components with roles, measurements (Comparison: recipe, experimental trace, calibration) and chain steps (StepSetup) that fit CADET-Process characterization stages; accepted results go into a ParameterStore with provenance and feed later steps. - characterization_guide maps lab experiments onto it: experiment types, the default chain (extra-column volume, column packing, particle transport, binding, capacity) and species transfers; step_checks is the single source of step readiness. - process_builder builds processes from saved recipes; experimental_data reads generic and ÄKTA/Unicorn CSV exports (delimiter, decimal comma, metadata lines); starting_values supplies standard starting values per binding model and process template. - Synthetic two-step example chain with its generator.
…on workbench; lab-scale defaults - Lab-scale defaults: 0.5 cm x 5 cm column, 1 mL/min, 10 min cycle, 1 mL standalone CSTR; a slow test checks every template and experiment type peaks or breaks through inside its cycle. - Shared building blocks: SidebarShell (groups, warnings, show listeners), bench_root, glossary/help helpers, FlowRateSection; ConfigurationWidget gains snapshot(), select_models() and standard starting values that survive form rebuilds; InstrumentWidget edits the study's components and highlights units. - CharacterizationWorkbenchWidget: Setup (one card per chain step, the current one open), System, Measurements (add flow, measured trace preview, removal from steps), one page per step (measurements, variables, optimizer, live fit plot, Pareto candidates, accept), Parameters and a Guide (workflow, lab checks, optimizers, glossary). - Both benches take include= and prebuilt widgets; excluded panes are not built.
The parameter-estimation example CSVs come from a deterministic generator (examples/generate_example_data.py) and fit without entering values first.
hannahlanzrath
force-pushed
the
characterization-workbench
branch
from
October 7, 2026 08:25
931146c to
a1a019b
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Depends on #2 (base-gui) — this diff is only the incremental addition on top.
CharacterizationWorkbenchWidget: a staged, sidebar-navigated replication of a chromatography-characterization pipeline (system periphery → column bed porosity/dispersion → particle transport → binding/adsorption → capacity), each stage a joint multi-experiment fit againstCADETProcess.characterization, chained so an accepted stage's result seeds the next.ParameterHistoryWidget: provenance — which experiment(s) determined which parameters, with the optimizer, objective and configuration hash, and a "re-apply" action.cadetgui/sensitivity.py: a finite-difference parameter-sensitivity/identifiability diagnostic (not yet wired into a widget).examples/characterization.ipynbplus synthetic example data (examples/data/characterization/,examples/generate_characterization_example_data.py) exercising each stage with a known "true" answer.Test plan
ruff checkcleanpytest -m "not slow": 637 passedpytest -m slow: 12 passedcharacterization.ipynbexecuted end-to-end viajupyter nbconvert --execute