MomentCurvatureResults#

class concreteproperties.results.MomentCurvatureResults(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:
  • 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

theta

n_target

kappa

n

m_x

m_y

m_xy

failure_geometry

convergence

plot_results(m_scale: float = 1e-06, fmt: str = 'o-', **kwargs) matplotlib.axes.Axes[source]#

Plots the moment curvature results.

Parameters:
  • m_scale (float) – Scaling factor to apply to bending moment

  • fmt (str) – Plot format string

  • 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], m_scale: float = 1e-06, fmt: str = 'o-', **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

  • m_scale (float) – Scaling factor to apply to bending moment

  • fmt (str) – Plot format string

  • kwargs – Passed to plotting_context()

Returns:

Matplotlib axes object

Return type:

matplotlib.axes.Axes

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

Plots the geometry that fails in the moment curvature analysis.

Parameters:
Returns:

Matplotlib axes object

Return type:

matplotlib.axes.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