Exemple #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)
Exemple #2
0
import numpy as np
from matplotlib import pyplot
from matplotlib.markers import MarkerStyle

from bridges.Blennerhassett import BlennerhassettBridge
from plotting.save import save_plot

hanger_params = (np.radians(63), )
bridge_parallel = BlennerhassettBridge(hanger_params=hanger_params)

fig, ax = bridge_parallel.plot_elements()
span = 267.8 + 50
rise = 53.5 + 17
n = 100
x_arch = list(np.linspace(0, span, 2 * n + 1))
x_arch = x_arch[9:-9]
y_arch = [rise * (1 - ((x - span / 2) / (span / 2))**2) for x in x_arch]
x_arch = [x - 25 for x in x_arch]
ax.plot(x_arch, y_arch, color='black', linewidth=1)
ax.plot([0, 267.8], [-20, -20], color='black', linewidth=1)

cs_tie_x = [
    0, 6.2, 34.8, 92.13, 267.8 - 92.13, 267.8 - 34.8, 267.8 - 6.2, 267.8
]
cs_tie_y = [-20] * 8
ax.plot(cs_tie_x, cs_tie_y, "|", color='black')

cs_arch_x = [0 - 11, 3.8 - 8, 28.8 - 5, 83.91]
cs_arch_x += [267.8 - x for x in cs_arch_x[::-1]]

rotations = [40, 37, 30, 20]
Exemple #3
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()
Exemple #4
0
from matplotlib import pyplot

from bridges.Blennerhassett import BlennerhassettBridge
from plotting.adjustments import adjust_overview_plots
from plotting.plots import make_plots

bridge_optimized = BlennerhassettBridge()
bridge_optimized.plot_elements()

# bridge_optimized.internal_forces_table(all_uls=True)
# bridge_optimized.dc_ratio_table()
# bridge_optimized.cost_table()

fig = bridge_optimized.plot_all_effects('LL', label='New', c='blue')
adjust_overview_plots(fig)

# fig = bridge_optimized.plot_all_effects('Cable_Replacement', label='New', c='blue')
# fig = bridge_optimized.plot_all_effects('Cable_Replacement_1', fig=fig, label='Old', c='red')
# adjust_overview_plots(fig)

#
# fig, axs = pyplot.subplots(2, 2, figsize=(8, 4), dpi=240)
# axs = fig.get_axes()
# bridge_optimized.network_arch.tie.plot_effects(axs[0], 'Tie Fracture', 'Web')
# bridge_optimized.network_arch.tie.plot_effects(axs[1], 'Tie Fracture', 'Top')
# bridge_optimized.network_arch.tie.plot_effects(axs[2], 'Tie Fracture', 'Bottom')
#
# pyplot.show()
#
# # bridges_dict = {'Final design': bridge_ref, 'Thrust line arch': bridge_optimized,
#                 'Continuous arch shape': bridge_continuous}
Exemple #5
0
from bridges.Blennerhassett import BlennerhassettBridge
from plotting.plots import make_plots, crop_plots
from plotting.tables import dc_overview_table, small_cost_overview_table, big_cost_overview_table
curve = ''
bridge_65 = BlennerhassettBridge(curve_fitting=curve,
                                 hanger_params=(np.radians(65), ))
bridge_75_65 = BlennerhassettBridge(curve_fitting=curve,
                                    hanger_arrangement='Constant Change',
                                    hanger_params=(np.radians(75),
                                                   np.radians(65)))
bridge_85_65 = BlennerhassettBridge(curve_fitting=curve,
                                    hanger_arrangement='Constant Change',
                                    hanger_params=(np.radians(85),
                                                   np.radians(65)))
fig, ax = bridge_85_65.plot_elements()
fig.savefig('arrangement_85_45.png')

bridge_95_65 = BlennerhassettBridge(curve_fitting=curve,
                                    hanger_arrangement='Constant Change',
                                    hanger_params=(np.radians(95),
                                                   np.radians(65)))
bridge_105_65 = BlennerhassettBridge(curve_fitting=curve,
                                     hanger_arrangement='Constant Change',
                                     hanger_params=(np.radians(105),
                                                    np.radians(65)))
fig, ax = bridge_105_65.plot_elements()
fig.savefig('arrangement_105_25.png')

bridges_dict = {
    '105°-25° Arrangement': bridge_105_65,
Exemple #6
0
import numpy as np
from matplotlib import pyplot

from bridges.Blennerhassett import BlennerhassettBridge
from plotting.loads import plot_loads
from plotting.save import save_plot
from structure_analysis import verify_input
from structure_elements.arch.parabolic_arch import ParabolicArch
from structure_elements.cross_section import CrossSection

hanger_params = (np.radians(63), )
bridge_parallel = BlennerhassettBridge(hanger_params=hanger_params,
                                       arch_optimisation=False)

fig, ax = bridge_parallel.plot_elements()
fig_2, ax_2 = bridge_parallel.plot_elements()
fig_3, ax_3 = bridge_parallel.plot_elements()
nodes = bridge_parallel.nodes

n_tie = len(bridge_parallel.network_arch.tie)
arch = ParabolicArch(nodes, 267.8, 53.5, n=30)
cs = CrossSection("", 29.8, [1, 1], [1, 1, 1], {})
arch.define_cross_sections(nodes, [267.8 / 2], [cs, cs])

bridge_parallel.network_arch.arch = arch

model = bridge_parallel.network_arch.create_model()

loads_arch = bridge_parallel.network_arch.arch.self_weight(n_tie)
loads_tie = bridge_parallel.network_arch.tie.self_weight()
loads_dc = [{
Exemple #7
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, big_cost_overview_table

bridge_parallel_85 = BlennerhassettBridge(hanger_params=(np.radians(85), ))
bridge_parallel_75 = BlennerhassettBridge(hanger_params=(np.radians(75), ))
bridge_parallel_65 = BlennerhassettBridge(hanger_params=(np.radians(65), ))
fig, ax = bridge_parallel_65.plot_elements()
fig.savefig('arrangement_65.png')
bridge_parallel_55 = BlennerhassettBridge(hanger_params=(np.radians(55), ))
bridge_parallel_45 = BlennerhassettBridge(hanger_params=(np.radians(45), ))
fig, ax = bridge_parallel_45.plot_elements()
fig.savefig('arrangement_45.png')

bridges_dict = {
    '85° Arrangement': bridge_parallel_85,
    '75° Arrangement': bridge_parallel_75,
    '65° Arrangement': bridge_parallel_65,
    '55° Arrangement': bridge_parallel_55,
    '45° Arrangement': bridge_parallel_45
}

load_groups = {
    'permanent': 'Permanent',
    'live loading': 'LL',
    'dead load': 'DL',
    'cable loss': 'Cable_Loss',
    'cable loss 4': 'Cable_Loss_4'
}
Exemple #8
0
import numpy as np

from bridges.Blennerhassett import BlennerhassettBridge

# bridge_parallel = BlennerhassettBridge(hanger_params=(np.radians(65),),
#                                        arch_optimisation=False)
# fig, ax = bridge_parallel.plot_elements()
# fig.savefig('figures/arrangements_parallel.png')
#
# bridge_constant_change = BlennerhassettBridge(hanger_arrangement='Constant Change',
#                                               hanger_params=(np.radians(95), np.radians(65)),
#                                               arch_optimisation=False)
# fig, ax = bridge_constant_change.plot_elements()
# fig.savefig('figures/arrangements_constant_change.png')
#
#
# bridge_radial = BlennerhassettBridge(hanger_arrangement='Radial',
#                                      hanger_params=(np.radians(25),),
#                                      arch_optimisation=False)
# fig, ax = bridge_radial.plot_elements()
# fig.savefig('figures/arrangements_radial.png')

bridge_vertical = BlennerhassettBridge(hanger_params=(np.radians(89.9), ),
                                       arch_optimisation=False,
                                       n_hangers=20)
fig, ax = bridge_vertical.plot_elements()
fig.savefig('figures/arrangements_vertical.png')