示例#1
0
import numpy as np

from bridges.Blennerhassett import BlennerhassettBridge
from plotting.plots import make_plots, crop_plots
from plotting.tables import dc_overview_table, small_cost_overview_table

params = (np.radians(25),)
bridge_13_n = BlennerhassettBridge(arch_optimisation=True, curve_fitting='Spline')
bridge_13 = BlennerhassettBridge(hanger_arrangement='Radial', hanger_params=params, arch_shape='Circular', arch_optimisation=True, curve_fitting='Spline')
bridge_20 = BlennerhassettBridge(n_hangers=20, hanger_arrangement='Radial', hanger_params=params, arch_shape='Circular', arch_optimisation=True, curve_fitting='Spline')
bridge_26 = BlennerhassettBridge(n_hangers=26, hanger_arrangement='Radial', hanger_params=params, arch_shape='Circular', arch_optimisation=True, curve_fitting='Spline')

fig = bridge_26.plot_elements()[0]
fig.savefig('structure_26_radial.png')

bridges_dict = {'13 Parallel hangers': bridge_13_n, '13 Radial hangers': bridge_13,
                '20 Radial hangers': bridge_20, '26 Radial hangers': bridge_26}
load_groups = {'permanent': 'Permanent'}
make_plots(bridges_dict, load_groups, marker='')

# crop_plots('permanent', (3, 1), [3, 4, 2], (2, 2), (1000, 500))
# crop_plots('live loading', (3, 1), [3, 4, 2], (2, 2), (1000, 500))
# crop_plots('dead load', (3, 1), [3, 4, 2], (2, 2), (1000, 500))

small_cost_overview_table('cost_comparison', bridges_dict)
dc_overview_table('dc_comparison', bridges_dict)
示例#2
0
    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])
    axs[0].plot(x, y-y_ref, label='Circular arch', c=colors[i+1], lw=0.7)