concrete_rectangular_section#

sectionproperties.pre.library.concrete_sections.concrete_rectangular_section(d: float, b: float, dia_top: float, area_top: float, n_top: int, c_top: float, dia_bot: float, area_bot: float, n_bot: int, c_bot: float, dia_side: float | None = None, area_side: float | None = None, n_side: int = 0, c_side: float = 0.0, n_circle: int = 4, conc_mat: Material = Material(name='default', elastic_modulus=1, poissons_ratio=0, yield_strength=1, density=1, color='w'), steel_mat: Material = Material(name='default', elastic_modulus=1, poissons_ratio=0, yield_strength=1, density=1, color='w')) CompoundGeometry[source]#

Constructs a reinforced concrete rectangular section.

Constructs a reinforced concrete rectangular section of depth d and width b.

Note

As the reinforcing bars are described by discretised circles, the area of each bar is required to ensure that the correct reinforcing area is provided.

Parameters:
  • d (float) – Concrete section depth

  • b (float) – Concrete section width

  • dia_top (float) – Diameter of the top reinforcing bars, used for calculating bar placement

  • area_top (float) – Area of the top reinforcing bars

  • n_top (int) – Number of top, equally spaced reinforcing bars

  • c_top (float) – Clear cover to the top reinforcing bars

  • dia_bot (float) – Diameter of the bottom reinforcing bars, used for calculating bar placement

  • area_bot (float) – Area of the bottom reinforcing bars

  • n_bot (int) – Number of bottom, equally spaced reinforcing bars

  • c_bot (float) – Clear cover to the bottom reinforcing bars

  • dia_side (float | None) – Diameter of the side reinforcing bars, used for calculating bar placement

  • area_side (float | None) – Area of the side reinforcing bars

  • n_side (int) – Number of side, equally spaced reinforcing bars

  • c_side (float) – Clear cover to the side reinforcing bars

  • n_circle (int) – Number of points used to discretise the circular reinforcing bars

  • conc_mat (Material) – Material object to assign to the concrete area

  • steel_mat (Material) – Material object to assign to the steel area

Raises:

ValueError – Geometry generation failed

Returns:

Reinforced concrete rectangular section geometry

Return type:

CompoundGeometry

Example

The following example creates a 600 mm deep x 300 mm wide concrete beam. The beam is reinforced with 3 x 16 mm top bars (20 mm cover), 3 x 20 mm bottom bars (30 mm cover), and 2 x 12 mm side bars (30 mm cover). A coarse finite element mesh is generated to show the different material regions:

from sectionproperties.pre import Material
from sectionproperties.pre.library import concrete_rectangular_section
from sectionproperties.analysis import Section

concrete = Material(
    name="Concrete",
    elastic_modulus=30.1e3,
    poissons_ratio=0.2,
    yield_strength=32,
    density=2.4e-6,
    color="lightgrey",
)
steel = Material(
    name="Steel",
    elastic_modulus=200e3,
    poissons_ratio=0.3,
    yield_strength=500,
    density=7.85e-6,
    color="grey",
)

geom = concrete_rectangular_section(
    d=600,
    b=300,
    dia_top=16,
    area_top=200,
    n_top=3,
    c_top=20,
    dia_bot=20,
    area_bot=310,
    n_bot=3,
    c_bot=30,
    dia_side=12,
    area_side=110,
    n_side=2,
    c_side=30,
    n_circle=16,
    conc_mat=concrete,
    steel_mat=steel,
)

geom.create_mesh(mesh_sizes=[0])  # a size of zero creates a coarse mesh
Section(geometry=geom).plot_mesh()

(Source code, png, hires.png, pdf)

../_images/sectionproperties-pre-library-concrete_sections-concrete_rectangular_section-1.png

Reinforced concrete rectangular section geometry#