HPA is a browser-only tool for analyzing hydrogen permeation data in the browser. It is meant for people who have a transient current trace, want to compare the common textbook evaluation methods, and also want to see whether the data are self-consistent with a simplified one-dimensional Fickian membrane model.
The workflow is simple: paste or upload the data, confirm the current unit and membrane thickness, check the baseline and steady-state references, inspect the plot and results, then export what you need. Nothing is sent to a backend and the file stays in your browser.
Quick start
- Paste a two-column file or use File Upload.
- Set the input current unit so HPA knows how to read the second column.
- Enter the membrane thickness in mm.
- Check the baseline and steady-state references, then drag them on the plot if needed.
- Use the results cards to compare the classical methods, the inverse Fickian solve, and the global transient fit.
- Export PNG, SVG, or the processed data table when you are done.
Input
HPA is strict about the input format because the analysis only makes sense when the file is unambiguous. Each row must contain exactly two numeric values: time first, current second. One sample belongs on each line, and header rows are not allowed.
- Accepted separators are tab, semicolon, whitespace, and comma.
- The decimal separator can be dot or comma, but a single file should use one style consistently.
- Paste and file upload use the same parser, so both paths accept the same layout rules.
- Extra text, comments, mixed delimiters, or extra columns usually cause parsing to fail.
- If parsing fails, HPA reports the lines it could not understand and reminds you to keep the file to two numeric columns.
Most failed imports come from one of three things: a header row, mixed decimal styles, or a file that contains more than just time and current values.
Controls and plot
The Current unit tells HPA how to interpret the uploaded current column. The Current display unit controls how current values are shown in the data preview, exports, reference fields, and the plot when Signal representation is set to Current. The Signal representation switch only changes how the right-axis transient is drawn: either in current units or as the normalized response.
- Supported current units are A, mA, μA, nA, and pA.
- The membrane thickness is entered in mm. It matters because all diffusion coefficients scale with
L2, so a unit mistake changes every result by a large factor.
- The baseline and steady-state fields define the normalization used by the analysis. If they are left blank, HPA starts from the minimum and maximum values in the loaded data.
- You can type baseline and steady-state values manually, or drag the reference lines directly on the plot while Signal representation is set to Current. In normalized mode the reference guides stay fixed at 0% and 100%, so the values remain editable from the Baseline panel.
- The Start Time Offset control shifts the trace before analysis. A positive offset reconstructs a dense baseline segment before the transient and moves the measured data forward. A negative offset removes early time and shifts the remaining data back to zero.
- Plot Options let you change the signal representation, choose the current display unit, choose colors for the main lines, decide how inverse-conditioning-based low-confidence diffusion segments are drawn, turn grid lines and minor grid lines on or off, and switch the diffusion axis between linear and logarithmic scaling.
- The Reset button restores the default plot view. The Hide/Show buttons toggle the reference markers without deleting their values.
The plot itself is interactive. You can zoom and pan it directly, then use Reset to return to the default view. In current mode, dragging the baseline or steady-state line updates the corresponding value and reruns the analysis.
Smoothing
Smoothing is experimental. The input smoother changes the active series that analysis reads, while the output smoother only changes how the apparent diffusivity is shown and exported.
- Savitzky-Golay is a centered local polynomial smoother. It is fast and shape-preserving, so it is a good first choice when the time steps are regular or close to regular.
- LOWESS is a local regression smoother with distance weighting. It is more robust to irregular spacing and local noise, but it is slower than Savitzky-Golay.
- Smoothing spline fits a smooth curve through the input while penalizing roughness. It can work well on coarse or uneven traces, but stronger settings can flatten sharp transients.
- Polynomial fits one global polynomial to the full trace. It is simple and easy to try, but higher degrees can oscillate and distort the curve if the trace is long or noisy.
- The short tooltips on each dropdown repeat the one-line version of these tradeoffs so you do not have to open Help every time.
- If output smoothing is enabled, the preview table and CSV export show both the raw and smoothed
Dapp values. When positive t0 is used, both also show whether a row is measured data or reconstructed prepended baseline.
Results
HPA first normalizes the measured current with
y(t) = (I(t) - I0) / (Iss - I0)
where I0 is the baseline current and Iss is the steady-state current. That normalized curve is the common basis for the classical methods, the inverse solve, and the global fit. Changing the plot representation does not change these calculations; it only changes how the transient is displayed on the right axis.
Dapp(t) is an apparent coefficient, not a claim about the true lattice diffusion constant. It is the constant D that the simplified 1D Fickian membrane model would need in order to reproduce the measured transient at that time point.
- Breakthrough uses the 9.6% normalized criterion: HPA finds when the baseline-corrected transient reaches 9.6% of the steady-state span and linearly interpolates that crossing time between the surrounding measured points. The reported value is shown for reference, but the diagnostic confidence and the global-fit seed do not use it because breakthrough remains less reliable than the other evaluation methods for this transient.
- Time Lag can use either the Analytic 61.7% crossing from the ideal planar Fickian solution or the Historic 63% crossing widely used in the permeation literature. The selected button changes every place HPA uses the time-lag threshold, including diagnostics and global-fit seeding. See 10.1098/rspa.1920.0034 for the analytic solution and 10.1149/1.2425894 for the historic 63% convention.
- Inflection Point uses the maximum-slope point of the normalized curve and evaluates
DIP from the normalized slope at that point. It is only useful when the curve has one clear inflection.
- Inverse Fickian inverts the ideal Fickian response point by point to produce
Dapp(t). HPA shades low-confidence regions where the inverse problem is poorly conditioned, then reports an average value when a stable middle window is robust enough.
- Global Transient Fit fits one constant
D for the current Start Time Offset slider value. Optimize DGTF runs a slower full-range search for the best total t0 and refitted D by RMSE, then applies that total offset to the slider.
The low-confidence shade is a practical proxy, not a new physics claim. A useful intuition is f(x) = 1 / (1-x): as x approaches 1, the inverse blows up, so the flat tail is less trustworthy.
The preview table shows Dapp in mm²/s for readability and includes an Origin column that distinguishes measured rows from reconstructed prepended baseline. The CSV export writes Dapp in m²/s, adds a D_app confidence label so external tools can separate trusted rows from the low-confidence inverse region, and includes the measurement-aligned simulated measurement from DGTF.
Export
- Preset, Width, and Height control the publication export layout. The presets seed paper-friendly dimensions, and manual edits switch the export to Custom.
- PNG saves the current plot as an image using the selected export dimensions and recalculated layout.
- SVG saves the current plot as a vector graphic using the same selected export dimensions and layout.
- Data exports the processed table with time, origin,
Dapp, a D_app confidence label, and measurement-aligned DGTF values in the currently selected signal representation. In Current mode, both signal columns are exported in the chosen current unit; in Normalized mode, both are exported as normalized response values. If output smoothing is enabled, the export also includes the smoothed Dapp column.
The export always reflects the current display settings, including the selected signal representation, current display unit, reference values, and plot view. If you change the plot or the controls, export again to capture the updated state.
Citation
Use the Cite panel to download BibTeX, RIS, or plain-text citation metadata for the latest released HPA version.
The current citeable release is Loading version...: Loading DOI...
Diagnostics
The Experimental: Diagnostics drawer is a self-consistency check, not a proof of the underlying physics. It looks for candidate baseline, steady-state, and t0 settings that make the data more compatible with the simplified model.
- The composite score is a heuristic measure of how self-consistent the selected preprocessing looks. Lower is better.
- Confidence is derived from that score and is meant as a convenience indicator, not as a statistical probability.
- The diagnostic agreement check compares time lag, inflection point, inverse Fickian, and the global fit. Breakthrough is intentionally excluded from that confidence score and from global-fit seeding.
- The top candidates are alternate baseline, steady-state, and time-zero combinations that the diagnostic search tested against the same data.
- Apply Best copies the best candidate into the main controls and reruns the analysis.
- Revert restores the state that existed before diagnostics were run.
Warnings about weak signal, non-monotonic curves, plateau drift, or time-zero sensitivity mean the data or the selected preprocessing are not strongly self-consistent. They do not identify one physical mechanism by themselves, but they do tell you when the textbook methods deserve caution.
Limits and caveats
Dapp is omitted for rows where the normalized value is outside the physical interior of the curve or where the solver cannot produce a valid value.
- The inverse-solve values can hit the solver bounds. When that happens, HPA treats the result as unstable instead of pretending it is meaningful.
- The global fit needs fixed baseline and steady-state values. If those references are not usable, the fit is unavailable.
- The tool does not model trapping, surface kinetics, oxide layers, recombination, or other detailed transport mechanisms. It only evaluates a simplified Fickian membrane picture.
- HPA is local-only. Your pasted data or uploaded file is processed in the browser and is not sent to a backend service.
Use the results as a technical guide, not as a substitute for experimental judgment. If the diagnostic warnings are strong, the best next step is usually to check the file, the unit settings, and the reference levels before trusting a single-number diffusivity.