1. Calculating Area Properties#
This example demonstrates how to create a simple reinforced concrete cross-section and obtain the gross area properties. We start by importing the necessary modules.
[1]:
from concreteproperties.material import Concrete, Steel
from concreteproperties.stress_strain_profile import (
ConcreteLinear,
RectangularStressBlock,
SteelElasticPlastic,
)
from sectionproperties.pre.library.concrete_sections import concrete_rectangular_section
from concreteproperties.concrete_section import ConcreteSection
1.1. Assign Materials#
The materials used in this example will be 32 MPa concrete and 500 MPa steel, specified in accordance with AS 3600:2018.
[2]:
concrete = Concrete(
name="32 MPa Concrete",
density=2.4e-6,
stress_strain_profile=ConcreteLinear(elastic_modulus=30.1e3),
ultimate_stress_strain_profile=RectangularStressBlock(
compressive_strength=32,
alpha=0.802,
gamma=0.89,
ultimate_strain=0.003,
),
alpha_squash=0.85,
flexural_tensile_strength=3.4,
colour="lightgrey",
)
steel = Steel(
name="500 MPa Steel",
density=7.85e-6,
stress_strain_profile=SteelElasticPlastic(
yield_strength=500,
elastic_modulus=200e3,
fracture_strain=0.05,
),
colour="grey",
)
1.2. Create Geometry and Concrete Section#
The section being analysed in this example is a 600D x 400W rectangular beam. The reinforcement detailed is 3N20 top bars and 3N24 bottom bars, with 30 mm of clear cover. The geometry is generated using the sectionproperties concrete sections library.
[3]:
geom = concrete_rectangular_section(
b=400,
d=600,
dia_top=20,
n_top=3,
dia_bot=24,
n_bot=3,
n_circle=4,
cover=30,
area_top=310,
area_bot=450,
conc_mat=concrete,
steel_mat=steel,
)
conc_sec = ConcreteSection(geom)
conc_sec.plot_section()
[3]:
<AxesSubplot:title={'center':'Reinforced Concrete Section'}>
1.3. Gross Properties#
Creating a ConcreteSection
object automatically calculates the gross area properties of the reinforced concrete cross-section. These can be obtained by using the get_gross_properties()
method. The section properties can be printed by calling the print_results()
method.
[4]:
gross_props = conc_sec.get_gross_properties()
gross_props.print_results(fmt=".3e")
Gross Concrete Section Properties ┏━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Property ┃ Value ┃ ┡━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩ │ Total Area │ 2.400e+05 │ │ Concrete Area │ 2.377e+05 │ │ Steel Area │ 2.280e+03 │ │ Axial Rigidity (EA) │ 7.611e+09 │ │ Mass (per unit length) │ 5.884e-01 │ │ Perimeter │ 2.000e+03 │ │ E.Qx │ 2.265e+12 │ │ E.Qy │ 1.522e+12 │ │ x-Centroid │ 2.000e+02 │ │ y-Centroid │ 2.976e+02 │ │ E.Ixx_g │ 9.168e+14 │ │ E.Iyy_g │ 4.073e+14 │ │ E.Ixy_g │ 4.531e+14 │ │ E.Ixx_c │ 2.426e+14 │ │ E.Iyy_c │ 1.028e+14 │ │ E.Ixy_c │ 0.000e+00 │ │ E.I11 │ 2.426e+14 │ │ E.I22 │ 1.028e+14 │ │ Principal Axis Angle │ 0.000e+00 │ │ E.Zxx+ │ 8.024e+11 │ │ E.Zxx- │ 8.153e+11 │ │ E.Zyy+ │ 5.142e+11 │ │ E.Zyy- │ 5.142e+11 │ │ E.Z11+ │ 8.024e+11 │ │ E.Z11- │ 8.153e+11 │ │ E.Z22+ │ 5.142e+11 │ │ E.Z22- │ 5.142e+11 │ │ Squash Load │ 7.606e+06 │ │ Tensile Load │ -1.140e+06 │ │ x-Axial Plastic Centroid │ 2.000e+02 │ │ y-Axial Plastic Centroid │ 2.934e+02 │ │ Ultimate Concrete Strain │ 3.000e-03 │ └──────────────────────────┴────────────┘
1.4. Transformed Properties#
The above section properties are multiplied by the elastic moduli, e.g. axial rigidity (EA
) and flexural rigidity (EI
). Transformed section properties can be obtained using get_transformed_gross_properties()
and providing a reference elastic_modulus
.
[5]:
transformed_props = conc_sec.get_transformed_gross_properties(elastic_modulus=30.1e3)
transformed_props.print_results(fmt=".3e")
Transformed Gross Concrete Section Properties ┏━━━━━━━━━━┳━━━━━━━━━━━┓ ┃ Property ┃ Value ┃ ┡━━━━━━━━━━╇━━━━━━━━━━━┩ │ E_ref │ 3.010e+04 │ │ Area │ 7.973e+00 │ │ Qx │ 7.526e+07 │ │ Qy │ 5.057e+07 │ │ Ixx_g │ 3.046e+10 │ │ Iyy_g │ 1.353e+10 │ │ Ixy_g │ 1.505e+10 │ │ Ixx_c │ 8.061e+09 │ │ Iyy_c │ 3.417e+09 │ │ Ixy_c │ 0.000e+00 │ │ I11 │ 8.061e+09 │ │ I22 │ 3.417e+09 │ │ Zxx+ │ 2.666e+07 │ │ Zxx- │ 2.708e+07 │ │ Zyy+ │ 1.708e+07 │ │ Zyy- │ 1.708e+07 │ │ Z11+ │ 2.666e+07 │ │ Z11- │ 2.708e+07 │ │ Z22+ │ 1.708e+07 │ │ Z22- │ 1.708e+07 │ └──────────┴───────────┘