Beispiel #1
0
beam = Beam(
    loads,
    reactions,
    l=a + b + c,
    E=E,
    Jz=1.,
)

Rs = beam.get_reactions()
print('reactions:\n R_A = {:.2e}N\n R_B = {:.2e}N'.format(Rs[0], Rs[1]))

### computation and plots of bending force and moment ###
n = 12 * 5 + 1
x = np.linspace(0, a + b + c, n)

plt.plot(x, [beam.force(xi) for xi in x], '.-', label='force')
Mo = np.array([beam.moment(xi) for xi in x])
plt.plot(x, Mo, '.-', label='moment')

plt.legend(loc='best')
plt.grid()

### actual dimensions of the cross-section ###

# sigma = Mmax/Wo = Mmax/(Jz/(H/2)) <= sigD
# Jz >= H/2*Mmax/sigD
#   [rectangular cross-section]
#   Jz = 1/12*B*H**3 = (H/B=2) =
#      = 1/24*H**4
# H**4 >= 24*H/2*Mmax/sigD
# H >= (12*Mmax/sigD)**(1/3)
Beispiel #2
0
# going to compute the actual dimensions based on the values
# of reaction forces.
beam = Beam(loads, reactions,
            l = a+b+c,
            E = E,
            Jz = 1.,
)

Rs = beam.get_reactions()
print('reactions:\n R_A = {:.2e}N\n R_B = {:.2e}N'.format(Rs[0], Rs[1]))

### computation and plots of bending force and moment ###
n = 12*5+1
x = np.linspace(0, a+b+c, n)

plt.plot(x, [beam.force(xi) for xi in x], '.-', label='force')
Mo = np.array([beam.moment(xi) for xi in x])
plt.plot(x, Mo, '.-', label='moment')

plt.legend(loc='best')
plt.grid()

### actual dimensions of the cross-section ###

# sigma = Mmax/Wo = Mmax/(Jz/(H/2)) <= sigD
# Jz >= H/2*Mmax/sigD
#   [rectangular cross-section]
#   Jz = 1/12*B*H**3 = (H/B=2) =
#      = 1/24*H**4
# H**4 >= 24*H/2*Mmax/sigD
# H >= (12*Mmax/sigD)**(1/3)