m_n_kappa.Steel#

class m_n_kappa.Steel(f_y=None, f_u=None, failure_strain=None, E_a=210000.0)#

Bases: Material

Steel material

New in version 0.1.0.

Provides a stress-strain material behaviour of structural steel material. It is assumed that steel has the same behaviour under tension and under compression.

Note

Assumes Newton (N) and Millimeter (mm) as basic units. In case other units are used appropriate value for modulus of elasticity E_a must be provided.

Parameters:
  • f_y (float) – yield strength \(f_\mathrm{y}\) (Default: None)

  • f_u (float) – tensile strength \(f_\mathrm{u}\) (Default: None)

  • failure_strain (float) – tensile strain \(\varepsilon_\mathrm{u}\) (Default: None)

  • E_a (float) – modulus of elasticity \(E_\mathrm{a}\) (Default: 210000 N/mm 2)

See also

Concrete

material-behaviour of concrete

Reinforcement

material-behaviour of reinforcement

Notes

../_images/material_steel_elastic-light.svg
../_images/material_steel_elastic-dark.svg

Elastic stress-strain-relationship of steel#

../_images/material_steel_bilinear-light.svg
../_images/material_steel_bilinear-dark.svg

Bi-linear stress-strain-relationship of steel#

../_images/material_steel_trilinear-light.svg
../_images/material_steel_trilinear-dark.svg

Bi-linear stress-strain-relationship with hardening of steel#

Examples

The stress-strain-relationships consists always of a number of StressStrain points. Three forms of the stress-strain relationship are possible:

  1. f_u = None and epsilon_u = None: Linear-elastic behaviour.

>>> from m_n_kappa import Steel
>>> elastic_steel = Steel()
>>> elastic_steel.stress_strain
[StressStrain(stress=-210000.0, strain=-1.0), StressStrain(stress=-0.0, strain=-0.0), StressStrain(stress=210000.0, strain=1.0)]
  1. f_u = None: Bi-linear behaviour where f_u = f_y

>>> bilinear_steel = Steel(f_y=355, failure_strain=0.15)
>>> bilinear_steel.stress_strain
[StressStrain(stress=-355.0, strain=-0.15), StressStrain(stress=-355.0, strain=-0.0016905), StressStrain(stress=-0.0, strain=-0.0), StressStrain(stress=355.0, strain=0.0016905), StressStrain(stress=355.0, strain=0.15)]
  1. All values are not none: Bi-linear behaviour with following stress-strain points (\(f_\mathrm{y}\) | \(\varepsilon_\mathrm{y}\)), (\(f_\mathrm{u}\) | \(\varepsilon_\mathrm{u}\)). Where the strain at yield is computed like \(\varepsilon_\mathrm{y} = f_\mathrm{y} / E_\mathrm{a}\)

>>> steel = Steel(f_y=355, f_u=400, failure_strain=0.15)
>>> steel.stress_strain
[StressStrain(stress=-400.0, strain=-0.15), StressStrain(stress=-355.0, strain=-0.0016905), StressStrain(stress=-0.0, strain=-0.0), StressStrain(stress=355.0, strain=0.0016905), StressStrain(stress=400.0, strain=0.15)]

Methods

get_intermediate_strains(strain_1[, ...])

determine material points with strains between zero and given strain_value

get_material_stress(strain)

gives stress from the stress-strain_value-relationship corresponding with the given strain_value

sort_strains([reverse])

sorts stress-strain_value-relationship depending on strains

sort_strains_ascending()

sorts stress-strain_value-relationship so strains are ascending

sort_strains_descending()

sorts stress-strain_value-relationship so strains are descending

stress_strain_standard()

standard stress-strain-relationship

Attributes

E_a

modulus of elasticity \(E_\mathrm{a}\)

compression_stress_strain

stress-strain-relationship under compression (negative sign)

epsilon_y

yield strength \(f_\mathrm{y}\)

f_u

f_y

yield strength \(f_\mathrm{y}\)

failure_strain

tensile strain \(\varepsilon_\mathrm{u}\)

maximum_strain

maximum strain_value in the stress-strain_value-relationship

minimum_strain

minimum strain_value in the stress-strain_value-relationship

section_type

section section_type

strains

strains from the stress-strain_value-relationship

stress_strain

list of stress-strain_value points

stress_strain_type

stresses

stresses from the stress-strain_value-relationship

tension_stress_strain

stress-strain-relationship under tension (positive sign)

get_intermediate_strains(strain_1, strain_2=0.0, include_strains=False)#

determine material points with strains between zero and given strain_value

Parameters:
  • strain_1 (float) – 1st strain-value

  • strain_2 (float) – 2nd strain-value (Default: 0.0)

  • include_strains (bool) – includes the boundary strain values (Default: False)

Returns:

determine material points with strains between zero and given strain_value

Return type:

list[float]

get_material_stress(strain)#

gives stress from the stress-strain_value-relationship corresponding with the given strain_value

Parameters:

strain (float) – strain_value a corresponding stress value should be given

Returns:

stress corresponding to the given strain-value in the material-model

Return type:

float

Raises:

ValueError – when strain is outside the boundary values of the material-model

sort_strains(reverse=False)#

sorts stress-strain_value-relationship depending on strains

Parameters:

reverse (bool) –

  • True: sorts strains descending

  • False: sorts strains ascending (Default)

Return type:

None

sort_strains_ascending()#

sorts stress-strain_value-relationship so strains are ascending

Return type:

None

sort_strains_descending()#

sorts stress-strain_value-relationship so strains are descending

Return type:

None

stress_strain_standard()#

standard stress-strain-relationship

Return type:

list

property E_a: float#

modulus of elasticity \(E_\mathrm{a}\)

property compression_stress_strain: list#

stress-strain-relationship under compression (negative sign)

property epsilon_y: float#

yield strength \(f_\mathrm{y}\)

property f_y: float#

yield strength \(f_\mathrm{y}\)

property failure_strain: float#

tensile strain \(\varepsilon_\mathrm{u}\)

property maximum_strain: float#

maximum strain_value in the stress-strain_value-relationship

property minimum_strain: float#

minimum strain_value in the stress-strain_value-relationship

property section_type: str#

section section_type

property strains: list#

strains from the stress-strain_value-relationship

property stress_strain: list[m_n_kappa.material.StressStrain]#

list of stress-strain_value points

property stresses: list#

stresses from the stress-strain_value-relationship

property tension_stress_strain: list#

stress-strain-relationship under tension (positive sign)