pycba.foundation#

PyCBA - beam on elastic (Winkler) foundation.

A foundation member (PyCBA uses “member” and “span” interchangeably for the element between two nodes) is modelled as a super-element: internally it is meshed into n Euler-Bernoulli sub-elements, each carrying the standard consistent Winkler foundation stiffness, and the internal nodes are statically condensed out so the member still presents the usual two-node (4-DOF) stiffness to the global assembly. Applied-load handling and the per-sub-element member-result recovery are inherited from PyCBA’s existing Euler-Bernoulli machinery, so no per-load-type closed forms are re-derived; accuracy improves with mesh refinement and the mesh defaults to the foundation characteristic length. (This internal meshing mirrors the super-element used by the nonlinear analysis.)

Supported in this version: prismatic, fixed-fixed (default eletype) members without shear flexibility (GAv), carrying UDL, point-load and partial-UDL loads. Other combinations raise a clear error.

Functions

auto_subdivisions

Number of sub-elements for a foundation member: at least per_wave per characteristic length, clipped to [n_min, n_max].

characteristic_length

Winkler characteristic length \(\lambda = (4 EI / k_f)^{1/4}\).

Classes

FoundationElement

Beam-on-elastic-foundation super-element for one prismatic member.