!pip install concreteproperties
import numpy as np
from sectionproperties.pre.library import concrete_rectangular_section, triangular_section
import concreteproperties.stress_strain_profile as ssp
from concreteproperties import (
Concrete,
ConcreteSection,
SteelBar,
add_bar_rectangular_array,
)
from concreteproperties.post import si_kn_m, si_n_mm
concrete = Concrete(
name="27 MPa Concrete",
density=2.4e-6,
stress_strain_profile=ssp.ConcreteLinear(elastic_modulus=34.8e3),
ultimate_stress_strain_profile=ssp.RectangularStressBlock(
compressive_strength=27,
alpha=0.85,
gamma=0.8, #beta1
ultimate_strain=0.0033,
),
flexural_tensile_strength=0,
colour="lightgrey",
)
steel = SteelBar(
name="400 MPa Steel",
density=7.85e-6,
stress_strain_profile=ssp.SteelElasticPlastic(
yield_strength=400,
elastic_modulus=200e3,
fracture_strain=0.05,
),
colour="grey",
)
geom = concrete_rectangular_section(
d=445+30, #height
b=300,
dia_top=0,
area_top=0,
n_top=0,
c_top=0,
dia_bot=0, #철근 직경: 철근단면적을 고려해야 할 경우 포함
area_bot=2570/4, #철근 한개당 단면적
n_bot=4, #철근개수
c_bot=30, #커버
conc_mat=concrete,
steel_mat=steel,
)
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)