concreteproperties.stress_strain_profile.RectangularStressBlock#

class RectangularStressBlock(compressive_strength: float, alpha: float, gamma: float, ultimate_strain: float)[source]#

Bases: ConcreteUltimateProfile

Class for a rectangular stress block.

Parameters
  • compressive_strength (float) – Concrete compressive strength

  • alpha (float) – Factor that modifies the concrete compressive strength

  • gamma (float) – Factor that modifies the depth of the stress block

  • ultimate_strain (float) – Concrete strain at failure

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_strain

Returns the ultimate strain, or largest compressive strain.

get_unique_strains

Returns an ordered list of unique strains.

plot_stress_strain

Plots the stress-strain profile.

print_properties

Prints the stress-strain profile properties to the terminal.

Attributes

strains

stresses

compressive_strength

alpha

gamma

ultimate_strain

get_stress(strain: float) float[source]#

Returns a stress given a strain.

Overrides parent method with small tolerance to aid ultimate stress generation at nodes.

Parameters

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

Returns

Stress

Return type

float

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.

Returns

Elastic modulus

Return type

float

get_tensile_strength() float#

Returns the most negative stress.

Returns

Tensile strength

Return type

float

get_ultimate_strain() float#

Returns the ultimate strain, or largest compressive 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

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

Plots the stress-strain profile.

Parameters
Returns

Matplotlib axes object

Return type

matplotlib.axes.Axes

print_properties(fmt: Optional[str] = '8.6e')#

Prints the stress-strain profile properties to the terminal.

Parameters

fmt (Optional[str]) – Number format