Plain Section#

[5]:
import opstool as opst

outlines = [[0, 0], [2, 0], [2, 2], [0, 2]]
obj = opst.add_polygon(outlines)
sec = opst.SecMesh(sec_name='plain section')
sec.assign_group(dict(sec=obj))
sec.assign_mesh_size(dict(sec=0.1))
sec.mesh()
sec_props = sec.get_sec_props(display_results=True, plot_centroids=False)
sec.centring()
# sec.rotate(45)
sec.view(fill=True, engine='plotly', save_html=None, on_notebook=True)
                    Section Properties                    
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Symbol     Value           Definition                ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ A          4.000           Cross-sectional area      │
│ Asy        3.333           Shear area y-axis         │
│ Asz        3.333           Shear area z-axis         │
│ centroid   (1.000, 1.000)  Elastic centroid          │
│ Iy         1.333           Moment of inertia y-axis  │
│ Iz         1.333           Moment of inertia z-axis  │
│ Iyz        0.000           Product of inertia        │
│ J          2.249           Torsion constant          │
│ phi        0.000           Principal axis angle      │
│ rho_rebar  0.000           Ratio of reinforcement    │
│ E_eff      1.000           Effective elastic modulus │
│ G_eff      0.500           Effective shear modulus   │
│ Nu_eff     0.000           Effective Poisson’s ratio │
└───────────┴────────────────┴───────────────────────────┘