m_n_kappa.Concrete#

class m_n_kappa.Concrete(f_cm, f_ctm=None, use_tension=True, compression_stress_strain_type='Nonlinear', tension_stress_strain_type='Default')#

Bases: Material

Concrete material

New in version 0.1.0.

Parameters:
  • f_cm (float) – mean concrete cylinder compression strength \(f_\mathrm{cm}\)

  • f_ctm (float) – mean tensile strength \(f_\mathrm{ctm}\) (Default: None)

  • use_tension (bool) –

    • True: considers tension (Default)

    • False: does not consider tension

  • compression_stress_strain_type (str) –

    sets section_type of stress-strain_value curve under compression. Possible values are:

    • 'Nonlinear' (Default)

    • 'Parabola'

    • 'Bilinear'

  • tension_stress_strain_type (str) –

    sets section_type of strain_value-stain curve under tension Possible values are:

    • 'Default'

    • 'consider opening behaviour'

See also

Steel

material-behaviour of steel

Reinforcement

material-behaviour of reinforcement

Notes

For Details regarding the computation of these relastionships check out the corresponding classes.

Concrete under compression

Following stress-strain-relationships may be chosen to describe the behaviour of concrete under compression.

../_images/material_concrete_nonlinear-light.svg
../_images/material_concrete_nonlinear-dark.svg

Nonlinear stress-strain-relationship of concrete under compression acc. EN 1992-1-1 [1]#

../_images/material_concrete_parabola_rectangle-light.svg
../_images/material_concrete_parabola_rectangle-dark.svg

Parabola-Rectangle stress-strain-relationship of concrete under compression acc. EN 1992-1-1 [1]#

../_images/material_concrete_bilinear-light.svg
../_images/material_concrete_bilinear-dark.svg

Bilinear stress-strain-relationship of concrete under compression acc. EN 1992-1-1 [1]#

Classes:

Concrete under tension

../_images/material_concrete_tension-light.svg
../_images/material_concrete_tension-dark.svg

Stress-strain-relationship of concrete under tension (Class ConcreteTension)#

References

Examples

A Nonlinear concrete stress-strain-relationship neglecting the tensile behaviour of concrete is computed as follows.

>>> from m_n_kappa import Concrete
>>> nonlinear_no_tension = Concrete(f_cm=30.0, use_tension=False)
>>> nonlinear_no_tension.stress_strain
[StressStrain(stress=-16.9202915, strain=-0.0035), StressStrain(stress=-26.5783275, strain=-0.0027546), StressStrain(stress=-30.0, strain=-0.0020091), StressStrain(stress=-28.8050612, strain=-0.0015849), StressStrain(stress=-19.6170303, strain=-0.0007925), StressStrain(stress=-11.1281632, strain=-0.0003923), StressStrain(stress=0.0, strain=0.0), StressStrain(stress=0.0, strain=10.0)]

Whereas a Parabola-Rectangle-behaviour is computed as follows.

>>> parabola_no_tension = Concrete(f_cm=30.0, use_tension=False,
...                                compression_stress_strain_type='Parabola')
>>> parabola_no_tension.stress_strain
[StressStrain(stress=-22.0, strain=-0.0035), StressStrain(stress=-22.0, strain=-0.002), StressStrain(stress=-20.625, strain=-0.0015), StressStrain(stress=-16.5, strain=-0.001), StressStrain(stress=-9.625, strain=-0.0005), StressStrain(stress=0.0, strain=0.0), StressStrain(stress=0.0, strain=10.0)]

And a Bilinear is computed as follows

>>> bilinear_no_tension = Concrete(f_cm=30.0, use_tension=False,
...                                compression_stress_strain_type='Bilinear')
>>> bilinear_no_tension.stress_strain
[StressStrain(stress=-22.0, strain=-0.0035), StressStrain(stress=-22.0, strain=-0.00175), StressStrain(stress=0.0, strain=0.0), StressStrain(stress=0.0, strain=10.0)]

In case tension is to be considered the following expression is okay (with Nonlinear compression behaviour).

>>> with_tension = Concrete(f_cm=30.0)
>>> with_tension.stress_strain
[StressStrain(stress=-16.9202915, strain=-0.0035), StressStrain(stress=-26.5783275, strain=-0.0027546), StressStrain(stress=-30.0, strain=-0.0020091), StressStrain(stress=-28.8050612, strain=-0.0015849), StressStrain(stress=-19.6170303, strain=-0.0007925), StressStrain(stress=-11.1281632, strain=-0.0003923), StressStrain(stress=0.0, strain=0.0), StressStrain(stress=2.3554273, strain=7.7e-05), StressStrain(stress=0.0, strain=7.8e-05), StressStrain(stress=0.0, strain=10.0)]

Furthermore, the crack-opening of the conrete and its effect on the tensile behaviour may be considered by adding tension_stress_strain_type='consider opening behaviour' that is derived from fib Model Code 2010 [2].

>>> with_tension_opening = Concrete(f_cm=30.0,
...                        tension_stress_strain_type='consider opening behaviour')
>>> with_tension_opening.stress_strain
[StressStrain(stress=-16.9202915, strain=-0.0035), StressStrain(stress=-26.5783275, strain=-0.0027546), StressStrain(stress=-30.0, strain=-0.0020091), StressStrain(stress=-28.8050612, strain=-0.0015849), StressStrain(stress=-19.6170303, strain=-0.0007925), StressStrain(stress=-11.1281632, strain=-0.0003923), StressStrain(stress=0.0, strain=0.0), StressStrain(stress=2.3554273, strain=7.7e-05), StressStrain(stress=0.4710855, strain=0.1673582), StressStrain(stress=0.0, strain=0.8367908), StressStrain(stress=0.0, strain=10.0)]

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

Attributes

E_cm

modulus of elasticity of concrete \(E_\mathrm{cm}\) acc.

compression

concrete under compression

compression_stress_strain_type

chosen stress-strain-type for concrete under compression

epsilon_y

yield strain of concrete under compression \(0.4 \cdot f_\mathrm{cm} / E_\mathrm{cm}\)

f_ck

mean concrete compressive strength \(f_\mathrm{ck} = f_\mathrm{cm}-8\)

f_cm

mean concrete compressive strength \(f_\mathrm{cm}\)

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

stresses

stresses from the stress-strain_value-relationship

tension

concrete under tension

tension_stress_strain_type

chosen stress-strain-type for concrete under tension

use_tension

defines usage of tension

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

property E_cm: float#

modulus of elasticity of concrete \(E_\mathrm{cm}\) acc. EN 1992-1-1 [1]

property compression: ConcreteCompression#

concrete under compression

property compression_stress_strain_type: str#

chosen stress-strain-type for concrete under compression

property epsilon_y: float#

yield strain of concrete under compression \(0.4 \cdot f_\mathrm{cm} / E_\mathrm{cm}\)

property f_ck: float#

mean concrete compressive strength \(f_\mathrm{ck} = f_\mathrm{cm}-8\)

property f_cm: float#

mean concrete compressive strength \(f_\mathrm{cm}\)

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: ConcreteTension#

concrete under tension

property tension_stress_strain_type: str#

chosen stress-strain-type for concrete under tension

property use_tension: bool#

defines usage of tension