Example #1
0
    bridge_polynomial = BlennerhassettBridge(curve_fitting='Polynomial-n', n_hangers=n, n_floor_beams=n, cable_loss=cable_loss)
    bridge_spline = BlennerhassettBridge(curve_fitting='Spline-n', n_hangers=n, n_floor_beams=n, cable_loss=cable_loss)
    bridge_continuous = BlennerhassettBridge(arch_shape='Continuous optimisation', arch_optimisation=False, n_hangers=n, n_floor_beams=n, cable_loss=cable_loss)

    bridges_dict = {'Thrust line arch': bridge_thrust}
    load_groups = {'strength-I_'+str(n): 'Strength-I'}
    arch_or_tie_plots(bridges_dict, load_groups, lw=0.8)

    bridges_dict = {'Thrust line arch': bridge_thrust,
                    'Polynomial approximation': bridge_polynomial,
                    'Spline approximation': bridge_spline,
                    'Continuous approximation': bridge_continuous}
    load_groups = {'permanent state_'+str(n): 'Permanent'}
    arch_or_tie_plots(bridges_dict, load_groups, lw=0.8)

    bridge_thrust.dc_ratio_table(name='dc_table_'+str(n))
    dc_overview_table('dc_comparison_'+str(n), bridges_dict, slice_cs=slice(0, 3))

    span = 267.8
    rise = 53.5
    radius = (rise ** 2 + (span / 2) ** 2) / (2 * rise)
    fig, axs = pyplot.subplots(1, 2, figsize=(8, 2), dpi=240)
    for i, key in enumerate(bridges_dict):
        bridge = bridges_dict[key]
        nodes = bridge.network_arch.arch.nodes
        x = np.array([node.x for node in nodes])
        y = np.array([node.y for node in nodes])
        y_ref = [rise * (1 - ((x_i - span / 2) / (span / 2)) ** 2) for x_i in x]
        axs[0].plot(x, y-y_ref, label=key, c=colors[i], lw=0.7)

    y = np.array([rise - radius * (1 - (1 - ((x_i - span / 2) / radius) ** 2) ** 0.5) for x_i in x])
Example #2
0
import numpy as np

from bridges.Blennerhassett import BlennerhassettBridge

hanger_params = np.array(
    [102, 70, 107, 65, 91, 43, 128, 67, 99, 46, 60, 96, 47])
hanger_params = np.array(
    [113, 65, 123, 65, 123, 28, 105, 100, 93, 94, 80, 84, 47])
hanger_params = np.array(
    [96, 99, 52, 101, 117, 58, 46, 81, 122, 42, 91, 64, 40])
bridge = BlennerhassettBridge(hanger_arrangement='Unpatterned',
                              hanger_params=hanger_params,
                              self_stress_state='Zero-displacement',
                              curve_fitting='Polynomial')

fig, ax = bridge.plot_elements()
fig.savefig('optimised design_3.png')
bridge.dc_ratio_table()
Example #3
0
axs = fig.get_axes()
hanger_forces = [0.4981984, 0.7517458, 0.7695386, 0.7295048, 0.6850228, 0.644989, 0.5827142, 0.5515768, 0.5070948,
                 0.467061, 0.4136826, 0.3603042, 0.3514078]
hanger_forces = [hanger_force / 4.19 for hanger_force in hanger_forces]
hanger_x = [267.8*(i+1)/14 for i in range(13)]
axs[0].plot([0, 270], [0.744, 0.744], label='Design drawings', c=colors[1], lw=1)
axs[1].plot([0, 270], [4.73, 4.73], label='Design drawings', c=colors[1], lw=1)
axs[2].plot(hanger_x, hanger_forces, label='Design drawings', c=colors[1], marker='x')
adjust_effects_plots(fig)
fig.savefig('live load.png')

# Create table of internal forces and demand/capacity ratios
bridge_ref.internal_forces_table()
bridge_ref.internal_forces_table(name='design forces 2', all_uls=True)

bridge_ref.dc_ratio_table()
bridge_ref.cost_table()

fig = bridge_ref.plot_effects('Cable_Loss', 'Moment', label='Cable loss ranges', c=colors[0])
fig = bridge_ref.plot_effects('Cable_Loss_4', 'Moment', fig=fig, label='4. cable loss', c=colors[1])
adjust_effects_plots(fig)

fig = bridge_ref.plot_effects('Strength-I', 'Moment', label='Fatigue', c=colors[0])
fig = bridge_ref.plot_effects('Fatigue', 'Moment', fig=fig, label='Fatigue', c=colors[0])
adjust_effects_plots(fig)
fig.savefig('hanger forces.png')


# Save the demand over capacity ratios of the reference case
dc = []
for cs in bridge_ref.cost_cross_sections: