!pip install concreteproperties
import numpy as np
from sectionproperties.pre.library import (
circular_section_by_area,
concrete_circular_section,
i_section,
rectangular_section,
)
import concreteproperties.stress_strain_profile as ssp
import concreteproperties.results as res
from concreteproperties import (
Concrete,
ConcreteLinearNoTension,
ConcreteSection,
RectangularStressBlock,
Steel,
SteelBar,
SteelElasticPlastic,
add_bar_circular_array,
add_bar_rectangular_array,
)
from concreteproperties.post import si_kn_m, si_n_mm
concrete = Concrete(
name="50 MPa Concrete",
density=2.4e-6,
stress_strain_profile=ssp.ConcreteLinear(elastic_modulus=34.8e3),
ultimate_stress_strain_profile=RectangularStressBlock(
compressive_strength=50,
alpha=0.85,
gamma=0.8,
ultimate_strain=0.0033,
),
flexural_tensile_strength=4.2,
colour="lightgrey",
)
steel_300 = Steel(
name="300 MPa Structural Steel",
density=7.85e-6,
stress_strain_profile=SteelElasticPlastic(
yield_strength=300,
elastic_modulus=200e3,
fracture_strain=0.05,
),
colour="tan",
)
steel_bar = SteelBar(
name="500 MPa Steel Bar",
density=7.85e-6,
stress_strain_profile=SteelElasticPlastic(
yield_strength=500,
elastic_modulus=200e3,
fracture_strain=0.05,
),
colour="grey",
)
# create 500 square concrete
conc = rectangular_section(d=500, b=500, material=concrete)
# create 310UC97 and centre to column
uc = i_section(
d=308,
b=305,
t_f=15.4,
t_w=9.9,
r=16.5,
n_r=3,
material=steel_300,
).align_center(align_to=conc)
# cut hole in concrete for UC then add UC
geom = conc - uc + uc
# add 12N20 reinforcing bars
geom = add_bar_rectangular_array(
geometry=geom,
area=310,
material=steel_bar,
n_x=4,
x_s=132,
n_y=4,
y_s=132,
anchor=(52, 52),
exterior_only=True,
)
# create concrete section and plot
conc_sec = ConcreteSection(geom)
conc_sec.plot_section()
gross_props = conc_sec.get_gross_properties()
gross_props.print_results()
sag_res = conc_sec.ultimate_bending_capacity()
sag_res.print_results(units=si_kn_m)
hog_res = conc_sec.ultimate_bending_capacity(theta=np.pi)
hog_res.print_results(units=si_n_mm)