Beam Configuration#
The beam configuration input data is to be in the following format:
Member Lengths (L)#
A vector of the lengths of each member.
Dimension: N x 1, where N is the number of members.
Units: m
Flexural Rigidity (EI)#
The flexural rigidity for each member. Currently, each member is considered as prismatic.
Dimension: N x 1
Units: kNm2
Restraints (R)#
A vector of restraints for each node, as defined by the ends of each member. Each node has 2 degrees of freedom, vertical deflection and rotation, in that order, for each node. Restraint for a degree of freedom is indicated by a “-1” value. Unrestrained degrees of freedom are indicated by a “0” value. Supports with a stiffness (kN/m or kNm/rad) are indicated by a positive value of the stiffness, k: i.e. “+k”
Dimension: 2`N` x 1
Units: kN/m or kNm/rad or None
Load Matrix (LM)#
A List of Lists representing the applied loads. Each entry is a single load descriptor whose length depends on the load type:
|------|——|--------|———| | 1 | UDL | [span, 1, w] | 3 | | 2 | Point Load | [span, 2, P, a] | 4 | | 3 | Partial UDL | [span, 3, w, a, c] | 5 | | 4 | Moment Load | [span, 4, M, a] | 4 | | 5 | Trapezoidal (full) | [span, 5, w1, w2] | 4 | | 5 | Trapezoidal (partial) | [span, 5, w1, w2, a, c] | 6 |
Load Types:
1 - Uniformly Distributed Loads, which only have a load value.
2 - Point Loads, located at a from the left end of the span.
3 - Partial UDLs, starting at a for a distance of c (i.e. the cover) where $L >= a+c$.
4 - Moment Load, located at a.
- 5 - Trapezoidal Load, linearly varying from w1 to w2.
Full span: [span, 5, w1, w2] — w1 at the left end, w2 at the right end. Partial: [span, 5, w1, w2, a, c] — w1 at position a, w2 at position a + c, where $L geq a+c$.
Dimension: M rows (one per applied load), with 3–6 columns per row depending on load type.
Units: kN, kN/m, and metres.
Prescribed Displacements (D)#
An optional vector of prescribed nodal displacements (settlements), one entry per degree of freedom. Use None for DOFs where the displacement is unknown (the default), and a float for DOFs whose displacement is known (e.g. a support settlement).
Fixed supports (R = -1) default to zero displacement unless overridden by D.
Spring supports (R > 0) can also have a prescribed displacement; in that case the spring force is k_s × δ and is reported in beam_results.Rs.
Constraint: a DOF cannot simultaneously have a spring (R > 0), a prescribed displacement (D[i] ≠ None), and a non-zero consistent nodal load — this combination is physically inconsistent and analyze() will raise a ValueError.
Dimension: 2`N+2` x 1 (same length as R)
Units: m (vertical DOFs), rad (rotational DOFs)
Element Types (eleType)#
Each member can be one of several element types, depending on the presence of hinges in the beam.
Note that at a hinge, only one of the members meeting at that node should have a pinned end.
The element types are given by an index:
1 - fixed-fixed
2 - fixed-pinned
3 - pinned-fixed
4 - pinned-pinned
Dimension: N x 1
Units: N/A