github ccaprani/pycba v0.7.0

6 hours ago

v0.7.0

Features

Trapezoidal (linearly varying) distributed load (#101)

New load type 5 supports linearly varying distributed loads. Full-span form [span, 5, w1, w2] applies intensity w1 at the left end varying to w2 at the right. Partial form [span, 5, w1, w2, a, c] applies the load starting at position a over cover length c. A convenience method BeamAnalysis.add_trap() is also provided.

Coincident load effects on envelopes (#122)

When computing envelopes from a moving vehicle analysis, the co-existing value of the other effect (V or M) at the truck position that caused each envelope extreme is now tracked. New Envelopes attributes: Vco_Mmax, Vco_Mmin, Mco_Vmax, Mco_Vmin. The critical_values() output now includes "Vco" and "Mco" keys. Coincident values are preserved through augment() and zero_like().

Envelope addition (#92)

New Envelopes.sum() method for element-wise addition of compatible envelopes, enabling superposition of load effects from different sources (e.g. patterned UDL + moving vehicle envelopes).

Vehicle traverse range control (#53)

New pos_start and pos_end parameters on BridgeAnalysis.run_vehicle() restrict the vehicle traverse to a specified range. Useful for transverse deck analyses where the vehicle is confined to specific lanes.

Bug Fixes

Influence line IndexError (#89)

Fixed InfluenceLines.get_il() raising IndexError when the point of interest does not fall exactly on the result grid. Root cause was overly tight floating-point tolerance and zero-valued padding indices at span boundaries.

What’s Changed

Don't miss a new pycba release

NewReleases is sending notifications on new releases.