Ejemplo n.º 1
0
 def test_circle_section_self_weight_reaction(self):
     ss = se.SystemElements()
     ss.add_element([[0, 0], [2, 0]], d=0.2, E=210e9, sw=True, gamma=10000)
     ss.add_support_hinged(1)
     ss.add_support_hinged(2)
     ss.solve()
     self.assertAlmostEqual(-314.15926535, ss.reaction_forces[1].Fz)
Ejemplo n.º 2
0
 def test_rectangle_section_self_weight_reaction(self):
     ss = se.SystemElements()
     ss.add_element([[0, 0], [2, 0]], h=0.1, b=0.1, E=210e9, sw=True, gamma=10000)
     ss.add_support_hinged(1)
     ss.add_support_hinged(2)
     ss.solve()
     self.assertAlmostEqual(-100, ss.reaction_forces[1].Fz)
Ejemplo n.º 3
0
 def test_sectionbase_steel_section_self_weight_reaction(self):
     ss = se.SystemElements()
     ss.add_element([[0, 0], [20, 0]], steelsection='IPE 300', sw=True, )
     ss.add_support_hinged(1)
     ss.add_support_hinged(2)
     ss.solve()
     self.assertAlmostEqual(-4224.24, ss.reaction_forces[1].Fz)
Ejemplo n.º 4
0
 def test_truss_single_hinge(self):
     ss = se.SystemElements(EA=68300, EI=128, mesh=50)
     ss.add_element(
         location=[[0.0, 0.0], [2.5, 0.0]],
         g=0,
         spring={
             1: 0,
             2: 0
         },
     )
     ss.add_element(
         location=[[0.0, 0.0], [2.5, 2.0]],
         g=0,
         spring={
             1: 0,
             2: 0
         },
     )
     ss.add_element(
         location=[[2.5, 0.0], [5.0, 0.0]],
         g=0,
         spring={
             1: 0,
             2: 0
         },
     )
     ss.add_element(
         location=[[2.5, 2.0], [2.5, 0.0]],
         g=0,
         spring={
             1: 0,
             2: 0
         },
     )
     ss.add_element(
         location=[[2.5, 2.0], [5.0, 0.0]],
         g=0,
         spring={
             1: 0,
             2: 0
         },
     )
     ss.add_support_hinged(node_id=1)
     ss.add_support_hinged(node_id=4)
     ss.point_load(Fx=0, Fy=-20.0, node_id=3)
     ss.solve()
     self.assertAlmostEqual(-12.5, ss.get_node_results_system(1)["Fx"])
     self.assertAlmostEqual(-10, ss.get_node_results_system(1)["Fy"])
     self.assertAlmostEqual(0, ss.get_node_results_system(1)["Ty"])
     self.assertAlmostEqual(0, ss.get_node_results_system(3)["Ty"])
Ejemplo n.º 5
0
 def test_internal_hinge_symmetry(self):
     ss = se.SystemElements()
     ss.add_element(location=[[0, 0], [5, 0]], spring={2: 0})
     ss.add_element(location=[[5, 0], [10, 0]])
     ss.q_load(element_id=1, q=-9)
     ss.q_load(element_id=2, q=-9)
     ss.add_support_fixed(node_id=1)
     ss.add_support_fixed(node_id=3)
     ss.solve()
     self.assertAlmostEqual(
         ss.get_node_results_system(1)["Fy"],
         ss.get_node_results_system(3)["Fy"])
     self.assertAlmostEqual(
         ss.get_element_results(1)["Mmax"],
         ss.get_element_results(2)["Mmax"])
Ejemplo n.º 6
0
 def test_perpendicular_trapezoidal_load(self):
     ss = se.SystemElements()
     ss.add_element(location=[(0, 0), (1, 0)])
     ss.add_element(location=[(1, 0), (2, 1.5)])
     ss.add_support_fixed(node_id=1)
     ss.add_support_fixed(node_id=2)
     ss.q_load(q=(0.1, 1), element_id=2, direction="element")
     ss.point_load(node_id=1, Fx=15)
     ss.point_load(node_id=2, Fy=-5)
     ss.moment_load(node_id=3, Ty=-7)
     ss.solve()
     self.assertAlmostEqual(-0.1, ss.get_element_results(2)["q"][0])
     self.assertAlmostEqual(-1, ss.get_element_results(2)["q"][1])
     self.assertAlmostEqual(0, ss.get_node_results_system(1)["Fy"])
     self.assertAlmostEqual(15, ss.get_node_results_system(1)["Fx"])
     self.assertAlmostEqual(-4.45, ss.get_node_results_system(2)["Fy"])
     self.assertAlmostEqual(-0.825, ss.get_node_results_system(2)["Fx"])
     self.assertAlmostEqual(0, ss.get_node_results_system(1)["Ty"])
     self.assertAlmostEqual(-5.8625, ss.get_node_results_system(2)["Ty"])
Ejemplo n.º 7
0
 def test_no_forces_assertion(self):
     ss = se.SystemElements()
     ss.add_element([0, 10])
     self.assertRaises(AssertionError, ss.solve)
Ejemplo n.º 8
0
 def test_no_forces_assertion(self):
     ss = se.SystemElements()
     ss.add_element([0, 10])
     self.assertRaises(AssertionError, ss.solve)