Classroom use
Share the worksheet and three raw CSVs first. Allow about 10 minutes to plot and calculate resolution, 15–20 minutes to integrate, 10 minutes for response correction and 5–10 minutes to discuss the result note. For a shorter session, provide the plots and ask pairs to compare the two Case B splits.
1. Resolution and the combined trace
Each Gaussian has σ = 0.35 min, so its tangent-based baseline width is 1.40 min. The Gaussian tails extend beyond that width. With the same width for both components, Rs is the center separation divided by 1.40 min.
| Case | ΔtR (min) | Rs | Combined maxima |
|---|---|---|---|
| A | 2.10 | 1.500 | Two |
| B | 0.80 | 0.571 | One broad maximum, at about 3.05 min on the sampled grid |
| C | 2.10 | 1.500 | Two, with the later maximum taller |
The two component signals add in Case B and overlap enough to produce one maximum in the sum. The component retention times used in the calculation come from the simulation. Counting maxima in an unknown detector trace cannot establish the number of components. [IUPAC peak resolution, IUPAC peak widths]
2. Trapezoids and integration boundaries
In Case A, the raw readings at 3.00 and 3.01 min are 1.40780212 and 1.40724395 AU. Subtracting 0.040 AU from both and integrating that one interval gives 0.01367523035 AU·min. Sum the full set of intervals from the CSV without rounding intermediate values.
| Case | Split (min) | Left (AU·min) | Right (AU·min) | Total (AU·min) | Left (%) |
|---|---|---|---|---|---|
| A | 4.05 | 1.19946 | 0.80054 | 2.00000 | 59.97 |
| B | 3.30 | 1.02642 | 0.97358 | 2.00000 | 51.32 |
| B | 3.50 | 1.26467 | 0.73533 | 2.00000 | 63.23 |
| C | 4.05 | 1.20054 | 1.59946 | 2.80000 | 42.88 |
Moving the split in Case B transfers about 0.23824 AU·min from the right window to the left. The left share rises by 11.91 percentage points. Both choices cover exactly the same intervals over the run. With substantial overlap, the two areas are assigned window areas of the combined signal. Either window can contain contributions from both components.
If totals are 2.32 and 3.12 AU·min, check baseline subtraction. The 0.040 AU baseline contributes 0.32 AU·min over 8.00 min.
3. Response correction and amount
In Case C, the left window has 42.88% of the signal area even though the underlying mixture is identical to Case A. The model doubles the area produced per nanomole of component 2. Dividing the two assigned areas by their respective factors gives about 1.20054 nmol and 0.79973 nmol. Their ratio gives 60.02 mol% component 1.
The generating amounts are 1.20 and 0.80 nmol in all three cases. The exact generating mole fraction is 60.00%. Small tail contributions cross the split in Case C, which explains the difference between the window-based estimate and the model truth. Real quantitation needs a validated response model over the relevant range, adequate separation or a justified deconvolution, and a method appropriate for the sample and analytes. [NIST, Principles of Quantitation]
4. Assess the result note
I subtracted a 0.040 AU baseline and split Case B at 3.30 and 3.50 min. Moving the split increased the left-window share from 51.32% to 63.23%, while the total stayed at 2.000 AU·min. In Case C, approximate component areas from a 4.05 min split and the supplied linear response factors gave an estimated 60.02 mol% component 1.
Check that the student labels the plotted axes, uses the model component times for resolution, counts each integration interval once, describes the overlapping areas as window assignments, and reports the response-corrected estimate separately from area percentage. For calculations on the supplied grid, 0.01 AU·min and 0.1 percentage points are reasonable marking tolerances.
Reproduce the data
The model defines each component’s integrated area as ki × ni. Its signal is that area times a unit-area Gaussian centered at its supplied retention time. The CSV contains the sum of both signals plus 0.040 AU, rounded to eight decimal places. Each file has the same 0.01 min grid.
Signal(t) = 0.040 + Σ [kini / (σ√(2π))] × exp[−(t − tR,i)² / (2σ²)].
Download the standard-library Python generator. From the lesson directory, run python3 simulate.py --output regenerated-data. The command writes the three traces to a separate directory.