StressStrainProfile#
- class concreteproperties.stress_strain_profile.StressStrainProfile(strains: list[float], stresses: list[float])[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:
- Raises:
ValueError – If length of strains is not equal to length of stresses
ValueError – If length of strains/stresses is not greater than 1
ValueError – If strains do not contain increasing or equal values
Methods
Returns the most positive stress.
Returns the elastic modulus of the stress-strain profile.
Returns a stress given a strain.
Returns the most negative stress.
Returns the largest compressive strain.
Returns the largest tensile strain.
Returns an ordered list of unique strains.
Returns the yield strength of the stress-strain profile.
Plots the stress-strain profile.
Prints the stress-strain profile properties to the terminal.
Attributes
strains
stresses
- get_elastic_modulus() float [source]#
Returns the elastic modulus of the stress-strain profile.
- Raises:
ValueError – Elastic modulus is zero
- Returns:
Elastic modulus
- Return type:
- get_compressive_strength() float [source]#
Returns the most positive stress.
- Returns:
Compressive strength
- Return type:
- get_tensile_strength() float [source]#
Returns the most negative stress.
- Returns:
Tensile strength
- Return type:
- get_yield_strength() float [source]#
Returns the yield strength of the stress-strain profile.
- Raises:
NotImplementedError – If this method has not been implemented by the child class
- Return type:
- get_ultimate_compressive_strain() float [source]#
Returns the largest compressive strain.
- Returns:
Ultimate strain
- Return type:
- get_ultimate_tensile_strain() float [source]#
Returns the largest tensile strain.
- Returns:
Ultimate strain
- Return type:
- print_properties(fmt: str = '8.6e') None [source]#
Prints the stress-strain profile properties to the terminal.
- Parameters:
fmt (str) – Number format
- plot_stress_strain(title: str = 'Stress-Strain Profile', fmt: str = 'o-', **kwargs) matplotlib.axes.Axes [source]#
Plots the stress-strain profile.
- Parameters:
title (str) – Plot title
fmt (str) – Plot format string
kwargs – Passed to
plotting_context()
- Returns:
Matplotlib axes object
- Return type: