StrandPCI1992#

class concreteproperties.stress_strain_profile.StrandPCI1992(yield_strength: float, elastic_modulus: float, fracture_strain: float, breaking_strength: float, bilinear_yield_ratio: float = 1.04, strain_cps: list[float] = <factory>, n_points: list[int] = <factory>)[source]#

Bases: StrandProfile

Class for a PCI Strand (1992).

Class for a strand stress-strain profile by R. Devalapura and M. Tadros from the March-April issue of the PCI Journal.

Parameters:
  • yield_strength (float) – Strand yield strength

  • elastic_modulus (float) – Strand elastic modulus

  • fracture_strain (float) – Strand fracture strain

  • breaking_strength (float) – Strand breaking strength

  • bilinear_yield_ratio (float) – Ratio between the stress at the intersection of a bilinear profile, and the yield strength

  • strain_cps (list[float]) – Strain control points, generates the following strain segments: [0, strain_cps[0], strain_cps[1], fracture_strain]. Length must be equal to 2.

  • n_points (list[int]) – Number of points to discretise within each strain segment. Length must be equal to 3.

Methods

get_compressive_strength

Returns the most positive stress.

get_elastic_modulus

Returns the elastic modulus of the stress-strain profile.

get_strain

Returns a strain given a stress.

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

bilinear_yield_ratio

strains

stresses

yield_strength

elastic_modulus

fracture_strain

breaking_strength

strain_cps

n_points

get_compressive_strength() float#

Returns the most positive stress.

Returns:

Compressive strength

Return type:

float

get_elastic_modulus() float#

Returns the elastic modulus of the stress-strain profile.

Raises:

ValueError – Elastic modulus is zero

Returns:

Elastic modulus

Return type:

float

get_strain(stress: float) float#

Returns a strain given a stress.

Parameters:

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

Returns:

Strain

Return type:

float

get_stress(strain: float) float#

Returns a stress given a strain.

Parameters:

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

Returns:

Stress

Return type:

float

get_tensile_strength() float#

Returns the most negative stress.

Returns:

Tensile strength

Return type:

float

get_ultimate_compressive_strain() float#

Returns the largest compressive strain.

Returns:

Ultimate strain

Return type:

float

get_ultimate_tensile_strain() float#

Returns the largest tensile strain.

Returns:

Ultimate strain

Return type:

float

get_unique_strains() list[float]#

Returns an ordered list of unique strains.

Returns:

Ordered list of unique strains

Return type:

list[float]

get_yield_strength() float#

Returns the yield strength of the stress-strain profile.

Returns:

Yield strength

Return type:

float

plot_stress_strain(title: str = 'Stress-Strain Profile', fmt: str = 'o-', **kwargs) matplotlib.axes.Axes#

Plots the stress-strain profile.

Parameters:
Returns:

Matplotlib axes object

Return type:

matplotlib.axes.Axes

print_properties(fmt: str = '8.6e') None#

Prints the stress-strain profile properties to the terminal.

Parameters:

fmt (str) – Number format