RC Rectangular Section#

[2]:
import opstool as opst

outlines = [[0, 0], [2, 0], [2, 2], [0, 2]]
coverlines = opst.offset(outlines, d=0.05)
cover = opst.add_polygon(outlines, holes=[coverlines])
core = opst.add_polygon(coverlines)
sec = opst.SecMesh()
sec.assign_group(dict(cover=cover, core=core))
sec.assign_mesh_size(dict(cover=0.02, core=0.05))
sec.assign_group_color(dict(cover="gray", core="green"))
sec.mesh()
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 │
└───────────┴────────────────┴───────────────────────────┘