The Curve Fit App

Bilinear / Trilinear Fitting of Force–Deformation Curves

Home
no data loaded
Fitted model
Curve type
%

Override values
points

Load a data file, paste two columns, or pick an example to begin.
Response parameters

Results appear here after fitting.

About the Curve Fit App

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

  1. Load data — two columns (deformation, force) from .txt/.csv/.xlsx, pasted text, or an example. A (0, 0) point is added if missing.
  2. 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”.
  3. Fitted model — choose the idealisation to draw. All parameters in the results panel come from the equal-area procedure regardless of the model shown.
  4. Override values — tick to impose Ke, Fy, Dmax or Dma when automatic detection is poor. A value of 0 means “automatic”.
  5. Pre-processing — optional moving-average smoothing (window in points) and a deformation offset (useful when initial slip or seating gives a soft start).
  6. Check Ke — plots the individual elastic-stiffness estimates so you can judge which is reasonable.
  7. Save — figure as PNG/SVG, or all parameters and plotted curves as CSV.

1. Data preparation

2. Elastic stiffness Ke

Three independent estimates are computed on the capped curve:

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

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:

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

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).