This page was generated from
docs\source\notebooks/frames.ipynb.
Sections#
[1]:
from sectionproperties.pre.library.primitive_sections import circular_section
from sigmaepsilon.solid.material import BernoulliFrameSection
geometry = circular_section(d=50, n=64)
[2]:
from sigmaepsilon.mesh.domains.section import get_section
mesh_params = dict(n_max=500)
section = get_section("CHS", d=1.0, t=0.1, n=64, mesh_params=mesh_params)
[3]:
from sigmaepsilon.core.kwargtools import getallfromkwargs
section = BernoulliFrameSection("CHS", d=1.0, t=0.1, n=64)
section.calculate_section_properties()
section_props = section.section_properties
A, Ix, Iy, Iz = getallfromkwargs(["A", "Ix", "Iy", "Iz"], **section_props)
A, Ix, Iy, Iz
[3]:
(0.2822893641491732,
0.05777643412010776,
0.028888217060053886,
0.028888217060053872)
[4]:
list(section.get_section_properties().keys())
[4]:
['A', 'Ix', 'Iy', 'Iz', 'stress-factors']
[5]:
import matplotlib.pyplot as plt
from sigmaepsilon.mesh.plotting import triplot_mpl_mesh
triobj = section.trimesh().to_triobj()
fig, ax = plt.subplots(figsize=(4, 2))
triplot_mpl_mesh(triobj, fig=fig, ax=ax, lw=0.1)
[5]:
[<matplotlib.lines.Line2D at 0x28c62f603a0>,
<matplotlib.lines.Line2D at 0x28c648e8dc0>]
[6]:
mesh_params = dict(n_max=20)
section = BernoulliFrameSection("CHS", d=1.0, t=0.3, n=32, mesh_params=mesh_params)
triobj = section.trimesh().to_triobj()
fig, ax = plt.subplots(figsize=(4, 2))
triplot_mpl_mesh(triobj, fig=fig, ax=ax, lw=0.1)
[6]:
[<matplotlib.lines.Line2D at 0x28c62ecc100>,
<matplotlib.lines.Line2D at 0x28c642c9820>]
[7]:
mesh_params = dict(n_max=20)
section = BernoulliFrameSection("CHS", d=1.0, t=0.3, n=16, mesh_params=mesh_params)
triobj = section.trimesh(T6=True).to_triobj()
fig, ax = plt.subplots(figsize=(4, 2))
triplot_mpl_mesh(triobj, fig=fig, ax=ax, lw=0.1)
[7]:
[<matplotlib.lines.Line2D at 0x28c631a9850>,
<matplotlib.lines.Line2D at 0x28c631a9be0>]