Test Example#
[1]:
from planestress.analysis import PlaneStress
from planestress.pre import LoadCase, Material, circle, rectangle, steel_material
[2]:
d = 300
b = 250
h_r = 25
t = 16
u = 0.05
[3]:
steel = steel_material(thickness=t)
rect = rectangle(0.5 * d, 0.5 * b, steel)
hole = circle(2 * h_r, n=32)
geom = rect - hole
geom.plot_geometry()
[3]:
<Axes: title={'center': 'Geometry'}>
[4]:
lhs_support = geom.add_line_support((0, h_r), (0, 0.5 * d), "x", 0.0)
bot_support = geom.add_line_support((25, 0), (125, 0), "y", 0.0)
top_disp = geom.add_line_support((0, 0.5 * d), (0.5 * b, 0.5 * d), "y", u)
lc = LoadCase([lhs_support, bot_support, top_disp])
[5]:
geom.create_mesh(mesh_sizes=10)
geom.plot_mesh()
[5]:
<Axes: title={'center': 'Finite Element Mesh'}>
[6]:
ps = PlaneStress(geom, [lc])
results_list = ps.solve()
res = results_list[0]
[7]:
res.plot_deformed_shape(500)
[7]:
<Axes: title={'center': 'Deformed Shape [ds = 500]'}>
[8]:
res.plot_displacement_contour("x", normalize=False, colormap="viridis")
res.plot_displacement_contour("y", normalize=False, colormap="viridis", contours=True)
res.plot_displacement_contour("xy", normalize=False, colormap="viridis")
[8]:
<Axes: title={'center': 'Displacement Contours [xy]'}>
[9]:
res.plot_stress("xx")
res.plot_stress("yy", normalize=False, colormap="viridis")
res.plot_stress("xy", contours=True)
[9]:
<Axes: title={'center': 'Stress Contour Plot - $\\sigma_{xy}$'}>