Created
February 28, 2019 03:14
-
-
Save machinaut/6483a0eb17012d8a89c9f5321def77c6 to your computer and use it in GitHub Desktop.
Tensegrity Material Analysis
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env python | |
import numpy as np | |
''' | |
Notes: | |
- Tensile strength of 7x19 1/4" galvanized steel wire rope ~ 7000 lbs | |
''' | |
# TUNABLE PARAMETERS | |
# Length | |
L = 20 * 12 # Length in inches | |
K = 1.0 # Column effective length factor -- taken to be 1.0 for pinned at both ends | |
def buckling(D, W, E): | |
''' | |
Calculate the euler critical buckling load of a round tube column | |
- D - outer diameter (in) | |
- W - wall thickness (in) | |
- E - Modulus of elasticity (ksi) | |
''' | |
# Inner diameter (in) | |
d = D - 2 * W | |
# Moment of Inertia (in^4) | |
inertia = np.pi * ((D ** 4) - (d ** 4)) / 64 | |
# Euler Critical Buckling Load (lbf) | |
return 1000 * (np.pi ** 2) * E * inertia / ((K * L) ** 2) | |
for E in (10000, 30000): # Modulus of elasticity for [aluminum, steel] | |
for D in [3, 3.5, 4, 5]: # Outer diameter | |
for W in [.063, .083, .095, 0.1, 0.12, .125, .18, .187, .25]: # Wall thickness | |
buckle = buckling(D, W, E) | |
if buckle >= 4000: | |
mat = {10000: '6061', 30000: 'A500'}[E] | |
print(f'D {D:0.2f} W {W:0.3f} mat {mat} buckling {buckle:.0f}') | |
break |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment