Overview
The Curve Fit App takes a monotonic (or backbone) force–deformation curve of a structural member, connection or component and idealises it with a bilinear (elastic + hardening) or, when membrane action is present, trilinear (elastic + hardening + membrane) model. It returns the key transition points: elastic stiffness Ke, yield Fy, effective yield Fye, hardening stiffness Ks, membrane-action onset Fma, peak/capping Fmax, Fc, and post-capping stiffness Kpc. Three smooth nonlinear models (Power, Richard–Abbott, Ramberg–Osgood) can also be fitted. Units are those of your data; D is deformation and F is force (or rotation and moment).
Using the app
- Load data — two columns (deformation, force) from .txt/.csv/.xlsx, pasted text, or an example. A (0, 0) point is added if missing.
- Curve type — auto-detected on load: if the curve at 90% of the peak index lies above the secant to the peak it is treated as “w/o membrane action”; otherwise “w/ membrane action”.
- Fitted model — choose the idealisation to draw. All parameters in the results panel come from the equal-area procedure regardless of the model shown.
- Override values — tick to impose Ke, Fy, Dmax or Dma when automatic detection is poor. A value of 0 means “automatic”.
- Pre-processing — optional moving-average smoothing (window in points) and a deformation offset (useful when initial slip or seating gives a soft start).
- Check Ke — plots the individual elastic-stiffness estimates so you can judge which is reasonable.
- Save — figure as PNG/SVG, or all parameters and plotted curves as CSV.
1. Data preparation
- Points with a repeated deformation or force, and points where deformation reverses, are removed.
- Curves with fewer than 1000 points are densified by linear interpolation between consecutive points (step 0.01 over the first 10% of points, 0.1 thereafter) so that the area and stiffness calculations are well resolved.
- The hardening fit uses the curve capped at the peak force; the post-peak branch is used only for capping and post-capping quantities.
2. Elastic stiffness Ke
Three independent estimates are computed on the capped curve:
- 30% method — least-squares slope of the data from the origin up to the first point reaching 0.3 Fmax.
- Secant method — secant stiffness Ksec,i = Fi/Di; the running mean is kept up to the last point where Ksec,i deviates from the mean of the preceding values by 20–25% (or ≥ 20% if none fall in that band).
- Incremental method — incremental stiffness ΔF/ΔD from 0.1 Fmax onward; averaged up to where it deviates from the running mean by 30–40% (or ≥ 30%).
Ke = median(Ke,30%, Ke,sec, Ke,inc)
With membrane action, the 30% method uses 0.3 Fma instead of 0.3 Fmax, the incremental estimate is not used, and Ke is the mean of the remaining two.
3. Yield point
The yield point is where the response first departs from the elastic line F = KeD. Scanning points with F ≥ 0.1 Fmax, the first point with
(KeDi − Fi) / Fi ≥ 0.05
is found, and the point just before it is taken as (Dy, Fy).
4. Peak, capping and post-capping
- (Dmax, Fmax) is the maximum-force point (or the point nearest a user-set Dmax).
- If the curve continues past the peak and ends lower, the peak is also the capping point (Dc, Fc) and
Kpc = (Fmax − Fend) / (Dend − Dc)
The deformation at which the post-peak force first drops below 0.6 Fmax is also reported. (Capping and Kpc require the post-peak branch to extend at least 0.001 and 0.005 deformation units beyond the peak, thresholds set for rotations in radians.)
5. Equal-area hardening slope Ks and effective yield
The hardening line passes through the target point (Dt, Ft) — the peak for curves without membrane action, or the membrane-action onset (Dma, Fma) otherwise:
L2(D) = Ft + Ks(D − Dt)
It intersects the elastic line L1(D) = KeD at D1. Trial slopes Ks = 0, 0.001Ke, … up to max[0.5Ke, (Ft − Fy)/(Dt − Dy)] are tested, and the one making the areas between the idealisation and the data balance is selected:
minKs | ∫DyD1 (L1 − F) dD + ∫D1Dt (L2 − F) dD |
The effective yield point is the intersection of the two lines:
Fye = (Ft − KsDt) · Ke / (Ke − Ks), Dye = Fye / Ke
A tangent hardening slope Ks,tan is also obtained by linear regression of the data over the final ~40% of the hardening branch before the target point (used by the Richard–Abbott model).
6. Membrane action (trilinear)
When membrane action stiffens the response, a third branch runs from the onset point to the peak:
Kma = (Fmax − Fma) / (Dmax − Dma)
The onset Dma is where the curve's convexity flips. The curve is resampled up to the peak and the tangent stiffness Kt is taken from a local linear regression over ±2% of Dmax; the search starts after yield. Options:
- Stiffness recovery (default) — with Kmin the lowest tangent stiffness and Kend the stiffness near the peak, Dma is the last point before the peak with Kt ≤ Kmin + α(Kend − Kmin). Robust on long flat plateaus.
- Lowest tangent stiffness after yield — Dma = argmin Kt (the inflection point).
- Sharpest bend — maximum positive curvature κ = y″ / (1 + y′²)3/2 in normalised axes x = D/Dmax, y = F/Fmax.
- Original — the point farthest below the line from the origin to the peak (as in the desktop app, v1.2511).
If no clear stiffening is found, the original method is used and the results panel says so.
7. Nonlinear models
Each model has one shape exponent n, found by a grid search over n = 0.01 … 20 (step 0.01) minimising Σ|Fdata − Fmodel| at 51 equally spaced points, using the monotonic envelope of the data. The upper bound (Du, Fu) is the peak, or the membrane-action onset for curves with membrane action (unless Dmax is overridden).
Power model (three-parameter; Goldberg & Richard, as used by Kishi & Chen):
F = KeD / [1 + (D/D0)n]1/n, D0 = Fu / Ke
Richard–Abbott model (four-parameter):
F = (Ke − Kp)D / [1 + (D/D0)n]1/n + KpD, Kp = Ks,tan, D0 = (Fu − KpDu) / (Ke − Kp)
Ramberg–Osgood model (deformation as a function of force):
D = Dye (F/Fye) [1 + (F/Fye)n−1], 0 ≤ F ≤ Fu
References
- Elkady, A. (2022). Response characteristics of flush end-plate connections. Engineering Structures, 269, 114856. doi:10.1016/j.engstruct.2022.114856
- Goldberg, J.E. and Richard, R.M. (1963). Analysis of nonlinear structures. J. Structural Division, 89(4).
- Kishi, N. and Chen, W.F. (1990). Moment-rotation relations of semirigid connections with angles. J. Structural Engineering, 116(7).
- Richard, R.M. and Abbott, B.J. (1975). Versatile elastic-plastic stress-strain formula. J. Engineering Mechanics Division, 101(4).
- Ramberg, W. and Osgood, W.R. (1943). Description of stress-strain curves by three parameters. NACA Technical Note 902.
Web version of Fit App v1.2511. Additions relative to the desktop version: selectable membrane-action detection, the membrane-action rules for Ke, and a fallback for Ks,tan (uses Ks when too few points are available).