Exemple #1
0
# Pallazzetto Dello Sport in Rome, by Pier Luigi Nervi
# Example taken from 'The art of structural engineering : Vaults' course,
# by María Garlock

#Data. Units: ft,psf
radius = 159  # spherical radius [ft]
angle = 38  #angle from the top of the dome to the bottom of the dome
#          measured along the meridian [degrees]
thikness = 5  # shell thickness [in]
thikness_ft = 5 * 0.083333333  # shell thickness [ft]
q = 120  # uniform vertical load (self weight+insulation+roofing+cupola) [psf]

#

pallazeto = vault.SphericalDome(sphRadius=radius, alpha=math.radians(angle))
#Meridonial forces per unit length
Nphi16 = pallazeto.getMeridonialLinearForce(qVsurf=q, Phi=math.radians(16))
Nphi27 = pallazeto.getMeridonialLinearForce(qVsurf=q, Phi=math.radians(27))
#Hoop forces per unit length
Nhoop16 = pallazeto.getHoopLinearForce(qVsurf=q, Phi=math.radians(16))
Nhoop27 = pallazeto.getHoopLinearForce(qVsurf=q, Phi=math.radians(27))
#Meridonial stresses
sgphi16 = Nphi16 / thikness_ft
sgphi27 = Nphi27 / thikness_ft
#Hoop stresses
sghoop16 = Nhoop16 / thikness_ft
sghoop27 = Nhoop27 / thikness_ft

Nphi16_comp = -9728.43
Nphi27_comp = -10089.86
Exemple #2
0
import math
from rough_calculations import vaults_rough_calc as vault

# Astrodome Sports Complex, Houston TX
# Example 1 from 'The art of structural engineering : Vaults' course,
# by María Garlock

#Data. Units: ft,psf
radius = 600  # spherical radius [ft]
angle = 32.3  #angle from the top of the dome to the bottom of the dome
#          measured along the meridian [degrees]
q_dead = 30  # uniform vertical dead load [psf]
q_live = 15  # uniform vertical live load [psf]
#

astrodome = vault.SphericalDome(sphRadius=radius, alpha=math.radians(angle))
span = astrodome.getSpan()
height = astrodome.getRise()
area = astrodome.getSurfArea()
q_total = q_dead + q_live
Vreaction = astrodome.getVerticalSupportReaction(q_total)
Nreaction = astrodome.getMeridionalSupportReaction(q_total)
Hreaction = astrodome.getHorizSupportReaction(q_total)
Tring = astrodome.getTensionForceRing(q_total)

import os
from misc_utils import log_messages as lmsg

fname = os.path.basename(__file__)
if max(abs(span - 641), abs(height - 93), abs(area - 350009),
       abs(Vreaction - 7819), abs(Hreaction - 12368),