concreteproperties.stress_strain_profile.StressStrainProfile#

class StressStrainProfile(strains, stresses)[source]#

Bases: object

Abstract base class for a material stress-strain profile.

Implements a piecewise linear stress-strain profile. Positive stresses & strains are compression.

Parameters
  • strains (List[float]) – List of strains (must be increasing or equal)

  • stresses (List[float]) – List of stresses

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 compressive 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

strains

stresses

get_stress(strain)[source]#

Returns a stress given a strain.

Parameters

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

Returns

float – Stress

get_elastic_modulus()[source]#

Returns the elastic modulus of the stress-strain profile.

Returns

float – Elastic modulus

get_compressive_strength()[source]#

Returns the most positive stress.

Returns

float – Compressive strength

get_tensile_strength()[source]#

Returns the most negative stress.

Returns

float – Tensile strength

get_yield_strength()[source]#

Returns the yield strength of the stress-strain profile.

Returns

float – Yield strength

get_ultimate_compressive_strain()[source]#

Returns the largest compressive strain.

Returns

float – Ultimate strain

get_ultimate_tensile_strain()[source]#

Returns the largest tensile strain.

Returns

float – Ultimate strain

get_unique_strains()[source]#

Returns an ordered list of unique strains.

Returns

List[float] – Ordered list of unique strains

print_properties(fmt='8.6e')[source]#

Prints the stress-strain profile properties to the terminal.

Parameters

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

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

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