Note
Go to the end to download the full example code.
Concrete-Filled Steel Tube (CFST) Section Meshing¶
This example demonstrates how to create a mesh for a Concrete-Filled Steel Tube (CFST) section. The CFST section consists of an outer steel tube and an inner concrete core.
import opstool as opst
The following materials are intended for the purpose of calculating section properties and are not related to OpenSeesPy.
Ec = 3.45e7
Es = 2.0e8
Nus = 0.3
Nuc = 0.2
tube_d = 0.05
steel_mat = opst.pre.section.create_material(name="steel", elastic_modulus=Es, poissons_ratio=Nus)
conc_mat = opst.pre.section.create_material(name="conc", elastic_modulus=Ec, poissons_ratio=Nuc)
all_ = opst.pre.section.create_circle_patch(xo=[0, 0], radius=0.75, n_sub=30)
conc_geo = opst.pre.section.create_circle_patch(xo=[0, 0], radius=0.75 - tube_d, n_sub=30)
tube_geo = all_ - conc_geo
opst.pre.section.set_patch_material([conc_geo, tube_geo], [conc_mat, steel_mat])
SEC_MESH = opst.pre.section.FiberSecMesh()
SEC_MESH.add_patch_group({"tube": tube_geo, "conc": conc_geo})
SEC_MESH.set_mesh_size({"tube": 0.1, "conc": 0.1})
SEC_MESH.set_mesh_color({"tube": "#ffa756", "conc": "#40a368"})
SEC_MESH.set_ops_mat_tag({"tube": 1, "conc": 2})
SEC_MESH.mesh()
OPSTOOL™ :: The section My Section has been successfully meshed!
SEC_MESH.centring()
props = SEC_MESH.get_sec_props(Eref=Es, display_results=True)
Section Properties
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Symbol ┃ Value ┃ Definition ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ A │ 4.897E-01 │ Cross-sectional area │
│ Asy │ 3.734E-01 │ Shear area y-axis │
│ Asz │ 3.734E-01 │ Shear area z-axis │
│ centroid │ (0.000E+00, 0.000E+00) │ Elastic centroid │
│ Iy │ 9.112E-02 │ Moment of inertia y-axis │
│ Iz │ 9.112E-02 │ Moment of inertia z-axis │
│ Iyz │ -5.366E-18 │ Product of inertia │
│ Wyt │ 1.222E-01 │ Section moduli of top fibres y-axis │
│ Wyb │ 1.222E-01 │ Section moduli of bottom fibres y-axis │
│ Wzt │ 1.215E-01 │ Section moduli of top fibres z-axis │
│ Wzb │ 1.215E-01 │ Section moduli of bottom fibres z-axis │
│ J │ 1.821E-01 │ Torsion constant │
│ phi │ -9.000E+01 │ Principal axis angle │
│ mass │ 1.754E+00 │ Section mass │
│ rho_rebar │ 0.000E+00 │ Ratio of reinforcement │
└───────────┴────────────────────────┴────────────────────────────────────────┘
frame_props = SEC_MESH.get_frame_props(Eref=Es, display_results=True)
Frame Section Properties
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Symbol ┃ Value ┃ Definition ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ A │ 4.897E-01 │ Cross-sectional area │
│ centroid │ (0.000E+00, 0.000E+00) │ Elastic centroid │
│ Iy │ 9.112E-02 │ Moment of inertia y-axis │
│ Iz │ 9.112E-02 │ Moment of inertia z-axis │
│ Iyz │ -1.073E-09 │ Product of inertia │
│ Wyt │ 1.222E-01 │ Section moduli of top fibres y-axis │
│ Wyb │ 1.222E-01 │ Section moduli of bottom fibres y-axis │
│ Wzt │ 1.215E-01 │ Section moduli of top fibres z-axis │
│ Wzb │ 1.215E-01 │ Section moduli of bottom fibres z-axis │
│ J │ 1.821E-01 │ Torsion constant │
│ phi │ -9.000E+01 │ Principal axis angle │
│ rho_rebar │ 0.000E+00 │ Ratio of reinforcement │
└───────────┴────────────────────────┴────────────────────────────────────────┘
SEC_MESH.view(fill=True, show_legend=True)

Total running time of the script: (0 minutes 0.387 seconds)