NZS3101#

class concreteproperties.design_codes.nzs3101.NZS3101[source]#

Bases: DesignCode

Design code class for the New Zealand concrete design standard NZS3101:2006.

Also implements the requirements of the NZSEE C5 assessment guidelines for probable strength design.

Note

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

Methods

alpha_1

Calculates alpha_1 scaling factor.

assign_analysis_section

Assigns an analysis section.

assign_concrete_section

Assigns a concrete section and section type to the design code.

beta_1

Calculates beta_1 scaling factor.

biaxial_bending_diagram

Generates a biaxial bending diagram.

calculate_cracked_properties

Calculates cracked section properties.

calculate_cracked_stress

Calculates cracked stresses within the reinforced concrete 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 uncracked stresses within the reinforced concrete section.

capacity_reduction_factor

Calculates the capacity reduction factor.

check_axial_limits

Checks the axial load is within limits.

check_density_limits

Checks density limits.

check_f_c_limits

Checks the concrete strenght complies with the PPHR classification.

check_f_y_limit

Checks the reinforcement strenghts are within limits.

concrete_capacity

Calculates the concrete capacity.

concrete_tensile_strength

Calculates the concrete tensile strength.

create_concrete_material

Returns a concrete material object to NZS3101:2006.

create_os_section

Creates an overstrength concrete section.

create_prob_section

Creates a probable strength concrete section.

create_steel_material

Returns a steel material object specific to the NZS3101:2006 code.

e_conc

Calculates the elastic modulus.

get_gross_properties

Returns the gross section properties of the reinforced concrete section.

get_transformed_gross_properties

Transforms gross section properties.

lamda

Calculates lamda modification factor.

max_comp_strength

Calculates the axial load compressive strength.

max_ten_strength

Calculates the axial load tensile strength.

modulus_of_rupture

Calculates the modulus of rupture.

moment_curvature_analysis

Performs a moment curvature analysis (no reduction factors applied).

moment_interaction_diagram

Generates a moment interaction diagram.

predefined_steel_materials

Returns predefined steel material properties for NZS3101.

prob_compressive_strength

Calculates the probable compressive strength.

steel_capacity

Calculates the steel capacity.

ultimate_bending_capacity

Calculates the ultimate bending capacity.

__init__() None[source]#

Inits the NZS3101 class.

class SteelBarNZ(name: str, density: float, stress_strain_profile: StressStrainProfile, colour: str, steel_grade: str, phi_os: float)[source]#

Bases: SteelBar

Class for an NZ steel bar.

Class for a steel bar material to NZS3101, treated as a lumped circular mass with a constant strain.

Parameters:
  • name (str) – Steel bar material name

  • steel_grade (str) – Designation of the grade of reinforcement bar to be analysed, included predefined current and historic grades are detailed in the NZS3101.create_steel_material() method

  • density (float) – Steel bar density (mass per unit volume)

  • phi_os (float) – Overstrength factor depending on reinforcement grade (\(\phi_{o,f_y}\)), refer to NZS3101:2006 CL 2.6.5.5 or NZSEE C5 assessment guidelines C5.4.3

  • stress_strain_profile (StressStrainProfile) – Steel bar stress-strain profile

  • colour (str) – Colour of the material for rendering

assign_concrete_section(concrete_section: ConcreteSection, section_type: str = 'column') None[source]#

Assigns a concrete section and section type to the design code.

Parameters:
  • concrete_section (ConcreteSection) – Concrete section object to analyse

  • section_type (str) –

    The type of member being analysed:

    • "column" - Analyses assigned concrete section object as a column (or beam) member in accordance with NZS3101:2006 Chapter 9 or 10 as appropriate

    • "wall" - Analyses assigned concrete section object as a doubly reinforced wall member in accordance with NZS3101:2006 Chapter 11

    • "wall_sr_s" - Analyses assigned concrete section object as a singly reinforced wall member in accordance with NZS3101:2006 Chapter 11 for design actions causing bending about the strong axis

    • "wall_sr_m"- Analyses assigned concrete section object as a singly reinforced wall member in accordance with NZS3101:2006 Chapter 11 for design actions causing bending about the minor axis

Raises:
  • ValueError – If the concrete section contains meshed reinforcement

  • ValueError – If section type for the analysis of the concrete section is not valid

assign_analysis_section(analysis_type: str = 'nom_chk') ConcreteSection[source]#

Assigns an analysis section.

Assigns the appropriate concrete section to be analysed depending on the analysis type requested.

Parameters:

analysis_type (str) – The type of cross section analysis to undertake on the defined concrete section, by default a normal nominal strength design check is undertaken, refer to NZS3101.capacity_reduction_factor() for further information on analysis types.

Raises:

ValueError – If analysis type is not valid

Returns:

Returns the appropriate concrete section object for the analysis depending on the analysis type

Return type:

ConcreteSection

e_conc(compressive_strength: float, density: float = 2300) float[source]#

Calculates the elastic modulus.

Calculates Youngs Modulus (\(E_c\)) for concrete in accordance with NZS3101:2006 CL 5.2.3(b).

\(E_c=\displaystyle{4700\sqrt{f'_c}\frac{\rho}{2300}}\)

Parameters:
  • compressive_strength (float) – 28 day compressive concrete strength (MPa)

  • density (float) – Concrete density \(\rho\) in accordance with NZS3101:2006 CL 5.2.2, defaults to 2300 kg/m3 for normal weight concrete

Returns:

\(E_c\), Youngs Modulus (MPa)

Return type:

float

check_density_limits(density: float, low_limit: float, high_limit: float) None[source]#

Checks density limits.

Checks that the density is within the bounds outlined within NZS3101:2006 CL 5.2.2 for the elastic modulus expression within NZS3101:2006 CL 5.2.3(b) to be valid.

Parameters:
  • density (float) – Concrete density \(\rho\) in accordance with NZS3101:2006 CL 5.2.2

  • low_limit (float) – Lower limit for density from NZS3101:2006 CL 5.2.2

  • high_limit (float) – Upper limit for density from NZS3101:2006 CL 5.2.2

Raises:

ValueError – If density is outside of the limits within NZS3101:2006 CL 5.2.2

alpha_1(compressive_strength: float) float[source]#

Calculates alpha_1 scaling factor.

Scaling factor relating the nominal 28 day concrete compressive strength to the effective concrete compressive strength used for design purposes within the concrete stress block. For an equivalent rectangular compressive stress block it relates the 28 day concrete compressive strength (\(f'_c\)) to the average concrete compressive design strength (\(f_{ave}\)). A function of the concrete compressive strength.

\(\quad\alpha_1=\displaystyle{\frac{f_{ave}}{f'_c}}\)

where:

\(\quad\alpha_1=0.85-0.004(f'_c-55)\quad:0.75\leq\alpha_1\leq0.85\)

Parameters:

compressive_strength (float) – 28 day compressive design strength (MPa)

Returns:

\(\alpha_1\) factor

Return type:

float

beta_1(compressive_strength: float) float[source]#

Calculates beta_1 scaling factor.

Scaling factor relating the depth of an equivalent rectangular compressive stress block (\(a\)) to the depth of the neutral axis (\(c\)). A function of the concrete compressive strength.

\(\quad\beta_1=\displaystyle{\frac{a}{c}}\)

where:

\(\quad\beta_1=0.85-0.008(f'_c-30)\quad:0.65\leq\beta_1\leq0.85\)

Parameters:

compressive_strength (float) – 28 day compressive design strength (MPa)

Returns:

\(\beta_1\) factor

Return type:

float

lamda(density: float) float[source]#

Calculates lamda modification factor.

Modification factor reflecting the reduced mechanical properties of lightweight concrete relative to normal weight concrete of the same compression strength.

\(\quad\lambda=0.4+\displaystyle{\frac{0.6\rho}{2200}}\leq1.0\)

Parameters:

density (float) – Saturated surface dry density of concrete material

Returns:

\(\lambda\) factor

Return type:

float

concrete_tensile_strength(compressive_strength: float, density: float = 2300, prob_design: bool = False) float[source]#

Calculates the concrete tensile strength.

Calculates the lower characteristic tensile strength of concrete (\(f_t\)) in accordance with NZS3101:2006 CL 5.2.4, or calculates the probable tensile strength of concrete in accordance with NZSEE C5 assessment guidelines C5.4.2.4.

For design to NZS3101:2006:

\(\quad f_t=0.38\lambda({f'_c})^{0.5}\)

For design to NZSEE C5 assessment guidelines:

\(\quad f_{ct}=0.55({f'_{cp}})^{0.5}\)

Parameters:
  • compressive_strength (float) – 28 day compressive design strength (MPa)

  • density (float) – Saturated surface dry density of concrete material

  • prob_design (bool) – True if the probable tensile strength of concrete is to be calculated in accordance with NZSEE C5 assessment guidelines

Returns:

Lower characteristic (\(f_t\)) or probable (\(f_{ct}\)) tensile strength of concrete

Return type:

float

modulus_of_rupture(compressive_strength: float, density: float = 2300) float[source]#

Calculates the modulus of rupture.

Calculates the average modulus of rupture of concrete (\(f_r\)) in accordance with NZS3101:2006 CL 5.2.5 for deflection calculations.

\(\quad f_r=0.6\lambda({f'_c})^{0.5}\)

Parameters:
  • compressive_strength (float) – 28 day compressive design strength (MPa)

  • density (float) – Saturated surface dry density of concrete material

Returns:

Modulus of rupture (\(f_r\))

Return type:

float

prob_compressive_strength(compressive_strength: float) float[source]#

Calculates the probable compressive strength.

Calculate the probable compressive strength of concrete in accordance with NZSEE C5 assessement guidelines C5.4.2.2.

Taken as the nominal 28-day compressive strenght of the concrete specified for the original construciton, multiplied by 1.5 for strengths less than or equal to 40 MPa, and 1.4 for strengths greater than 40 MPa.

Parameters:

compressive_strength (float) – 28 day compressive design strength (MPa)

Returns:

Probable comopressive strength of concrete (\(f'_{cp}\))

Return type:

float

concrete_capacity(os_design: bool = False, prob_design: bool = False, add_compressive_strength: float = 15) float[source]#

Calculates the concrete capacity.

Function to return the nominal, overstrength or probable concrete capacity capacity of a concrete section.

  • Note for a column section type outputs the unfactored concrete yield force for a column member designed in accordance with NZS3101:2006 Chapter 10 based on net concrete area:

    \(\quad N_c = \alpha_1A_nf'_c\)

  • Note for a wall section type outputs the unfactored concrete yield force for a doubly or singly reinforced wall member designed in accordance with NZS3101:2006 Chapter 11 based on gross concrete area:

    \(\quad N_c = A_gf'_c\)

Parameters:
  • os_design (bool) – True if an overstrength capacity of a concrete section is required, then the material properties for concrete are scaled to reflect the likely maximum material strength properties

  • prob_design (bool) – True if the probable capacity of a concrete section is required, then the material properties for concrete and lumped reinforcement are scaled to reflect the probable material strength properties

  • add_compressive_strength (float) – The increase in compressive strength of the specified 28 day compressive strength of concrete to reflect the likely maximum material strength, defaults to an additional 15 MPa as per NZS3101:2006 CL 2.6.5.5(c)

Raises:

ValueError – If section type for the analysis of the concrete section is not valid

Returns:

Nominal, overstrength or probable concrete yield force (N) for the defined section/member type provided

Return type:

float

steel_capacity(os_design: bool = False, prob_design: bool = False) float[source]#

Calculates the steel capacity.

Function to return the nominal, overstrength or probable steel reinforcement capacity of a concrete section.

Parameters:
  • os_design (bool) – True if an overstrength capacity of a concrete section is required, then the material properties for lumped reinforcement are scaled to reflect the likely maximum material strength properties

  • prob_design (bool) – True if the probable capacity of a concrete section is required, then the material properties for concrete and lumped reinforcement are scaled to reflect the probable material strength properties

Raises:

ValueError – If concrete section contains a steel material that is not NZS3101.SteelBarNZ

Returns:

Nominal, overstrength or probable steel yield force (N)

Return type:

float

max_comp_strength(cpe_design: bool = False, os_design: bool = False, prob_design: bool = False) float[source]#

Calculates the axial load compressive strength.

Function to return the nominal, overstrength or probable axial load compressive strength of a concrete section when the load is applied with zero eccentricity.

For column members, the maximum design load in compression is as follows:

For non-capacity design situations, refer to NZS3101:2006 CL 10.3.4.2:

\(\quad\displaystyle{\frac{N^*}{\phi} < 0.85N_{n,max}}\)

For capacity design situations, refer to NZS3101:2006 CL 10.4.4:

\(\quad N^*_o < 0.7N_{n,max}\)

where:

\(\quad N_{n,max} = \alpha_1f'_c(A_g-A_{st})+f_yA_{st}\)

For doubly reinforced wall members, the maximum design load in compression is as follows:

For non-capacity design situations, refer to NZS3101:2006 CL 11.3.1.6:

\(\quad\displaystyle{\frac{N^*}{\phi} < 0.3A_gf'_c}\)

For ductile wall design situations within potential plastic regions, refer to NZS3101:2006 CL 11.4.1.1:

\(\quad N^*_o < 0.3A_gf'_c\)

For singly reinforced wall members, the maximum design load in compression depends on the axis the design actions are causing bending about:

Warning

Note singly reinforced walls are only allowed in nominally ductile structures designed in accordance with NZS3101:2006.

Refer NZS3101:2006 Chapter 2 & 11 for other limitations on the use of singly reinforced walls.

Note because of the different maximum axial compression load limits and strength reduction factors for singly reinforced walls depending upon the bending axis, care should be taken to only analyse a singly reinforced wall member about the appropriate axis. Engineering judgement should be exercised when analysing a singly reinforced wall about non-principal axes.

For design situations where the design actions cause bending about the strong axis of a singly reinforced wall, refer to NZS3101:2006 CL 11.3.1.6:

\(\quad N^* < 0.015A_gf'_c\)

For design situations where the design actions cause bending about the minor axis of a singly reinforced wall, refer to NZS3101:2006 CL 11.3.5:

\(\quad N^* < 0.06A_gf'_c\)

Parameters:
  • cpe_design (bool) – True if the capacity protected element capacity of a concrete section is required (i.e. design capacity being checked against O/S actions)

  • os_design (bool) – True if the overstrength capacity of a concrete section is required, then the material properties for concrete and lumped reinforcement are scaled to reflect the likely maximum material strength properties

  • prob_design (bool) – True if the probable capacity of a concrete section is required, then the material properties for concrete and lumped reinforcement are scaled to reflect the probable material strength properties

Returns:

Returns the nominal, overstrength or probable axial load compressive strength of a concrete section \(N_{n,max}\)

Return type:

float

max_ten_strength(os_design: bool = False, prob_design: bool = False) float[source]#

Calculates the axial load tensile strength.

Function to return the nominal axial load tension strength of a concrete section when the load is applied with zero eccentricity.

\(\quad N_{t,max} = f_yA_{st}\)

Parameters:
  • os_design (bool) – True if an overstrength capacity of a concrete section is required, then the material properties for concrete and lumped reinforcement are scaled to reflect the likely maximum material strength properties

  • prob_design (bool) – True if the probable capacity of a concrete section is required, then the material properties for concrete and lumped reinforcement are scaled to reflect the probable material strength properties

Returns:

Returns the nominal, overstrength or probable axial tension strength of a concrete section \(N_{t,max}\)

Return type:

float

check_axial_limits(n_design: float, phi: float, cpe_design: bool = False, os_design: bool = False, prob_design: bool = False, n_scale: float = 0.001) None[source]#

Checks the axial load is within limits.

Checks that the specified axial load is within the maximum tensile and compressive capacity of the concrete cross section.

Parameters:
  • n_design (float) – Axial design force (\(N^*\))

  • phi (float) – Strength reduction factor \(\phi\)

  • cpe_design (bool) – True if the capacity protected element capacity of a concrete section is required (i.e. design capacity being checked against O/S actions)

  • os_design (bool) – True if the overstrength capacity of a concrete section is required, then the material properties for concrete and lumped reinforcement are scaled to reflect the likely maximum material strength properties

  • prob_design (bool) – True if the probable capacity of a concrete section is required, then the material properties for concrete and lumped reinforcement are scaled to reflect the probable material strength properties

  • n_scale (float) – Scaling factor to apply to axial load

Raises:

ValueError – If the supplied axial load is less than or greater than the the tensile or compressive strength of a concrete section

check_f_y_limit() None[source]#

Checks the reinforcement strenghts are within limits.

Checks that the specified steel reinforcement strengths for all defined steel geometries comply with NZS3101:2006 CL 5.3.3.

Note

Note this check does not apply to predefined steel materials based on probable strength properties.

Raises:
  • ValueError – If concrete section contains a steel material that is not NZS3101.SteelBarNZ

  • ValueError – If characteristic steel reinforcement yield strength is greater than the 500MPa limit in NZS3101:2006 CL 5.3.3

check_f_c_limits(pphr_class: str) None[source]#

Checks the concrete strenght complies with the PPHR classification.

Checks that a valid Potential Plastic Hinge Region (PPHR) classification has been specified, and that the specified compressive strengths for all defined concrete geometries comply with NZS3101:2006 CL 5.2.1 for the specified PPHR classification.

Parameters:

pphr_class (str) – Potential Plastic Hinge Region (PPHR) classification, "NDPR"/"LDPR"/"DPR"

Raises:
  • ValueError – If specified Potential Plastic Hinge Region (PPHR) classification is not NDPR, LDPR or DPR

  • ValueError – If specified compressive strength for a concrete geometry is not between 20 MPa and 100 MPa for NDPR PPHR’s, or is not between 20 MPa and 70 MPa for LDPR or DPR PPHR’s

PPHR Classifications

  • NDPR = Nominally Ductile Plastic Region

  • LDPR = Limited Ductile Plastic Region

  • DPR = Ductile Plastic Region

create_concrete_material(compressive_strength: float, ultimate_strain: float = 0.003, density: float = 2300, colour: str = 'lightgrey') Concrete[source]#

Returns a concrete material object to NZS3101:2006.

Material assumptions

  • Density: Defaults to 2300 kg/m3 unless supplied as user input

  • Elastic modulus: Calculated from NZS3101:2006 Eq. 5-1

  • Serviceability stress-strain profile: Linear with no tension

  • Ultimate stress-strain profile: Rectangular stress block, parameters from NZS3101:2006 CL 7.4.2.7, maximum compressive strain of 0.003

  • Lower characteristic tensile strength of concrete: Calculated from NZS3101:2006 Eq. 5-2

Parameters:
  • compressive_strength (float) – 28 day compressive design strength (MPa)

  • ultimate_strain (float) – Maximum concrete compressive strain at crushing of the concrete for design

  • density (float) – Saturated surface dry density of concrete material

  • colour (str) – Colour of the concrete for rendering, defaults to ‘lightgrey’

Returns:

Concrete material object

Return type:

Concrete

predefined_steel_materials() tuple[dict, list[str], list[str]][source]#

Returns predefined steel material properties for NZS3101.

Returns a list of predefined material properties for steel grades for design to NZS3101:2006 & NZSEE C5 assessment guidelines.

Refer to NZS3101.create_steel_material() for details of predefined steel grades.

Returns:

Returns a dict with standard predefined steel material properties based on current steel grade 300E & 500E material properties in accordance with NZS3101:2006, and based on historic steel grade material properties in accordance with NZSEE C5 assessment guidelines.

Returns a list with predefined material grades that have been defined on characteristic strength material properties and a list of predefined material grades that have been defined based on probable strength material properties.

Return type:

tuple[dict, list[str], list[str]]

Dictionary keys

Dict key

Description

1

Charateristic yield strength (\(f_y\)) or probable yield strength (\(f_{yp}\))

2

Fracture strain (\(\varepsilon_{su}\))

3

Overstrength factor (\(\phi_{o,f_y}\) or \(\phi_o\)) (note if probable strength based material property is specified then the true O/S factor to be applied against the characteristic yield strength is 1.08 times this value).

4

True if probable strength based yield strength & overstrength factor. False if lower characteristic strength based yield strength & overstrength factor.

create_steel_material(steel_grade: str | None = None, yield_strength: float | None = None, fracture_strain: float | None = None, phi_os: float | None = None, colour: str = 'red') SteelBarNZ[source]#

Returns a steel material object specific to the NZS3101:2006 code.

Material assumptions

  • Density: 7850 kg/m3

  • Elastic modulus: 200000 MPa

  • Stress-strain profile: Elastic-plastic, fracture strain \(\varepsilon_{su}\) from AS/NZS4671 Table 7.2(A) or NZSEE C5 assessment guidelines (for historic reinforcement grades)

Parameters:
  • steel_grade (str | None) – Designation of the grade of reinforcement bar to be analysed, included predefined current and historic grades. See below for further information.

  • yield_strength (float | None) – Steel characteristic yield strength (MPa). Note for a predefined steel grade based on probable strength properties this is interpreted as the probable yield strength. Also note for a user defined steel grade, this is always entered on the basis of a characteristic yield strength, even if undertaking a probable strength based analysis. The analysis will internally scale the characteristic yield stress by 1.08 as per NZSEE C5 assessment guidelines C5.4.3.

  • fracture_strain (float | None) – Lower bound tensile strain (\(\varepsilon_{su}\)), based on characteristic uniform elongation limit from AS/NZS4671 Table 7.2(A) or NZSEE C5 assessment guidelines Table C5.4.

  • phi_os (float | None) – Overstrength factor depending on reinforcement grade (\(\phi_{o,f_y}\) or \(\phi_o\)), refer to NZS3101:2006 CL 2.6.5.5, or for a probable strength assessment to the NZSEE C5 assessment guidelines refer to NZSEE C5 Table C5.4.

  • colour (str) – Colour of the steel for rendering, if user does not provide a value, characteristic strength based materials will be rendered as red, and probable strength based materials will be rendered as blue.

Raises:

RuntimeError – If a predefined steel grade is not provided and the required material properties have not been provided. For creating a user defined steel material, values for yield_strength, fracture_strain & phi_os are required to define a valid user defined material.

Returns:

Steel bar material object

Return type:

SteelBarNZ

Note

Steel grade designation

By using a valid steel grade designation the required input parameters are initiated with the required values for current reinforcement grades from the AS/NZS4671 standard or for historic grades from the NZSEE C5 assessment guidelines. Note user may overwrite any parameter of a predefined material by providing that parameter as input to NZS3101.create_steel_material().

Note if no predefined steel grade is provided, a steel grade name of 'user_' + yield strength is utilised.

NZS3101:2006 & NZSEE C5 asessment guidelines predefined steel materials

NZS3101:2006 characteristic yield strength based predefined materials:

  • ""300e"" - Use for design to NZS3101:2006 provisions

    • Characteristic yield strength \(f_y\) = 300 MPa

    • Fracture strain \(\varepsilon_{su}\) = 15% or 0.15

    • Overstrength factor \(\phi_{o,f_y}\) = 1.35

  • ""500e"" - Use for design to NZS3101:2006 provisions

    • Characteristic yield strength \(f_y\) = 500 MPa

    • Fracture strain \(\varepsilon_{su}\) = 10% or 0.10

    • Overstrength factor \(\phi_{o,f_y}\) = 1.35

NZSEE C5 guidelines probable yield strength based predefined materials:

  • ""pre_1945""- Use for probable strength design to NZSEE C5 assessment guidelines

    • Probable yield strength \(f_{yp}\) = 280 MPa

    • Fracture strain \(\varepsilon_{su}\) = 10% or 0.10

    • Overstrength factor \(\phi_{f_o}\) = 1.25

  • ""33"" - Use for probable strength design to NZSEE C5 assessment guidelines

    • Probable yield strength \(f_{yp}\) = 280 MPa

    • Fracture strain \(\varepsilon_{su}\) = 10% or 0.10

    • Overstrength factor \(\phi_{f_o}\) = 1.25

  • ""40"" - Use for probable strength design to NZSEE C5 assessment guidelines

    • Probable yield strength \(f_{yp}\) = 324 MPa

    • Fracture strain \(\varepsilon_{su}\) = 15% or 0.15

    • Overstrength factor \(\phi_{f_o}\) = 1.25

  • ""275"" - Use for probable strength design to NZSEE C5 assessment guidelines

    • Probable yield strength \(f_{yp}\) = 324 MPa

    • Fracture strain \(\varepsilon_{su}\) = 15% or 0.15

    • Overstrength factor \(\phi_{f_o}\) = 1.25

  • ""hy60"" - Use for probable strength design to NZSEE C5 assessment guidelines

    • Probable yield strength \(f_{yp}\) = 455 MPa

    • Fracture strain \(\varepsilon_{su}\) = 12% or 0.12

    • Overstrength factor \(\phi_{f_o}\) = 1.5

  • ""380"" - Use for probable strength design to NZSEE C5 assessment guidelines

    • Probable yield strength \(f_{yp}\) = 455 MPa

    • Fracture strain \(\varepsilon_{su}\) = 12% or 0.12

    • Overstrength factor \(\phi_{f_o}\) = 1.5

  • ""430"" - Use for probable strength design to NZSEE C5 assessment guidelines

    • Probable yield strength \(f_{yp}\) = 464 MPa

    • Fracture strain \(\varepsilon_{su}\) = 12% or 0.12

    • Overstrength factor \(\phi_{f_o}\) = 1.25

  • ""300"" - Use for probable strength design to NZSEE C5 assessment guidelines

    • Probable yield strength \(f_{yp}\) = 324 MPa

    • Fracture strain \(\varepsilon_{su}\) = 15% or 0.15

    • Overstrength factor \(\phi_{f_o}\) = 1.25

  • ""500n"" - Use for probable strength design to NZSEE C5 assessment guidelines

    • Probable yield strength \(f_{yp}\) = 500 MPa

    • Fracture strain \(\varepsilon_{su}\) = 5% or 0.05

    • Overstrength factor \(\phi_{f_o}\) = 1.5

  • ""500"" - Use for probable strength design to NZSEE C5 assessment guidelines

    • Probable yield strength \(f_{yp}\) = 540 MPa

    • Fracture strain \(\varepsilon_{su}\) = 10% or 0.10

    • Overstrength factor \(\phi_{f_o}\) = 1.25

  • ""cd_mesh"" - Use for probable strength design to NZSEE C5 assessment guidelines

    • Probable yield strength \(f_{yp}\) = 600 MPa

    • Fracture strain \(\varepsilon_{su}\) = 1.5% or 0.015

    • Overstrength factor \(\phi_{f_o}\) = 1.2

  • ""duc_mesh"" - Use for probable strength design to NZSEE C5 assessment guidelines

    • Probable yield strength \(f_{yp}\) = 500 MPa

    • Fracture strain \(\varepsilon_{su}\) = 3% or 0.03

    • Overstrength factor \(\phi_{f_o}\) = 1.2

capacity_reduction_factor(analysis_type: str) tuple[float, bool, bool, bool][source]#

Calculates the capacity reduction factor.

Returns the appropriate NZS3101:2006 or NZSEE C5 assessment guidelines capacity reduction factor dependant on the type of analysis specified. Refer to NZS3101:2006 CL 2.3.2.2 or NZSEE C5 assessment guidelines C5.5.1.4.

Parameters:

analysis_type (str) –

The type of cross section analysis to undertake on the defined concrete section, by default a normal nominal strength design check is undertaken:

  • "nom_chk" - Nominal strength design check.

    Returns the normal nominal strength section design capacity, i.e. undertakes the cross section analysis based on the following assumptions:

    • Using a strength reduction factor of \(\phi\) = 0.85 in accordance with NZS3101:2006 CL 2.3.2.2.

      • Except that for a singly reinforced wall for in-plane actions (flexure about the strong axis) a strength reduction factor of \(\phi\) = 0.7 applies in accordance with NZS3101:2006 CL 2.3.2.2.

    • Using the lower 5% characteristic reinforcement yield strengths.

    • Using the lower 5% characteristic concrete 28 day compressive design strength.

  • "cpe_chk" - Capacity Protected Element (CPE) strength design check.

    Returns the capacity protected element section design capacity, i.e. undertakes the cross section analysis based on the following assumptions:

    • Using a strength reduction factor of \(\phi\) = 1.0 in accordance with NZS3101:2006 CL 2.3.2.2.

    • Using the lower 5% characteristic reinforcement yield strengths.

    • Using the lower 5% characteristic concrete 28 day compressive design strength.

  • "os_chk" - Overstrength (O/S) strength design check.

    Returns the O/S (overstrength) section design capacity, i.e. undertakes the cross section analysis based on the following assumptions:

    • Using a strength reduction factor of \(\phi\) = 1.0 in accordance with NZS3101:2006 CL 2.3.2.2.

    • Using a likely maximum reinforcement yield strength of \(\phi_{o,f_y}f_y\), typically \(\phi_{o,f_y}=1.35\) in accordance with NZS3101:2006 CL 2.6.5.5(a) for grade 300E or grade 500E reinforcement which complies with AS/NZS4671. User may define custom overstrength factors when defining steel reinforcement materials using NZS3101.SteelBarNZ.

    • Using a likely maximum compression strength of the concrete based on the lower 5% characteristic concrete 28 day strength plus 15 MPa, i.e. \(f'_c\) + 15 in accordance with NZS3101:2006 CL 2.6.5.5(c).

  • "prob_chk" - Probable strength design check to NZSEE C5 guidelines based on NZS3101:2006 analysis provisions.

    Returns the probable strength section design capacity, i.e. undertakes the cross section analysis based on the following assumptions:

    • Using a strength reduction factor of \(\phi\) = 1.0 in accordance with NZSEE C5 assessment guidelines C5.5.1.4.

    • Using the probable reinforcement yield strengths in accordance with NZSEE C5 assessment guidelines C5.4.3, typically \(f_{yp}=1.08f_y\) in accordance with NZSEE C5 assessment guidelines C5.4.3. User may define custom probable strengths when defining steel reinforcement materials using NZS3101.SteelBarNZ. Note if one of the predefined probable strength based steel grade materials are being utilised, then the yield strength is inclusive of the 1.08 factor noted above.

    • Using the probable compressive strength of the concrete in accordance with NZSEE C5 guidelines C5.4.2.2, typically for specified 28 day concrete compressive strengths of less than or equal to 40 MPa, \(f'_{cp}=1.5f'_c\), and for greater than 40 MPa, \(f'_{cp}=1.4f'_c\).

  • "prob_os_chk" - Probable overstrength design check to NZSEE C5 guidelines based on NZS3101:2006 analysis provisions.

    Returns the probable O/S (overstrength) strength section design capacity, i.e. undertakes the cross section analysis based on the following assumptions:

    • Using a strength reduction factor of \(\phi\) = 1.0 in accordance with NZSEE C5 assessment guidelines C5.5.1.4.

    • Using the probable overstrength reinforcement yield strengths in accordance with NZSEE C5 assessment guidelines C5.4.3, typically \(f_o=\phi_of_{yp}\) in accordance with NZSEE C5 assessment guidelines C5.4.3 & C5.5.2.3. User may define custom overstrength factors strengths when defining steel reinforcement materials using NZS3101.SteelBarNZ. Note if one of the predefined probable strength based steel grade materials are being utilised, then the overstrength factor being applied to the yield strength is inclusive of the 1.08 factor on the lower bound yield strength.

      \(\quad\phi_o=\displaystyle{\frac{f_o}{f_{yp}}}\)

      where:

      \(\quad f_{yp}=1.08f_y\)

    • Using the probable compressive strength of the concrete in accordance with NZSEE C5 guidelines C5.4.2.2, typically for specified 28 day concrete compressive strengths of less than or equal to 40 MPa, \(f'_{cp}=1.5f'_c\), and for greater than 40 MPa, \(f'_{cp}=1.4f'_c\).

      Note there is no enhancement to concrete strength for overstrength checks in accordance with the NZSEE C5 assessment guidelines.

Raises:
  • ValueError – If analysis type is not valid

  • ValueError – If concrete section contains a steel material that is not NZS3101.SteelBarNZ

  • RuntimeError – If a characteristic strength based analysis is specified, but a predefined probable strength based steel grade has been specified. Undertaking a non NZSEE C5 assessment guidelines analysis on a probable strength based steel grade is not consistent with an analysis to NZS3101:2006.

Returns:

Returns the appropriate strength reduction factor \(\phi\) and variables to indicate the type of analysis being requested.

Return type:

tuple[float, bool, bool, bool]

create_os_section(add_compressive_strength: float = 15) ConcreteSection[source]#

Creates an overstrength concrete section.

Creates a concrete section with likely maximum material strength properties for a cross section analysis to NZS3101:2006. Concrete and steel reinforcement strength properties are modified in accordance with NZS3101:2006 CL 2.6.5.5 to reflect likely maximum material strengths.

Parameters:

add_compressive_strength (float) – The increase in compressive strength of the specified 28 day compressive strength of concrete to reflect the likely maximum material strength, defaults to an additional 15 MPa as per NZS3101:2006 CL 2.6.5.5(c)

Raises:

ValueError – If concrete section contains a steel material that is not NZS3101.SteelBarNZ

Returns:

Returns a concrete section with material strengths modified to reflect likely maximum material strengths to enable an overstrength based analysis to be undertaken

Return type:

ConcreteSection

create_prob_section(os_design: bool = False) ConcreteSection[source]#

Creates a probable strength concrete section.

Creates a concrete section with probable strength material properties for a cross section analysis to NZS3101:2006 & NZSEE C5 assessment guidelines. Concrete and steel reinforcement strength properties are modified in accordance with NZSEE C5 assessment guidelines C5.4.2.2 & C5.4.3.

Parameters:

os_design (bool) – True if an overstrength probable capacity of a concrete section is required, then the material properties for concrete and lumped reinforcement are scaled to reflect the probable overstrength material strength properties, defaults to False which only scales the material properties for concrete to reflec tthe probable material strength properties

Raises:

ValueError – If concrete section contains a steel material that is not NZS3101.SteelBarNZ

Returns:

Returns a concrete section with material strengths modified to reflect probable material strengths or probable overstrength material strengths, to enable a probable strength or probable overstrength based analysis to be undertaken

Return type:

ConcreteSection

ultimate_bending_capacity(pphr_class: str = 'NDPR', analysis_type: str = 'nom_chk', theta: float = 0.0, n_design: float = 0.0) tuple[UltimateBendingResults, UltimateBendingResults, float][source]#

Calculates the ultimate bending capacity.

Calculates the ultimate bending capacity with capacity factors to NZS3101:2006 or the NZSEE C5 assessment guidelines dependant on analysis type.

Parameters:
  • pphr_class (str) – Potential Plastic Hinge Region (PPHR) classification, "NDPR"/"LDPR"/"DPR"

  • analysis_type (str) – The type of cross section analysis to undertake on the defined concrete section, by default a normal nominal strength design check is undertaken, refer to NZS3101.capacity_reduction_factor() for further information on analysis types.

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

  • n_design (float) – Axial design force (\(N^*\))

Returns:

Factored and unfactored ultimate bending results objects, and capacity reduction factor (factored_results, unfactored_results, phi)

Return type:

tuple[UltimateBendingResults, UltimateBendingResults, float]

PPHR Classifications

  • NDPR = Nominally Ductile Plastic Region

  • LDPR = Limited Ductile Plastic Region

  • DPR = Ductile Plastic Region

moment_interaction_diagram(pphr_class: str = 'NDPR', analysis_type: str = 'nom_chk', theta: float = 0, control_points: list[tuple[str, float]] | None = None, labels: list[str] | None = None, n_points: int = 24, n_spacing: int | None = None, max_comp_labels: list[str] | None = None, progress_bar: bool = True) tuple[MomentInteractionResults, MomentInteractionResults, list[float]][source]#

Generates a moment interaction diagram.

Generates a moment interaction diagram with capacity factors and material strengths to NZS3101:2006 or the NZSEE C5 assessment guidelines dependant on analysis type.

Parameters:
  • pphr_class (str) – Potential Plastic Hinge Region (PPHR) classification, "NDPR"/"LDPR"/"DPR"

  • analysis_type (str) – The type of cross section analysis to undertake on the defined concrete section, by default a normal nominal strength design check is undertaken, refer to NZS3101.capacity_reduction_factor() for further information on analysis types.

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

  • 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, the 50% reinforcement strain point, the 0% reinforcement strain point (fy=1, fy=0.5, fy=0), and the pure bending point (N=0), i.e. [("fy", 1.0), ("fy", 0.5), ("fy", 0.0), ("N", 0.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 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) – 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 (int | 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.

  • max_comp_labels (list[str] | None) – Labels to apply to the max_comp intersection points, first value is at zero moment, second value is at the intersection with the interaction diagram.

  • 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]]

PPHR Classifications

  • NDPR = Nominally Ductile Plastic Region

  • LDPR = Limited Ductile Plastic Region

  • DPR = Ductile Plastic Region

biaxial_bending_diagram(pphr_class: str = 'NDPR', analysis_type: str = 'nom_chk', n_design: float = 0.0, n_points: int = 48, progress_bar: bool = True) tuple[BiaxialBendingResults, list[float]][source]#

Generates a biaxial bending diagram.

Generates a biaxial bending with capacity factors to NZS3101:2006 or the NZSEE C5 assessment guidelines dependant on analysis type.

Parameters:
  • pphr_class (str) – Potential Plastic Hinge Region (PPHR) classification, "NDPR"/"LDPR"/"DPR"

  • analysis_type (str) – The type of cross section analysis to undertake on the defined concrete section, by default a normal nominal strength design check is undertaken, refer to NZS3101.capacity_reduction_factor() for further information on analysis types.

  • n_design (float) – Axial design force (\(N^*\))

  • n_points (int) – Number of calculation points for neutral axis orientation

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

Returns:

Factored biaxial bending results object and list of capacity reduction factors (factored_results, phis)

Return type:

tuple[BiaxialBendingResults, list[float]]

PPHR Classifications

  • NDPR = Nominally Ductile Plastic Region

  • LDPR = Limited Ductile Plastic Region

  • DPR = Ductile Plastic Region

calculate_cracked_properties(**kwargs) CrackedResults#

Calculates cracked section properties.

Parameters:

kwargs – Keyword arguments passed to calculate_cracked_properties()

Returns:

Cracked results object

Return type:

CrackedResults

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:

StressResult

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:

StressResult

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:

StressResult

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:

StressResult

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:

GrossProperties

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:

TransformedGrossProperties

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:

MomentCurvatureResults