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:
MaterialConcrete 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
Steelmaterial-behaviour of steel
Reinforcementmaterial-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.
Classes:
Nonlinear:ConcreteCompressionNonlinearParabola:ConcreteCompressionParabolaRectangleBilinear:ConcreteCompressionBiLinear
Concrete under tension
Stress-strain-relationship of concrete under tension (Class
ConcreteTension)#References
Examples
A
Nonlinearconcrete 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
Bilinearis 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
Nonlinearcompression 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
sorts stress-strain_value-relationship so strains are ascending
sorts stress-strain_value-relationship so strains are descending
Attributes
modulus of elasticity of concrete \(E_\mathrm{cm}\) acc.
concrete under compression
chosen stress-strain-type for concrete under compression
yield strain of concrete under compression \(0.4 \cdot f_\mathrm{cm} / E_\mathrm{cm}\)
mean concrete compressive strength \(f_\mathrm{ck} = f_\mathrm{cm}-8\)
mean concrete compressive strength \(f_\mathrm{cm}\)
maximum strain_value in the stress-strain_value-relationship
minimum strain_value in the stress-strain_value-relationship
section section_type
strains from the stress-strain_value-relationship
list of stress-strain_value points
stresses from the stress-strain_value-relationship
concrete under tension
chosen stress-strain-type for concrete under 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 descendingFalse: 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 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