MomentCurvatureResults

class concreteproperties.results.MomentCurvatureResults(default_units: UnitDisplay, theta: float, n_target: float, kappa: list[float] = <factory>, n: list[float] = <factory>, m_x: list[float] = <factory>, m_y: list[float] = <factory>, m_xy: list[float] = <factory>, convergence: list[float] = <factory>, _kappa: float = 0, _n_i: float = 0, _m_x_i: float = 0, _m_y_i: float = 0, _failure: bool = False, _failure_convergence: float = 0)[source]

Bases: object

Class for storing moment curvature results.

Parameters:
  • default_units (UnitDisplay) – Default units to use for reporting

  • theta (float) – Angle (in radians) the neutral axis makes with the horizontal

  • n_target (float) – Target axial force axis (\(-\pi \leq \theta \leq \pi\))

  • kappa (list[float]) – List of curvatures

  • n (list[float]) – List of axial forces

  • m_x (list[float]) – List of bending moments about the x-axis

  • m_y (list[float]) – List of bending moments about the y-axis

  • m_xy (list[float]) – List of resultant bending moments

  • failure_geometry – Geometry object of the region of the cross-section that failed, ending the moment curvature analysis

  • convergence (list[float]) – The critical ratio between the strain and the failure strain within the cross-section for each curvature step in the analysis. A value of one indicates failure.

Methods

get_curvature

Given a moment, uses the moment-curvature results to interpolate a curvature.

plot_failure_geometry

Plots the geometry that fails in the moment curvature analysis.

plot_multiple_results

Plots multiple moment curvature results.

plot_results

Plots the moment curvature results.

Attributes

default_units

theta

n_target

kappa

n

m_x

m_y

m_xy

failure_geometry

convergence

plot_results(fmt: str = 'o-', eng: bool = False, prec: int = 2, units: UnitDisplay | None = None, **kwargs) matplotlib.axes.Axes[source]

Plots the moment curvature results.

Parameters:
  • fmt (str) – Plot format string. Defaults "o-".

  • eng (bool) – If set to True, formats the plot ticks with engineering notation. If set to False, uses the default matplotlib ticker formatting. Defaults to False.

  • prec (int) – If eng=True, sets the desired precision of the ticker formatting (i.e. one plus this value is the desired number of digits). Defaults to 2.

  • units (UnitDisplay | None) – Unit system to display. Defaults to None.

  • kwargs – Passed to plotting_context()

Returns:

Matplotlib axes object

Return type:

matplotlib.axes.Axes

static plot_multiple_results(moment_curvature_results: list[MomentCurvatureResults], labels: list[str], fmt: str = 'o-', eng: bool = False, prec: int = 2, units: UnitDisplay | None = None, **kwargs) matplotlib.axes.Axes[source]

Plots multiple moment curvature results.

Parameters:
  • moment_curvature_results (list[MomentCurvatureResults]) – List of moment curvature results objects

  • labels (list[str]) – List of labels for each moment curvature diagram

  • fmt (str) – Plot format string. Defaults "o-".

  • eng (bool) – If set to True, formats the plot ticks with engineering notation. If set to False, uses the default matplotlib ticker formatting. Defaults to False.

  • prec (int) – If eng=True, sets the desired precision of the ticker formatting (i.e. one plus this value is the desired number of digits). Defaults to 2.

  • units (UnitDisplay | None) – Unit system to display. Defaults to None.

  • kwargs – Passed to plotting_context()

Returns:

Matplotlib axes object

Return type:

matplotlib.axes.Axes

plot_failure_geometry(title: str = 'Failure Geometry', **kwargs) Axes[source]

Plots the geometry that fails in the moment curvature analysis.

Parameters:
  • title (str) – Plot title. Defaults to "Failure Geometry".

  • kwargs – Passed to plot_geometry()

Returns:

Matplotlib axes object

Return type:

Axes

get_curvature(moment: float) float[source]

Given a moment, uses the moment-curvature results to interpolate a curvature.

Parameters:

moment (float) – Bending moment at which to obtain curvature

Raises:

ValueError – If supplied moment is outside bounds of moment-curvature results.

Returns:

Curvature

Return type:

float