Skip to content

Commit b552962

Browse files
PetrKryslUCSDCopilot
andcommitted
do the linked beams in 3D
Co-authored-by: Copilot <copilot@github.com>
1 parent 9bbaccf commit b552962

1 file changed

Lines changed: 11 additions & 26 deletions

File tree

examples/beams/linear_statics/linked_beams_examples.jl

Lines changed: 11 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -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
1010
Two parallel cantilevers are rigidly linked at the free end.
1111
They bend in sync due to the rigid link.
1212
1313
Displacements 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
1721
This is the AFNOR SSLL05/89 test case.
1822
@@ -161,13 +165,13 @@ function test(nel=1, visualize=true)
161165
# plots.show(m)
162166
end # 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)
256238
end # function test
257239

258240
function allrun()
259241
println("#####################################################")
260242
println("# test ")
261243
test()
244+
println("#####################################################")
245+
println("# test_XZ ")
246+
test_XZ()
262247
end
263248

264249

0 commit comments

Comments
 (0)