def test_knownframe(self): xs1 = xs.generalSection(A=1, Ix=1) s1 = sc.Structure(xs1, ma.Steel(E=144)) s1.addNode(0, 0, fixity='fixed') s1.addNode(24, 0, fixity='roller') s1.addNode(42, 0, fixity='roller') s1.addMember(0, 1) s1.addMember(2, 1)
def __init__(self, SN, EN, material=ma.Steel(), cross=xs.generalSection()): self.cross = cross self.material = material # assign start and end node properties self.SN = SN self.EN = EN #the axial force self.axial = 0
def test_Frame(self): # global stiffness matrix must be symmetric xs1 = xs.generalSection(A=30, Ix=700) s1 = sc.Structure(xs1, ma.Steel(E=29000)) s1.addNode(0, 0) s1.addNode(0, 144) s1.addNode(144, 144) s1.addMember(0, 1) s1.addMember(1, 2) m1 = s1.members[0] stiff1 = m1.T.T * m1.kframe * m1.T v = np.all(stiff1 == stiff1.T) self.assertEqual(v, True)
m = member.unVec[1] n = member.unVec[2] ind = member.trussdof member.axial = member.axialstiff * np.matrix( [l, m, -l, -m]) * np.asmatrix(d[ind]).T return d import structural_classes as sc import cross_sections as xs import materials as ma import Truss # Define material A992 = ma.Steel(E=2e11) # Define cross section xs1 = xs.generalSection(A=1e-2, Ix=5e-6) # define blank structure # the cross section and material are defaults for the members # we will add to this later s1 = Frame(cross=xs1, material=A992) # Add nodes to the structure s1.addNode(0, 0, xfix=0, yfix=0, fixity='pin') s1.addNode(0, 2) s1.addNode(1.5, 3) s1.addNode(3, 2) s1.addNode(3, 0, xfix=0, yfix=0, fixity='pin')
import StructPy.cross_sections as xs import StructPy.structural_classes as sc import StructPy.materials as ma xs1 = xs.generalSection(A=30, Ix=700) s1 = sc.Structure(xs1, ma.Steel(E=29000)) s1.addNode(0, 0) s1.addNode(0, 144) s1.addNode(144, 144) s1.addMember(0, 1) s1.addMember(1, 2) m1 = s1.members[0] stiff1 = m1.T.T * m1.kframe * m1.T s1.plot() xs1 = xs.AISC('W8X48').printProperties()