pycba.vehicle.VehicleLibrary#
- class VehicleLibrary[source]#
Bases:
objectA repository of standard bridge design vehicles, grouped by region.
Access a vehicle through its region namespace:
cba.VehicleLibrary.AU.get_m1600(6.25) # AS 5100.2 road cba.VehicleLibrary.AU.get_300la() # AS 5100.2 rail cba.VehicleLibrary.US.get_hl93_truck() # AASHTO LRFD cba.VehicleLibrary.EU.get_lm71() # Eurocode EN 1991-2 rail cba.VehicleLibrary.UK.get_hb(units=45) # BS 5400 / CS 454 cba.VehicleLibrary.CA.get_cl625() # CSA S6 cba.VehicleLibrary.CN.get_jtg_vehicle() # JTG D60
Each getter returns a
Vehicle(axle point loads). Where a code pairs the vehicle with a lane / distributed load, that value is given in the getter’s docstring for use asBridgeAnalysis.run_load_model(..., w_lane=).Regions#
AUAS 5100.2 and the historical NAASRA models (M1600, S1600, A160, W80, 300LA / LA rail, T44, MS18, ABAG assessment trucks).
USAASHTO LRFD (HL-93) and the AREA / AREMA Cooper E rail series.
EUEurocode EN 1991-2 (Load Model 1, rail Load Model 71).
UKBS 5400 / CS 454 (HB abnormal vehicle).
CACSA S6 (CL-625).
CNJTG D60 (standard vehicle).
Methods
A set of moving loads used for validation on a 20 m span against the textbook "Structural and Stress Analysis", 2nd edn., Megson, p.
Plot a vehicle's axles as scaled load arrows along its wheelbase.
- class AU[source]#
Bases:
objectAustralian road & rail loads: AS 5100.2 and the historical NAASRA models.
- abag_bdouble_aw = array([58.86 , 83.385, 83.385, 73.575, 73.575, 73.575, 73.575, 73.575, 73.575])#
- abag_semitrailer_aw = array([ 58.86 , 83.385 , 83.385 , 110.3625, 110.3625, 73.575 ])#
- classmethod get_abag_bdouble(iax)[source]#
One of the Australian Bridge Assessment Guidelines (ABAG) 68.5 t B-double trucks.
- Parameters:
iax (
int) –The 0-based index of the variable axle spacing required:
0: Variable spacings are 5.5 and 6.5 from front
1: Variable spacings are 6.0 and 6.0 from front
2: Variable spacings are 6.5 and 5.5 from front
- Return type:
- classmethod get_abag_semitrailer(iax)[source]#
One of the Australian Bridge Assessment Guidelines (ABAG) 45 t semi-trailer trucks.
- Parameters:
iax (
int) –The 0-based index of the variable axle spacing required:
0: Variable spacing is 4.4 m
1: Variable spacing is 6.4 m
2: Variable spacing is 8.4 m
3: Variable spacing is 10.4 m
- Return type:
- static get_example_permit()[source]#
An example B-double type truck that might seek a network access permit.
- Return type:
- static get_m1600(middle_spacing)[source]#
The AS 5100.2 M1600 load model truck: the notional moving-traffic load, usually critical for short-to-medium spans once the dynamic load allowance is included. Accompanied by a 6 kN/m lane UDL (
w_lane=6).- Parameters:
middle_spacing (
float) – The variable middle axle-group spacing; min. 6.25 m.- Raises:
ValueError – If the spacing is less than the code minimum of 6.25 m.
- Return type:
- static get_s1600(middle_spacing)[source]#
The AS 5100.2 S1600 load model truck: the notional stationary-traffic load, critical for longer spans. Accompanied by a 24 kN/m lane UDL (
w_lane=24).- Parameters:
middle_spacing (
float) – The variable middle axle-group spacing; min. 6.25 m.- Raises:
ValueError – If the spacing is less than the code minimum of 6.25 m.
- Return type:
- static get_a160()[source]#
AS 5100.2 A160 individual axle load (cl 7.2): a single 160 kN axle.
- Return type:
- static get_w80()[source]#
AS 5100.2 W80 individual wheel load (cl 7.2): a single 80 kN wheel.
- Return type:
- static get_la_rail(axle_group_count=10, axle_group_spacing=12, axle_weight=300)[source]#
The AS 5100.2 LA rail load model, including the simulated locomotive. The default 300 kN axle weight is the 300LA; pass
axle_weightfor other variants (e.g. 250, 150).- Parameters:
axle_group_count (int) – The number of axle groups; enough to cover the adverse portion of the influence line for the component being examined.
axle_group_spacing (float) – Centre-to-centre group spacing, min. 12 m, max. 20 m (not a gap).
axle_weight (float) – The nominal axle weight. Default 300 kN (300LA).
- Raises:
ValueError – If the group spacing is outside 12-20 m, or the group count < 1.
- Return type:
- static get_300la(axle_group_count=10, axle_group_spacing=12)[source]#
The AS 5100.2 300LA rail load model (
get_la_rail()with 300 kN axles).- Return type:
- static get_t44(variable_spacing=3.0)[source]#
NAASRA / AUSTROADS T44 design truck (the pre-M1600 Australian road load): a 48 kN steer axle and two tandem groups (4 x 96 kN), 432 kN total. Axles at 3.7 m (steer to first tandem), 1.2 m within each tandem, and a variable 3.0-8.0 m gap between the tandem groups. The companion L44 lane load is 12.5 kN/m plus a 150 kN concentrated load per 3 m lane.
- Parameters:
variable_spacing (
float) – The gap between the two tandem groups, 3.0-8.0 m (default 3.0).- Return type:
- static get_ms18(rear_spacing=4.27)[source]#
NAASRA MS18 design truck - the metric form of the AASHTO HS20-44 truck: three axles of 35.6, 142.3 and 142.3 kN (8 / 32 / 32 kip). The front-to-drive spacing is fixed at 4.27 m; the rear (trailer) spacing is varied 4.27-9.14 m for the worst effect. The companion lane load is 9.34 kN/m plus an 80 kN (moment) / 115 kN (shear) concentrated load.
- Parameters:
rear_spacing (
float) – The variable rear-axle spacing, 4.27-9.14 m (default 4.27).- Return type:
- class US[source]#
Bases:
objectUS road & rail loads: AASHTO LRFD (HL-93) and the AREA Cooper E series.
- static get_hl93_truck(rear_spacing=4.3)[source]#
AASHTO LRFD HL-93 design truck (Art. 3.6.1.2.2): three axles of 35, 145 and 145 kN. The front-to-middle spacing is fixed at 4.3 m; the rear (middle-to-back) spacing is varied 4.3-9.0 m to maximise the effect. HL-93 is the truck (or the tandem, whichever governs) combined with the design lane load (
w_lane=9.3kN/m); the 33% dynamic load allowance applies to the truck only.- Parameters:
rear_spacing (
float) – The variable middle-to-rear axle spacing, 4.3-9.0 m (default 4.3).- Return type:
- static get_hl93_tandem()[source]#
AASHTO LRFD HL-93 design tandem (Art. 3.6.1.2.3): two 110 kN axles at 1.2 m. Combined with the design lane load (
w_lane=9.3kN/m); the heavier of the truck and tandem governs.- Return type:
- static get_cooper(E=80.0)[source]#
AREA / AREMA Cooper E-series rail load: two locomotives in series (each a lead axle, four driving axles and a four-axle tender), conventionally followed by a uniform trailing load. The axle pattern is the standard Cooper E10 reference scaled linearly by the E-number
E(the maximum driving-axle load, in kips); e.g.E=80is the common Cooper E80.Per locomotive the E10 axle loads are 5, 10, 10, 10, 10 (lead + four drivers) and 6.5 x 4 (tender), at spacings 8, 5, 5, 5, 9, 5, 6, 5 ft, with an 8 ft coupling between the two locomotives; values are returned in kN and m. The trailing uniform load is
E/10kip/ft - apply it asw_lane(about1.46 * EkN/m; E80 ~ 117 kN/m).- Parameters:
E (
float) – The Cooper E-number (maximum driving-axle load in kips). Default 80.- Return type:
- class EU[source]#
Bases:
objectEuropean road & rail loads: Eurocode EN 1991-2.
- static get_lm1(alpha_Q=1.0)[source]#
Eurocode EN 1991-2 Load Model 1 tandem system (TS), Lane 1 (Table 4.2): two 300 kN axles at 1.2 m. Accompanied by the Lane-1 UDL of 9 kN/m2, i.e.
w_lane=27kN/m over the 3 m notional lane.- Parameters:
alpha_Q (
float) – National-Annex adjustment factor on the axle loads (default 1.0).- Return type:
- static get_lm71(alpha=1.0)[source]#
Eurocode EN 1991-2 rail Load Model 71 (cl 6.3.2): four 250 kN axles at 1.6 m centres, with two 80 kN/m distributed loads acting on each side starting 0.8 m beyond the outer axles (use
w_lane=80for the distributed component).- Parameters:
alpha (
float) – Classification factor (0.75-1.46; default 1.0).- Return type:
- class UK[source]#
Bases:
objectUK road loads: BS 5400 / CS 454.
- static get_hb(units=45.0, inner_spacing=6.0)[source]#
BS 5400-2 / CS 454 HB abnormal vehicle (cl 6.3): a four-axle bogie, each axle
units x 10kN, at spacings 1.8,inner_spacingand 1.8 m.- Parameters:
units (
float) – Number of HB units, typically 25-45 (250-450 kN/axle). Default 45.inner_spacing (
float) – The variable inner spacing; the code uses 6, 11, 16, 21 or 26 m for the worst effect. Default 6 m.
- Return type:
- class CN[source]#
Bases:
objectChinese road loads: JTG D60.
- static get_jtg_vehicle()[source]#
China JTG D60-2015 standard vehicle load (vehicle load, cl 4.3.1): five axles of 30, 120, 120, 140 and 140 kN (550 kN total) at spacings 3.0, 1.4, 7.0 and 1.4 m. The companion lane load is a span-dependent UDL (10.5 kN/m for Highway Class I) plus a concentrated load.
- Return type:
- static get_validation_truck()[source]#
A set of moving loads used for validation on a 20 m span against the textbook “Structural and Stress Analysis”, 2nd edn., Megson, p. 579.
- Return type:
- static plot_vehicle(vehicle, ax=None, title=None, units=None, color='tab:red', show=True)#
Plot a vehicle’s axles as scaled load arrows along its wheelbase.
Each axle is an arrow whose height scales with its load and is labelled with the load magnitude; the title reports the total axle load and the wheelbase.
- Parameters:
vehicle (Vehicle) – The vehicle to draw (a
pycba.bridge.Vehicle).ax (matplotlib.axes.Axes, optional) – Axes to draw into; a new figure is created if omitted.
title (str, optional) – A title for the plot. The total axle load and wheelbase are appended.
units (str or pycba.units.UnitSystem, optional) – Display unit system for the labels (see
pycba.set_units()).PyCBAis unit-agnostic, so this only relabels the axle loads and the axis - the values are not converted (the built-in models are in kN, m).color (str) – Colour of the axle-load arrows.
show (bool) – Call
matplotlib.pyplot.show()before returning when a new figure is created (defaultTrue).
- Return type:
matplotlib.axes.Axes
- Raises:
TypeError – If
vehicleis not aVehicle.