m_n_kappa.material.ConcreteCompressionNonlinear#

class m_n_kappa.material.ConcreteCompressionNonlinear(f_cm, yield_strain, E_cm)#

Bases: ConcreteCompression

non-linear concrete behaviour according to EN 1992-1-1 [1]

New in version 0.1.0.

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

  • yield_strain (float) – strain up to which the concrete is assumed to be linear-elastic \(\varepsilon_\mathrm{y}\)

  • E_cm (float) – mean elasticity modulus of concrete \(E_\mathrm{cm}\)

See also

ConcreteCompressionParabolaRectangle

Describes parabola rectangle behaviour of concrete under compression

ConcreteCompressionBiLinear

describes bi-linear behaviour of concrete under compression

Notes

The formula for computation of the non-linear behaviour of concrete by EN 1992-1-1 [1], Formula 3.14 is given as follows. Formula (1) is valid in the range \(0 < |\varepsilon| < |\varepsilon_\mathrm{c}|\). The here given values are all absolute values. As this model applies to the compression-range all values must be multiplied by (-1).

(1)#\[\sigma_\mathrm{c} = \frac{k \cdot \eta - \eta^{2}}{1.0 + (k - 2) \cdot \eta)} \cdot f_\mathrm{cm}\]

where

(2)#\[ \begin{align}\begin{aligned}\eta & = \frac{\varepsilon}{\varepsilon_\mathrm{c}}\\k & = 1.05 \cdot E_\mathrm{cm} \cdot \frac{|\varepsilon_\mathrm{c}|}{f_\mathrm{cm}}\\\varepsilon_\mathrm{c}(Permil) & = 0.7 \cdot f_\mathrm{cm}^{0.31} \leq 2.8\\\varepsilon_\mathrm{cu}(Permil) & = 2.8 + 27.0 \cdot \left[\frac{ 98.0 - f_\mathrm{cm}}{100.0} \right]^{4} \leq 3.5\end{aligned}\end{align} \]

where \(\varepsilon_\mathrm{c}\) is the strain at peak stress and \(\varepsilon_\mathrm{cu}\) is the strain at failure.

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

Non-linear stress-strain relationship of concrete by EN 1992-1-1 [1], Fig. 3.2#

References

Examples

The non-linear stress-strain relationship of concrete under compression is computed as follows.

>>> from m_n_kappa.material import ConcreteCompressionNonlinear
>>> f_cm = 30.0 # mean concrete compressive strength
>>> E_cm = 33000 # modulus of elasticity of concrete
>>> concrete = ConcreteCompressionNonlinear(f_cm=f_cm, yield_strain=0.4*f_cm/E_cm, E_cm=E_cm)
>>> concrete.stress_strain()
[[-10.980238020734609, -0.0003636363636363636], [-20.067768095243533, -0.0007830092214998742], [-28.832492515864047, -0.0015660184429997484], [-30.0, -0.0020091188530299217], [-27.130958857945092, -0.0027545594265149607], [-19.399627516017674, -0.0035]]

Methods

eta(strain)

ratio between strain and strain at peak stress \(\eta\) (see Formula (2))

k()

helper-function (see Formula (2))

stress(strain)

computation of stresses according to formula (1)

stress_strain()

stress-strain points of the material

Attributes

E_cm

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

c

strain at peak stress \(\varepsilon_\mathrm{c}\) (see Formula (2))

cu

failure strain of concrete \(\varepsilon_\mathrm{cu}\) (see Formula (2))

f_ck

characteristic concrete cylinder compressive strength \(f_\mathrm{ck}\)

f_cm

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

strains

Strain-values where stresses are computed.

yield_strain

strain up to which the concrete is assumed to be linear-elastic \(\varepsilon_\mathrm{y}\)

eta(strain)#

ratio between strain and strain at peak stress \(\eta\) (see Formula (2))

k()#

helper-function (see Formula (2))

stress(strain)#

computation of stresses according to formula (1)

Parameters:

strain (float) – strain to compute corresponding stress

Returns:

stress to the given strain

Return type:

float

stress_strain()#

stress-strain points of the material

Return type:

list

property E_cm: float#

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

property c: float#

strain at peak stress \(\varepsilon_\mathrm{c}\) (see Formula (2))

property cu: float#

failure strain of concrete \(\varepsilon_\mathrm{cu}\) (see Formula (2))

property f_ck: float#

characteristic concrete cylinder compressive strength \(f_\mathrm{ck}\)

property f_cm: float#

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

property strains: list[float]#

Strain-values where stresses are computed.

Current strain-values are:

  • \(\varepsilon_\mathrm{y}\)

  • \(0.33 \cdot (\varepsilon_\mathrm{y} + \varepsilon_\mathrm{c})\)

  • \(0.66 \cdot (\varepsilon_\mathrm{y} + \varepsilon_\mathrm{c})\)

  • \(\varepsilon_\mathrm{c}\)

  • \(0.5 \cdot (\varepsilon_\mathrm{c} + \varepsilon_\mathrm{cu})\)

  • \(\varepsilon_\mathrm{cu}\)

property yield_strain: float#

strain up to which the concrete is assumed to be linear-elastic \(\varepsilon_\mathrm{y}\)