AS3600#
- class concreteproperties.design_codes.as3600.AS3600[source]#
Bases:
DesignCode
Design code class for Australian standard AS 3600:2018.
Note
Note that this design code only supports
Concrete
andSteelBar
material objects. MeshedSteel
material objects are not supported, as this falls under the composite structures design code.Methods
Assigns a concrete section to the design code.
Generates a biaxial bending with capacity factors to AS 3600.
Calculates cracked section properties.
Calculates cracked stresses within the reinforced concrete section.
Calculates service stresses within the reinforced concrete section.
Calculates ultimate stresses within the reinforced concrete section.
Calculates uncracked stresses within the reinforced concrete section.
Returns the AS 3600 capacity reduction factor (Table 2.2.2).
Returns a concrete material object to AS 3600.
Returns a steel bar material object.
Returns the gross section properties of the reinforced concrete section.
Returns k_uo for the reinforced concrete cross-section given
theta
.Returns n_ub for the reinforced concrete cross-section given
theta
.Transforms gross section properties.
Performs a moment curvature analysis (no reduction factors applied).
Generates a moment interaction diagram with capacity factors to AS 3600.
Calculates the squash and tensile load of the reinforced concrete section.
Calculates the ultimate bending capacity with capacity factors to AS 3600.
- assign_concrete_section(concrete_section: ConcreteSection) None [source]#
Assigns a concrete section to the design code.
- Parameters:
concrete_section (ConcreteSection) – Concrete section object to analyse
- Raises:
ValueError – If there is meshed reinforcement within the concrete_section
- create_concrete_material(compressive_strength: float, colour: str = 'lightgrey') Concrete [source]#
Returns a concrete material object to AS 3600.
Material assumptions
Density: 2400 kg/m3
Elastic modulus: Interpolated from Table 3.1.2
Service stress-strain profile: Linear with no tension, compressive strength at \(0.9f'_c\)
Ultimate stress-strain profile: Rectangular stress block, parameters from Cl. 8.1.3
Alpha squash: From Cl. 10.6.2.2
Flexural tensile strength: From Cl. 3.1.1.3
- Parameters:
- Raises:
ValueError – If
compressive_strength
is not between 20 MPa and 100 MPa.- Returns:
Concrete material object
- Return type:
- create_steel_material(yield_strength: float = 500, ductility_class: str = 'N', colour: str = 'grey') SteelBar [source]#
Returns a steel bar material object.
Material assumptions
Density: 7850 kg/m3
Elastic modulus: 200000 MPa
Stress-strain profile: Elastic-plastic, fracture strain from Table 3.2.1
- Parameters:
- Raises:
ValueError – If
ductility_class
is not “N” or “L”- Returns:
Steel material object
- Return type:
- squash_tensile_load() tuple[float, float] [source]#
Calculates the squash and tensile load of the reinforced concrete section.
- capacity_reduction_factor(n_u: float, n_ub: float, n_uot: float, k_uo: float, phi_0: float) float [source]#
Returns the AS 3600 capacity reduction factor (Table 2.2.2).
n_ub
andphi_0
only required for compression,n_uot
only required for tension.- Parameters:
- Returns:
Capacity reduction factor
- Return type:
- get_k_uo(theta: float) float [source]#
Returns k_uo for the reinforced concrete cross-section given
theta
.
- get_n_ub(theta: float) float [source]#
Returns n_ub for the reinforced concrete cross-section given
theta
.
- ultimate_bending_capacity(theta: float = 0, n_design: float = 0, phi_0: float = 0.6) tuple[UltimateBendingResults, UltimateBendingResults, float] [source]#
Calculates the ultimate bending capacity with capacity factors to AS 3600.
- Parameters:
- Raises:
AnalysisError – If the design load is greater than the squash load
AnalysisError – If the design load is greater than the tensile load
- Returns:
Factored and unfactored ultimate bending results objects, and capacity reduction factor (
factored_results
,unfactored_results
,phi
)- Return type:
tuple[UltimateBendingResults, UltimateBendingResults, float]
- moment_interaction_diagram(theta: float = 0, limits: list[tuple[str, float]] | None = None, control_points: list[tuple[str, float]] | None = None, labels: list[str] | None = None, n_points: int = 24, n_spacing: int | None = None, phi_0: float = 0.6, progress_bar: bool = True) tuple[MomentInteractionResults, MomentInteractionResults, list[float]] [source]#
Generates a moment interaction diagram with capacity factors to AS 3600.
See
concreteproperties.concrete_section.ConcreteSection.moment_interaction_diagram()
for allowable control points.Note
When providing
"N"
tolimits
orcontrol_points
,"N"
is taken to be the unfactored net (nominal) axial load \(N^{*} / \phi\).- Parameters:
theta (float) – Angle (in radians) the neutral axis makes with the horizontal axis (\(-\pi \leq \theta \leq \pi\))
limits (list[tuple[str, float]] | None) – List of control points that define the start and end of the interaction diagram. List length must equal two. The default limits range from concrete decompression strain to the pure bending point,
[("D", 1.0), ("N", 0.0)]
.control_points (list[tuple[str, float]] | None) – List of additional control points to add to the moment interaction diagram. The default control points include the balanced point,
fy = 1
, i.e.[("fy", 1.0)]
. Control points may lie outside the limits of the moment interaction diagram as long as equilibrium can be found.labels (list[str] | None) – List of labels to apply to the
limits
andcontrol_points
for plotting purposes. The first two values inlabels
apply labels to thelimits
, the remaining values apply labels to thecontrol_points
. If a single value is provided, this value will be applied to bothlimits
and allcontrol_points
. The length oflabels
must equal1
or2 + len(control_points)
.n_points (int) – Number of points to compute including and between the
limits
of the moment interaction diagram. Generates equally spaced neutral axes between thelimits
.n_spacing (int | None) – If provided, overrides
n_points
and generates the moment interaction diagram usingn_spacing
equally spaced axial loads. Note that usingn_spacing
negatively affects performance, as the neutral axis depth must first be located for each point on the moment interaction diagram.phi_0 (float) – Compression dominant capacity reduction factor, see Table 2.2.2(d)
progress_bar (bool) – If set to True, displays the progress bar
- Returns:
Factored and unfactored moment interaction results objects, and list of capacity reduction factors (
factored_results
,unfactored_results
,phis
)- Return type:
tuple[MomentInteractionResults, MomentInteractionResults, list[float]]
- biaxial_bending_diagram(n_design: float = 0, n_points: int = 48, phi_0: float = 0.6, progress_bar: bool = True) tuple[BiaxialBendingResults, list[float]] [source]#
Generates a biaxial bending with capacity factors to AS 3600.
- Parameters:
- Returns:
Factored biaxial bending results object and list of capacity reduction factors (
factored_results
,phis
)- Return type:
- calculate_cracked_properties(**kwargs) CrackedResults #
Calculates cracked section properties.
- Parameters:
kwargs – Keyword arguments passed to
calculate_cracked_properties()
- Returns:
Cracked results object
- Return type:
- calculate_cracked_stress(**kwargs) StressResult #
Calculates cracked stresses within the reinforced concrete section.
- Parameters:
kwargs – Keyword arguments passed to
calculate_cracked_stress()
- Returns:
Stress results object
- Return type:
- calculate_service_stress(**kwargs) StressResult #
Calculates service stresses within the reinforced concrete section.
- Parameters:
kwargs – Keyword arguments passed to
calculate_service_stress()
- Returns:
Stress results object
- Return type:
- calculate_ultimate_stress(**kwargs) StressResult #
Calculates ultimate stresses within the reinforced concrete section.
- Parameters:
kwargs – Keyword arguments passed to
calculate_ultimate_stress()
- Returns:
Stress results object
- Return type:
- calculate_uncracked_stress(**kwargs) StressResult #
Calculates uncracked stresses within the reinforced concrete section.
- Parameters:
kwargs – Keyword arguments passed to
calculate_uncracked_stress()
- Returns:
Stress results object
- Return type:
- get_gross_properties(**kwargs) GrossProperties #
Returns the gross section properties of the reinforced concrete section.
- Parameters:
kwargs – Keyword arguments passed to
get_gross_properties()
- Returns:
Concrete properties object
- Return type:
- get_transformed_gross_properties(**kwargs) TransformedGrossProperties #
Transforms gross section properties.
- Parameters:
kwargs – Keyword arguments passed to
get_transformed_gross_properties()
- Returns:
Transformed concrete properties object
- Return type:
- moment_curvature_analysis(**kwargs) MomentCurvatureResults #
Performs a moment curvature analysis (no reduction factors applied).
- Parameters:
kwargs – Keyword arguments passed to
moment_curvature_analysis()
- Returns:
Moment curvature results object
- Return type: