API: pile buckling
POST /v1/buckling — finite-pile generalized eigenvalue request, convergence metadata, and signed eigenmode.
Solves the smallest positive generalized eigenvalue of a finite Euler–Bernoulli pile on explicitly linear Winkler support. The method and limitations are explained in Pile buckling; the same analysis runs interactively at the buckling tool.
Endpoint
https://api.pilecalc.com/v1/buckling/v1/buckling?key=…&req=…&fields=…(for header-less callers)The request reuses the lateral pile geometry, but the soil profile is restricted toelastic layers or a user layer declaring only a constant linear es. Declare headFixity and tipFixity as free, fixed-rotation, pinned, or fixed. Optional controls set mesh size and convergence tolerances.
Authentication, rate limits, and the error envelope are shared by every endpoint — see the API overview. Requests are unit-agnostic: any self-consistent unit system works, and results come back in the same units. The examples below use SI (m, kN, kPa, kN/m³).
Request fields
This table is generated from the same schema that validates the request, so it cannot drift. Where a field appears once per variant row, it belongs to that variant only.
| Field | Type | Required | Constraints |
|---|---|---|---|
unitSystem | "si" | "us" | yes | |
pile | object | yes | |
soil | object | yes | |
headFixity | "free" | "fixed-rotation" | "pinned" | "fixed" | no | default "free" |
tipFixity | "free" | "fixed-rotation" | "pinned" | "fixed" | no | default "free" |
increments | number | no | integer, 20 – 800 |
eigenTolerance | number | no | 0 – 0.0001 |
maxEigenIterations | number | no | integer, 20 – 5000 |
meshConvergenceTolerance | number | no | 0 – 0.1 |
Response fields
| Field | Type | Description |
|---|---|---|
criticalLoad | number | Smallest positive elastic buckling eigenvalue, compression positive. |
method | object | Stable method ID, designation, and generalized eigenproblem. |
method.edition | string | Versioned PileCalc formulation used by this result. |
method.axialForceDistribution | string | Declares that the eigenproblem uses constant compression over the full pile length. |
method.foundationBasis | string | Declares the explicitly linear Winkler support basis. |
convergence | object | Eigen residual/change and independent fine/coarse mesh evidence. |
convergence.residual | number | Normalized residual of the transformed symmetric eigenpair. |
convergence.meshRelativeDifference | number | Relative critical-load difference between full and half-resolution meshes. |
modeShape[] | object[] | Signed first eigenmode, normalized to max |y| = 1. |
modeShape[].depth | number | Node depth below the pile head. |
modeShape[].y | number | Normalized signed lateral displacement. |
modeShape[].rotation | number | Signed mode rotation per unit normalized displacement. |
Code examples
A complete, runnable request. Replace YOUR_API_KEY (or set PILECALC_API_KEY in your environment).
curl https://api.pilecalc.com/v1/buckling \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"unitSystem": "si",
"pile": {
"kind": "uniform",
"length": 20,
"diameter": 0.61,
"ei": 143000,
"groundSurfaceDepth": 4
},
"soil": {
"layers": [
{
"model": "elastic",
"top": 0,
"bottom": 16,
"gamma": 9,
"esTop": 0,
"esBottom": 12000
}
]
},
"headFixity": "fixed-rotation",
"tipFixity": "fixed",
"increments": 80
}'The GET variant returns criticalLoad,method,convergence as a plain-text CSV line — made for Excel's WEBSERVICE() and Sheets' IMPORTDATA() (see Use PileCalc in Excel). Omit fields to get the full JSON response.
Interpreting results
criticalLoadis an elastic stability limit, not allowable or factored resistance.- The mode sign and amplitude are arbitrary; the API fixes sign deterministically and normalizes max
|y|to one. - The response is returned only after both the eigen residual and the fine/coarse mesh difference satisfy their limits.
- Nonlinear p-y curves are rejected because they require a separately declared reference state and linearization.
- The geometric-stiffness matrix assumes constant compression over the full pile length; variable axial-force distributions from shaft transfer or self-weight are outside this method.
- A zero-stiffness foundation is accepted only when the declared end restraints remove both rigid-body modes.
Deterministic runtime