@@ -5,14 +5,18 @@ pystran - Python package for structural analysis with trusses and beams
55
66# Bending of a two incompressible cantilevers rigidly linked at the free end
77
8- ## Problem description:
8+ # Problem description:
99
1010Two parallel cantilevers are rigidly linked at the free end.
1111They bend in sync due to the rigid link.
1212
1313Displacements and bending moments are provided in the reference.
1414
15- ## References
15+ Again using the basic stiffness, we deduce the correct magnitude of the bending moment:
16+ M = 6 * h * E * I / h**3 * w2
17+ print("Analytical bending moment magnitude: ", M)
18+
19+ # References
1620
1721This is the AFNOR SSLL05/89 test case.
1822
@@ -161,13 +165,13 @@ function test(nel=1, visualize=true)
161165 # plots.show(m)
162166end # function test
163167
164- function test_XZ (nel= 1 , visualize= true )
168+ function test_XZ (nel= 8 , visualize= true )
165169 @show H, B
166170 cs = CrossSectionRectangle (s -> B, s -> H, s -> [0.0 , 1.0 , 0.0 ]) # Bernoulli
167171 members = []
168172 xyz = [[0 0 0 ]; [h 0 0 ]]
169173 push! (members, frame_member (xyz, nel, cs))
170- xyz = [[0 - d 0 ]; [h 0 - d]]
174+ xyz = [[0 0 - d ]; [h 0 - d]]
171175 push! (members, frame_member (xyz, nel, cs))
172176 fens, fes = merge_members (members)
173177
@@ -231,34 +235,15 @@ function test_XZ(nel=1, visualize=true)
231235 pl = render (plots)
232236 end
233237
234- # # Using the stiffness coefficients of a beam in the basic configuration, we
235- # # can calculate the deflection from the relationship between the shear force
236- # # in the beams (there are two!) and the applied force:
237-
238- # w2 = F / (12 * E * I / h**3) / 2
239- # print("Analytical deflection in the direction of the force: ", w2)
240- # print("Expected tip deflection: ", [0.0, -1.25250329e-01, 0])
241- # for j in m["joints"].values():
242- # print(j["displacements"])
243-
244- # plots.setup(m)
245- # plots.plot_members(m)
246- # plots.plot_deformations(m)
247- # plots.show(m)
248-
249- # # Again using the basic stiffness, we deduce the correct magnitude of the bending moment:
250- # M = 6 * h * E * I / h**3 * w2
251- # print("Analytical bending moment magnitude: ", M)
252- # plots.setup(m)
253- # plots.plot_members(m)
254- # plots.plot_bending_moments(m)
255- # plots.show(m)
256238end # function test
257239
258240function allrun ()
259241 println (" #####################################################" )
260242 println (" # test " )
261243 test ()
244+ println (" #####################################################" )
245+ println (" # test_XZ " )
246+ test_XZ ()
262247end
263248
264249
0 commit comments