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.
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 points of the material
Attributes
mean elasticity modulus of concrete \(E_\mathrm{cm}\)
strain at peak stress \(\varepsilon_\mathrm{c}\) (see Formula (2))
failure strain of concrete \(\varepsilon_\mathrm{cu}\) (see Formula (2))
characteristic concrete cylinder compressive strength \(f_\mathrm{ck}\)
mean concrete cylinder compressive strength \(f_\mathrm{cm}\)
Strain-values where stresses are computed.
strain up to which the concrete is assumed to be linear-elastic \(\varepsilon_\mathrm{y}\)
- 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 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}\)