concreteproperties.concrete_section.ConcreteSection#
- class ConcreteSection(geometry: CompoundGeometry)[source]#
Bases:
object
Class for a reinforced concrete section.
Inits the ConcreteSection class.
- Parameters
geometry (
sectionproperties.pre.geometry.CompoundGeometry
) – sectionproperties compound geometry object describing the reinforced concrete section
Methods
Generates a biaxial bending diagram given a net axial force n and n_points calculation points.
Calculates cracked section properties given a neutral axis angle theta.
Calculates stresses within the reinforced concrete section assuming a cracked section.
Calculates the cracking moment given a bending angle theta.
Calculates and stores gross section area properties.
Calculates and stores gross section plastic properties.
Given a neutral axis depth d_n and curvature kappa, calculates the resultant axial force and bending moment.
Calculates service stresses within the reinforced concrete section.
Given a neutral axis depth d_n and neutral axis angle theta, calculates the resultant bending moments m_x, m_y, m_u and the net axial force n.
Calculates ultimate stresses within the reinforced concrete section.
Calculates stresses within the reinforced concrete section assuming an uncracked section.
Given a trial cracked neutral axis depth d_nc, determines the difference between the first moments of area above and below the trial axis.
Returns the elastic centroid location in local coordinates.
Returns the gross section properties of the reinforced concrete section.
Returns the plastic centroid location in local coordinates.
Transforms gross section properties given a reference elastic modulus.
Performs a moment curvature analysis given a bending angle theta.
Generates a moment interaction diagram given a neutral axis angle theta and n_points calculation points between the decompression case and the pure bending case.
Plots the reinforced concrete section.
Given a trial neutral axis depth d_n and curvature kappa, determines the difference between the net axial force and the desired axial force.
Given a neutral axis angle theta and an axial force n, calculates the ultimate bending capacity.
Given a neutral axis depth d_n and neutral axis angle theta, calculates the difference between the target net axial force n and the axial force.
- calculate_gross_plastic_properties()[source]#
Calculates and stores gross section plastic properties.
Calculates the plastic centroid and squash load assuming all steel is at yield and the concrete experiences a stress of alpha_squash * f’c.
Calculates tensile load assuming all steel is at yield and the concrete is entirely cracked.
- get_gross_properties() ConcreteProperties [source]#
Returns the gross section properties of the reinforced concrete section.
- Returns
Concrete properties object
- Return type
- get_transformed_gross_properties(elastic_modulus: float) TransformedConcreteProperties [source]#
Transforms gross section properties given a reference elastic modulus.
- Parameters
elastic_modulus (float) – Reference elastic modulus
- Returns
Transformed concrete properties object
- Return type
- calculate_cracked_properties(theta: Optional[float] = 0) CrackedResults [source]#
Calculates cracked section properties given a neutral axis angle theta.
- Parameters
theta (Optional[float]) – Angle (in radians) the neutral axis makes with the horizontal axis (\(-\pi \leq \theta \leq \pi\))
- Returns
Cracked results object
- Return type
- calculate_cracking_moment(theta: float) float [source]#
Calculates the cracking moment given a bending angle theta.
- Parameters
theta (float) – Angle (in radians) the neutral axis makes with the horizontal axis (\(-\pi \leq \theta \leq \pi\))
- Returns
Cracking moment
- Return type
float
- cracked_neutral_axis_convergence(d_nc: float, cracked_results: CrackedResults) float [source]#
Given a trial cracked neutral axis depth d_nc, determines the difference between the first moments of area above and below the trial axis.
- Parameters
d_nc (float) – Trial cracked neutral axis
cracked_results (
CrackedResults
) – Cracked results object
- Returns
Cracked neutral axis convergence
- Return type
float
- moment_curvature_analysis(theta: Optional[float] = 0, kappa_inc: Optional[float] = 1e-07, delta_m_min: Optional[float] = 0.15, delta_m_max: Optional[float] = 0.3) MomentCurvatureResults [source]#
Performs a moment curvature analysis given a bending angle theta.
Analysis continues until the steel reaches fracture strain or the concrete reaches its ultimate strain.
- Parameters
theta (Optional[float]) – Angle (in radians) the neutral axis makes with the horizontal axis (\(-\pi \leq \theta \leq \pi\))
kappa_inc (Optional[float]) – Initial curvature increment
delta_m_min (Optional[float]) – Relative change in moment at which to double step
delta_m_max (Optional[float]) – Relative change in moment at which to halve step
- Returns
Moment curvature results object
- Return type
- service_normal_force_convergence(d_n: float, kappa: float, moment_curvature: MomentCurvatureResults) float [source]#
Given a trial neutral axis depth d_n and curvature kappa, determines the difference between the net axial force and the desired axial force.
- Parameters
d_nc (float) – Trial cracked neutral axis
kappa (float) – Curvature
moment_curvature (
MomentCurvatureResults
) – Moment curvature results object
- Returns
Service normal force convergence
- Return type
float
- calculate_service_section_actions()[source]#
Given a neutral axis depth d_n and curvature kappa, calculates the resultant axial force and bending moment.
- Parameters
d_n (float) – Depth of the neutral axis from the extreme compression fibre
kappa (float) – Curvature
moment_curvature (Optional[
MomentCurvatureResults
]) – Moment curvature results object
- Returns
Moment curvature results object
- Return type
- ultimate_bending_capacity(theta: Optional[float] = 0, n: Optional[float] = 0) results.UltimateBendingResults [source]#
Given a neutral axis angle theta and an axial force n, calculates the ultimate bending capacity.
- Parameters
theta (Optional[float]) – Angle (in radians) the neutral axis makes with the horizontal axis (\(-\pi \leq \theta \leq \pi\))
n (Optional[float]) – Net axial force
- Returns
Ultimate bending results object
- Return type
- ultimate_normal_force_convergence(d_n: float, n: float, ultimate_results: results.UltimateBendingResults) float [source]#
Given a neutral axis depth d_n and neutral axis angle theta, calculates the difference between the target net axial force n and the axial force.
- Parameters
d_n (float) – Depth of the neutral axis from the extreme compression fibre
n (float) – Net axial force
ultimate_results (
UltimateBendingResults
) – Ultimate bending results object
- Returns
Axial force convergence
- Return type
float
- calculate_ultimate_section_actions(d_n: float, ultimate_results: Optional[res.UltimateBendingResults] = None) results.UltimateBendingResults [source]#
Given a neutral axis depth d_n and neutral axis angle theta, calculates the resultant bending moments m_x, m_y, m_u and the net axial force n.
- Parameters
d_n (float) – Depth of the neutral axis from the extreme compression fibre
ultimate_results (Optional[
UltimateBendingResults
]) – Ultimate bending results object
- Returns
Ultimate bending results object
- Return type
- moment_interaction_diagram(theta: Optional[float] = 0, m_neg: Optional[bool] = False, n_points: Optional[int] = 24) MomentInteractionResults [source]#
Generates a moment interaction diagram given a neutral axis angle theta and n_points calculation points between the decompression case and the pure bending case.
- Parameters
theta (Optional[float]) – Angle (in radians) the neutral axis makes with the horizontal axis (\(-\pi \leq \theta \leq \pi\))
m_neg (Optional[bool]) – If set to true, also calculates the moment interaction for \(\theta = \theta + \pi\), i.e. sagging and hogging
n_points (Optional[int]) – Number of calculation points between the decompression point and the pure bending point
- Returns
Moment interaction results object
- Return type
- biaxial_bending_diagram(n: Optional[float] = 0, n_points: Optional[int] = 48) BiaxialBendingResults [source]#
Generates a biaxial bending diagram given a net axial force n and n_points calculation points.
- Parameters
n (Optional[float]) – Net axial force
n_points (Optional[int]) – Number of calculation points between the decompression
- Returns
Biaxial bending results
- Return type
- calculate_uncracked_stress(n: Optional[float] = 0, m_x: Optional[float] = 0, m_y: Optional[float] = 0) StressResult [source]#
Calculates stresses within the reinforced concrete section assuming an uncracked section.
Uses gross area section properties to determine concrete and steel stresses given an axial force n, and bending moments m_x and m_y.
- Parameters
n (Optional[float]) – Axial force
m_x (Optional[float]) – Bending moment about the x-axis
m_y (Optional[float]) – Bending moment about the y-axis
- Returns
Stress results object
- Return type
- calculate_cracked_stress(cracked_results: CrackedResults, n: Optional[float] = 0, m: Optional[float] = 0) StressResult [source]#
Calculates stresses within the reinforced concrete section assuming a cracked section.
Uses cracked area section properties to determine concrete and steel stresses given an axial force n and bending moment m about the bending axis stored in cracked_results.
- Parameters
cracked_results (
CrackedResults
) – Cracked results objectsn (Optional[float]) – Axial force
m (Optional[float]) – Bending moment
- Returns
Stress results object
- Return type
- calculate_service_stress(moment_curvature_results: MomentCurvatureResults, m: float, kappa: Optional[float] = None) StressResult [source]#
Calculates service stresses within the reinforced concrete section.
Uses linear interpolation of the moment-curvature results to determine the curvature of the section given the user supplied moment, and thus the stresses within the section. Otherwise, can provided a curvature which overrides the supplied moment.
- Parameters
moment_curvature_results (
MomentCurvatureResults
) – Moment-curvature results objectsm (float) – Bending moment
kappa (Optional[float]) – Curvature, if provided overrides the supplied bending moment and plots the stress at the given curvature
- Returns
Stress results object
- Return type
- calculate_ultimate_stress(ultimate_results: UltimateBendingResults) StressResult [source]#
Calculates ultimate stresses within the reinforced concrete section.
- Parameters
ultimate_results (
UltimateBendingResults
) – Ultimate bending results objects- Returns
Stress results object
- Return type
- get_c_local(theta: float) Tuple[float] [source]#
Returns the elastic centroid location in local coordinates.
- Parameters
theta (float) – Angle (in radians) the neutral axis makes with the horizontal axis (\(-\pi \leq \theta \leq \pi\))
- Returns
Elastic centroid in local coordinates (c_u, c_v)
- Return type
Tuple[float]
- get_pc_local(theta: float) Tuple[float] [source]#
Returns the plastic centroid location in local coordinates.
- Parameters
theta (float) – Angle (in radians) the neutral axis makes with the horizontal axis (\(-\pi \leq \theta \leq \pi\))
- Returns
Plastic centroid in local coordinates (pc_u, pc_v)
- Return type
Tuple[float]
- plot_section(title: Optional[str] = 'Reinforced Concrete Section', background: Optional[bool] = False, **kwargs) matplotlib.axes.Axes [source]#
Plots the reinforced concrete section.
- Parameters
title (Optional[str]) – Plot title
background (Optional[bool]) – If set to True, uses the plot as a background plot
kwargs – Passed to
plotting_context()
- Returns
Matplotlib axes object
- Return type