concreteproperties.design_codes.as3600.AS3600#

class AS3600[source]#

Bases: DesignCode

Design code class for Australian standard AS 3600:2018.

Note

Note that this design code only supports Concrete and SteelBar material objects. Meshed Steel material objects are not supported as this falls under the composite structures design code.

Inits the AS3600 class.

Methods

assign_concrete_section

Assigns a concrete section to the design code.

biaxial_bending_diagram

Generates a biaxial bending with capacity factors to AS 3600:2018.

calculate_cracked_properties

Calculates cracked section properties.

calculate_cracked_stress

Calculates stresses within the reinforced concrete section assuming a cracked section.

calculate_service_stress

Calculates service stresses within the reinforced concrete section.

calculate_ultimate_stress

Calculates ultimate stresses within the reinforced concrete section.

calculate_uncracked_stress

Calculates stresses within the reinforced concrete section assuming an uncracked section.

capacity_reduction_factor

Returns the AS 3600:2018 capacity reduction factor (Table 2.2.2).

create_concrete_material

Returns a concrete material object to AS 3600:2018.

create_steel_material

Returns a steel bar material object.

get_gross_properties

Returns the gross section properties of the reinforced concrete section.

get_k_uo

Returns k_uo for the reinforced concrete cross-section given theta.

get_n_ub

Returns n_ub for the reinforced concrete cross-section given theta.

get_transformed_gross_properties

Transforms gross section properties.

moment_curvature_analysis

Performs a moment curvature analysis.

moment_interaction_diagram

Generates a moment interaction diagram with capacity factors to AS 3600:2018.

squash_tensile_load

Calculates the squash and tensile load of the reinforced concrete section.

ultimate_bending_capacity

Calculates the ultimate bending capacity with capacity factors to AS 3600:2018.

assign_concrete_section(concrete_section)[source]#

Assigns a concrete section to the design code.

Parameters

concrete_section (ConcreteSection) – Concrete section object to analyse

create_concrete_material(compressive_strength, colour='lightgrey')[source]#

Returns a concrete material object to AS 3600:2018.

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
  • compressive_strength (float) – Characteristic compressive strength of concrete at 28 days in megapascals (MPa)

  • colour (str, default: 'lightgrey') – Colour of the concrete for rendering

Raises

ValueError – If compressive_strength is not between 20 MPa and 100 MPa.

Returns

Concrete – Concrete material object

create_steel_material(yield_strength=500, ductility_class='N', colour='grey')[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
  • yield_strength (float, default: 500) – Steel yield strength

  • ductility_class (str, default: 'N') – Steel ductility class (“N” or “L”)

  • colour (str, default: 'grey') – Colour of the steel for rendering

Raises

ValueError – If ductility_class is not “N” or “L”

Returns

SteelBar – Steel material object

squash_tensile_load()[source]#

Calculates the squash and tensile load of the reinforced concrete section.

Returns

Tuple[float, float] – Squash and tensile load

capacity_reduction_factor(n_u, n_ub, n_uot, k_uo, phi_0)[source]#

Returns the AS 3600:2018 capacity reduction factor (Table 2.2.2).

n_ub and phi_0 only required for compression, n_uot only required for tension.

Parameters
  • n_u (float) – Axial force in member

  • n_ub (float) – Axial force at balanced point

  • n_uot (float) – Axial force at ultimate tension load

  • k_uo (float) – Neutral axis parameter at pure bending

  • phi_0 (float) – Capacity reduction factor for dominant compression

Returns

float – Capacity reduction factor

get_k_uo(theta)[source]#

Returns k_uo for the reinforced concrete cross-section given theta.

Parameters

theta (float) – Angle (in radians) the neutral axis makes with the horizontal axis (\(-\pi \leq \theta \leq \pi\))

Returns

float – Bending parameter k_uo

get_n_ub(theta)[source]#

Returns n_ub for the reinforced concrete cross-section given theta.

Parameters

theta (float) – Angle (in radians) the neutral axis makes with the horizontal axis (\(-\pi \leq \theta \leq \pi\))

Returns

float – Balanced axial force n_ub

ultimate_bending_capacity(theta=0, n_design=0, phi_0=0.6)[source]#

Calculates the ultimate bending capacity with capacity factors to AS 3600:2018.

Parameters
  • theta (float, default: 0) – Angle (in radians) the neutral axis makes with the horizontal axis (\(-\pi \leq \theta \leq \pi\))

  • n_design (float, default: 0) – Design axial force, N*

  • phi_0 (float, default: 0.6) – Compression dominant capacity reduction factor, see Table 2.2.2(d)

Returns

Tuple[UltimateBendingResults, UltimateBendingResults, float] – Factored and unfactored ultimate bending results objects, and capacity reduction factor (factored_results, unfactored_results, phi)

moment_interaction_diagram(theta=0, limits=[('D', 1.0), ('N', 0.0)], control_points=[('fy', 1.0)], labels=None, n_points=24, n_spacing=None, phi_0=0.6, progress_bar=True)[source]#

Generates a moment interaction diagram with capacity factors to AS 3600:2018.

See concreteproperties.concrete_section.ConcreteSection.moment_interaction_diagram() for allowable control points.

Note

When providing "N" to limits or control_points, "N" is taken to be the unfactored net (nominal) axial load \(N^{*} / \phi\).

Parameters
  • theta (float, default: 0) – Angle (in radians) the neutral axis makes with the horizontal axis (\(-\pi \leq \theta \leq \pi\))

  • limits (List[Tuple[str, float]], default: [('D', 1.0), ('N', 0.0)]) – 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.

  • control_points (List[Tuple[str, float]], default: [('fy', 1.0)]) – List of additional control points to add to the moment interaction diagram. The default control points include the balanced point (fy=1). Control points may lie outside the limits of the moment interaction diagram as long as equilibrium can be found.

  • labels (Optional[List[str]], default: None) – List of labels to apply to the limits and control_points for plotting purposes. The first two values in labels apply labels to the limits, the remaining values apply labels to the control_points. If a single value is provided, this value will be applied to both limits and all control_points. The length of labels must equal 1 or 2 + len(control_points).

  • n_points (int, default: 24) – Number of points to compute including and between the limits of the moment interaction diagram. Generates equally spaced neutral axes between the limits.

  • n_spacing (Optional[int], default: None) – If provided, overrides n_points and generates the moment interaction diagram using n_spacing equally spaced axial loads. Note that using n_spacing negatively affects performance, as the neutral axis depth must first be located for each point on the moment interaction diagram.

  • phi_0 (float, default: 0.6) – Compression dominant capacity reduction factor, see Table 2.2.2(d)

  • progress_bar (bool, default: True) – If set to True, displays the progress bar

Returns

Tuple[MomentInteractionResults, MomentInteractionResults, List[float]] – Factored and unfactored moment interaction results objects, and list of capacity reduction factors (factored_results, unfactored_results, phis)

biaxial_bending_diagram(n_design=0, n_points=48, phi_0=0.6, progress_bar=True)[source]#

Generates a biaxial bending with capacity factors to AS 3600:2018.

Parameters
  • n_design (float, default: 0) – Design axial force, N*

  • n_points (int, default: 48) – Number of calculation points

  • phi_0 (float, default: 0.6) – Compression dominant capacity reduction factor, see Table 2.2.2(d)

  • progress_bar (bool, default: True) – If set to True, displays the progress bar

Returns

Tuple[BiaxialBendingResults, List[float]] – Factored biaxial bending results object and list of capacity reduction factors (factored_results, phis)

calculate_cracked_properties(**kwargs)#

Calculates cracked section properties.

Parameters

kwargs – Keyword arguments passed to calculate_cracked_properties()

Returns

CrackedResults – Cracked results object

calculate_cracked_stress(**kwargs)#

Calculates stresses within the reinforced concrete section assuming a cracked section.

Parameters

kwargs – Keyword arguments passed to calculate_cracked_stress()

Returns

StressResult – Stress results object

calculate_service_stress(**kwargs)#

Calculates service stresses within the reinforced concrete section.

Parameters

kwargs – Keyword arguments passed to calculate_service_stress()

Returns

StressResult – Stress results object

calculate_ultimate_stress(**kwargs)#

Calculates ultimate stresses within the reinforced concrete section.

Parameters

kwargs – Keyword arguments passed to calculate_ultimate_stress()

Returns

StressResult – Stress results object

calculate_uncracked_stress(**kwargs)#

Calculates stresses within the reinforced concrete section assuming an uncracked section.

Parameters

kwargs – Keyword arguments passed to calculate_uncracked_stress()

Returns

StressResult – Stress results object

get_gross_properties(**kwargs)#

Returns the gross section properties of the reinforced concrete section.

Parameters

kwargs – Keyword arguments passed to get_gross_properties()

Returns

GrossProperties – Concrete properties object

get_transformed_gross_properties(**kwargs)#

Transforms gross section properties.

Parameters

kwargs – Keyword arguments passed to get_transformed_gross_properties()

Returns

TransformedGrossProperties – Transformed concrete properties object

moment_curvature_analysis(**kwargs)#

Performs a moment curvature analysis. No reduction factors are applied to the moments.

Parameters

kwargs – Keyword arguments passed to moment_curvature_analysis()

Returns

MomentCurvatureResults – Moment curvature results object