concreteproperties.stress_strain_profile.EurocodeNonLinear#

class EurocodeNonLinear(elastic_modulus, ultimate_strain, compressive_strength, compressive_strain, tensile_strength, tension_softening_stiffness, n_points_1=10, n_points_2=3)[source]#

Bases: ConcreteServiceProfile

Class for a non-linear stress-strain relationship to EC2.

Tension is modelled with a symmetric elastic_modulus until failure at tensile_strength, after which the tensile stress reduces according to the tension_softening_stiffness.

Parameters
  • elastic_modulus (float) – Concrete elastic modulus (\(E_{cm}\))

  • ultimate_strain (float) – Concrete strain at failure (\(\epsilon_{cu1}\))

  • compressive_strength (float) – Concrete compressive strength (\(f_{cm}\))

  • compressive_strain (float) – Strain at which the concrete stress equals the compressive strength (\(\epsilon_{c1}\))

  • tensile_strength (float) – Concrete tensile strength

  • tension_softening_stiffness (float) – Slope of the linear tension softening branch

  • n_points_1 (int, default: 10) – Number of points to discretise the curve prior to the peak stress

  • n_points_2 (int, default: 3) – Number of points to discretise the curve after the peak stress

Methods

get_compressive_strength

Returns the most positive stress.

get_elastic_modulus

Returns the elastic modulus of the stress-strain profile.

get_stress

Returns a stress given a strain.

get_tensile_strength

Returns the most negative stress.

get_ultimate_compressive_strain

Returns the largest strain.

get_ultimate_tensile_strain

Returns the largest tensile strain.

get_unique_strains

Returns an ordered list of unique strains.

get_yield_strength

Returns the yield strength of the stress-strain profile.

plot_stress_strain

Plots the stress-strain profile.

print_properties

Prints the stress-strain profile properties to the terminal.

Attributes

n_points_1

n_points_2

strains

stresses

elastic_modulus

ultimate_strain

compressive_strength

compressive_strain

tensile_strength

tension_softening_stiffness

get_compressive_strength()#

Returns the most positive stress.

Returns

Optional[float] – Compressive strength

get_elastic_modulus()#

Returns the elastic modulus of the stress-strain profile.

Returns

float – Elastic modulus

get_stress(strain)#

Returns a stress given a strain.

Parameters

strain (float) – Strain at which to return a stress.

Returns

float – Stress

get_tensile_strength()#

Returns the most negative stress.

Returns

Optional[float] – Tensile strength

get_ultimate_compressive_strain()#

Returns the largest strain.

Returns

float – Ultimate strain

get_ultimate_tensile_strain()#

Returns the largest tensile strain.

Returns

float – Ultimate strain

get_unique_strains()#

Returns an ordered list of unique strains.

Returns

List[float] – Ordered list of unique strains

get_yield_strength()#

Returns the yield strength of the stress-strain profile.

Returns

float – Yield strength

plot_stress_strain(title='Stress-Strain Profile', fmt='o-', **kwargs)#

Plots the stress-strain profile.

Parameters
  • title (str, default: 'Stress-Strain Profile') – Plot title

  • fmt (str, default: 'o-') – Plot format string

  • kwargs – Passed to plotting_context()

Returns

Axes – Matplotlib axes object

print_properties(fmt='8.6e')#

Prints the stress-strain profile properties to the terminal.

Parameters

fmt (str, default: '8.6e') – Number format