4.2.1.2. CSA S16-24 - Steel Design - Bending

The following functions are provided to check compression of an element.

Contains functions for managing sections specific to CSAo86-19

Note, right now all limits are calculated at once BEFORE the

checkBeamMrSupported(beam: BeamColumnSteelCsa24, useX: bool = True, Cf: float = 0)[source]

Calcualtes Mr for a supported member in Nm. For laterally supported members, Mr is calculated the same way for HSS and W sections. The only exception is class 4 sections, which are not supported by limitstates currently.

Parameters
  • beam (BeamColumnSteelCsa24) – The beam to check the capacity of.

  • useX (TYPE, optional) – A toggle that activates the X direction. The default is True.

  • Cf (float, optional) – The factored compression force of the section in N. The default is 0.

Returns

The capacity of the beam in N*m.

Return type

float

checkBeamMrUnsupported(beam: BeamColumnSteelCsa24, omega2: float = 1, Lu: Optional[float] = None, Cf=0)[source]

Calculates Mr for an unsupported W section according to c.l.13.6.1.a. Does not apply to cantilevers. Note that in the weak axis, the unsupported strength is equal to the supported strength For Hss sections, the unsupported results are the same as the supported results.

For loads applied to a top flange, Mu should be calculated with omega = 1 and Lu = 1.2 for simply supported members, and Lu = 1.4 for other member types.

These can be modified by changing the keff factor in the x direction

Parameters
  • section (SectionSteel) – A W section.

  • omega (float, optional) – The moment distribution factor. The default is 1.

  • Lu (float) – An override for the unbraced length in mm. By defult is none, which will use the design length of the beam in it’s x direction.

Returns

The capacity of the beam in N*m.

Return type

float

checkBeamMrUnsupportedW(beam: BeamColumnSteelCsa24, omega: float = 1, Lu: Optional[float] = None, Cf=0)[source]

Calculates Mr for an unsupported W section according to c.l.13.6.1.a. Does not apply to cantilevers. Note that in the weak axis, the unsupported strength is equal to the supported strength

For loads applied to a top flange, Mu can be calculated with omega = 1 and Lu = 1.2 for simply supported members, and Lu = 1.4 for other member types. The user should set the length of the beam

These can be modified by changing the keff factor in the x direction

Parameters
  • section (SectionSteel) – A W section.

  • omega (float, optional) – The moment distribution factor. The default is 1.

  • Lu (float) – An override for the unbraced length in mm. By defult is none, which will use the design length of the beam in it’s x direction.

  • Cf (float, optional) – The factored compression force of the section in N. The default is 0.

Returns

The capacity of the beam in N*m.

Return type

float

checkSectionMu(section: SectionSteel, Lu: float, omega: float)[source]

Calculates Mu, the laterally unsupported buckling moment, as per c.l. 13.6.1.a, assuming length is input in mm.

Returns capacity in N*m

Parameters
  • section (SectionSteel) – The steel section to check.

  • Lu (float) – The input length in mm.

  • omega (float) – The omega factor to apply to the span..

Returns

The buckling moment for the beam.

Return type

float

classifyFlangeHssSection(section: SectionSteel, useX=True)[source]

Classifys a HSS flange

If useX is toggled true the web is the vertical edge, i.e. height. Otherwise it’s the horizontal edge, i.e. width. Assumes that the section is supported along two edges, and has bending and compression.

see #11.3.2.b. for a definittion of bel

Parameters
  • section (SectionSteel) – The steel section to classify.

  • useX (TYPE, optional) – A toggle that activates the X direction. The default is True.

  • Cf (float, optional) – The factored compression force of the section in N. The default is 0.

Returns

The section class.

Return type

int

classifyFlangeWSection(section: SectionSteel, useX=True)[source]

Used to classify the flange of a W section.

Class 4 sections are not supported.

Parameters
  • section (SectionSteel) – The steel section to check the section class of.

  • useX (bool, optional) – A flag that specifies if the x axis (strong axis) should be used. The default is True.

Returns

section class – The flange section class

Return type

int

classifySection(section: SectionSteel, useX=True, Cf=0)[source]

Used to classify a section, returning the worst case section class for the flange and web. Currently only applies

Class 4 sections are not supported.

Parameters
  • section (SectionSteel) – The steel section to check the section class of.

  • useX (bool, optional) – A flag that specifies if the x axis (strong axis) should be used. The default is True.

  • Cf (float, optional) – The force acting on the section in N. The default is 0.

Returns

section class – The worst case between the section class and web class.

Return type

int

classifyWebHssSection(section: SectionSteel, useX=True, Cf: float = 0)[source]

Classifys a HSS web. The web is the portion of hss the which is in both compression and tension.

If useX is toggled true the web is the vertical edge, i.e. height. Otherwise it’s the horizontal edge, i.e. width. Assumes that the section is supported along two edges, and has bending and compression.

see #11.3.2.c. for a definittion of h

Parameters
  • section (SectionSteel) – The section to classify.

  • useX (bool, optional) – A toggle that activates the X direction. The default is True.

  • Cf (float, optional) – The factored compression force of the section in N. The default is 0.

Returns

The section class.

Return type

int

classifyWebWSection(section: SectionSteel, useX=True, Cf: float = 0)[source]

Used to classify a W section’s web. See #11.3.2.c.

Class 4 sections are not supported.

Parameters
  • section (SectionSteel) – The steel section to check the section class of.

  • useX (bool, optional) – A flag that specifies if the x axis (strong axis) should be used. The default is True.

  • Cf (float, optional) – The force acting on the section in N. The default is 0.

Returns

section class – The web section class.

Return type

int

getOmega1FromDesignDiagram(bmd: DesignDiagram)[source]

Returns the value of Omega1 from a bending moment diagram per c.l. 13.8.6. Assumes that the input bending moment diagram is for a single span.

Linear interoplation is used to determing the y values used in the omega equation.

Parameters

bmd (DesignDiagram) – The bending moment diagram to check for Omega.

Returns

The output value of omega.

Return type

float

The following act on multispan beams specifically:

Contains functions for managing sections specific to CSAo86-19

Note, right now all limits are calculated at once BEFORE the

class SegmentSupportTypes(value)[source]
Options for multispan design checks:
  • If option 1 is selected, the beam is assumed to be continously laterally supported over the entire beam. Note, Mr is the same for each segment.

  • If option 2 is selected, the beam is assumed to be laterally unsupported between supports. In this case, it is assumed the load is applied to the compression flange, and torsional fixity is provided at each support. For W sections, the length is increased by 1.4 per c.l. 13.6.1.

  • If option 3 is selected, then the design propreties will be used to. The user should manually set the attributed Lx, kx, and lateralSupport in the designpropreties. Note, in this case Lx should be the actual length (Not a design length), and kx should be the effective lenght factor.

checkMrBeamMultiSpan(element: BeamColumnSteelCsa24, bmd: Optional[DesignDiagram] = None, lateralSupportType: limitstates.design.csa.s16.c24.beamColumn.SegmentSupportTypes | int = 3)[source]

Returns the Mr value for each region of a multiSpanBeam. Each span is given a value for Mr.

The beam is assumed to bend about it’s strong axis.

Assumes the BMD and member have the same units for length. The designer must judge the torsional support conditions provided and select an option as per below:

1, the beam is assumed to be continously laterally supported over the entire beam. Where there are regions of siginficant negative bending, the bottom chord of the stucture must also be continously braced.

2, the beam is assumed to be laterally unsupported between supports, the load is applied to the at the shear center, and torsional fixity is provided at each support. Omega is calculated per the BMD.

3, the beam is assumed to be laterally unsupported between supports, the load is applied to the top chord, and torsional fixity is provided at each support. For W sections, the length is increased by 1.4 per c.l. 13.6.1., and omega is set to be equal to one.

4, The user should manually set the attributed Lx, kx, and lateralSupportin the designpropreties. Note, in this case Lx should be the actual length (Not a design length), and kx should be the effective lenght factor. Lu = Lx * kx

Parameters
  • element (BeamColumnGlulamCsa19) – The multi-span element to check.

  • bmd (DesignDiagram) – The bending moment diagram for the load case to be checked.

  • lateralSupportType (SegmentSupportTypes | int, optional) –

    The type of lateral support condition for bending. The default is 3:

    • 1 will return a beam lateral restraint on all segments

    • 2 will return a beam with no lateral restraint except at supports

    • 3 will return a beam with no lateral restraint except at supports, and load applied at the top flange.

    • 4 will use the user define support conditions. The Lx, kex, and

    lateralSupport must be set for each beam segment

Returns

  • MrOut (list[float]) – The Mr out for each design segment.

  • xOut (list[float]) – The breakpoints for the beam, including the end of the beam. Moment applies, i.e.

    Mr = MrOut[0] from 0 to xOut[0]

    Mr = MrOut[1] from xOut[0] to xOut[1]

  • omega (list[float]) – The omega factor for each span.