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

POST
https://api.pilecalc.com/v1/buckling
GET
/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.

FieldTypeRequiredConstraints
unitSystem"si" | "us"yes
pileobjectyes
soilobjectyes
headFixity"free" | "fixed-rotation" | "pinned" | "fixed"nodefault "free"
tipFixity"free" | "fixed-rotation" | "pinned" | "fixed"nodefault "free"
incrementsnumbernointeger, 20 – 800
eigenTolerancenumberno0 – 0.0001
maxEigenIterationsnumbernointeger, 20 – 5000
meshConvergenceTolerancenumberno0 – 0.1

Response fields

FieldTypeDescription
criticalLoadnumberSmallest positive elastic buckling eigenvalue, compression positive.
methodobjectStable method ID, designation, and generalized eigenproblem.
method.editionstringVersioned PileCalc formulation used by this result.
method.axialForceDistributionstringDeclares that the eigenproblem uses constant compression over the full pile length.
method.foundationBasisstringDeclares the explicitly linear Winkler support basis.
convergenceobjectEigen residual/change and independent fine/coarse mesh evidence.
convergence.residualnumberNormalized residual of the transformed symmetric eigenpair.
convergence.meshRelativeDifferencenumberRelative critical-load difference between full and half-resolution meshes.
modeShape[]object[]Signed first eigenmode, normalized to max |y| = 1.
modeShape[].depthnumberNode depth below the pile head.
modeShape[].ynumberNormalized signed lateral displacement.
modeShape[].rotationnumberSigned mode rotation per unit normalized displacement.

Code examples

A complete, runnable request. Replace YOUR_API_KEY (or set PILECALC_API_KEY in your environment).

POST /v1/buckling
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

  • criticalLoad is 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

This is one sparse banded eigenanalysis at two mesh resolutions. There is no perturbation load, bracketing bound, amplification cutoff, or repeated nonlinear load search.