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
- Format Python code with psf/black push (#129) @github-actions[bot]
- Add coincident load effects to Envelopes (#128) @ccaprani
- Add trapezoidal (linearly varying) distributed load type (#127) @ccaprani
- Add pos_start/pos_end to BridgeAnalysis.run_vehicle() (#126) @ccaprani
- Add Envelopes.sum() for element-wise envelope addition (#125) @ccaprani
- Fix InfluenceLines.get_il() IndexError for arbitrary poi values (#124) @ccaprani