MomentInteractionResults#

class concreteproperties.results.MomentInteractionResults(results: list[~concreteproperties.results.UltimateBendingResults] = <factory>)[source]#

Bases: object

Class for storing moment interaction results.

Parameters:

results (list[UltimateBendingResults]) – List of ultimate bending result objects

Methods

get_results_lists

Returns a list of axial forces and moments.

plot_diagram

Plots a moment interaction diagram.

plot_multiple_diagrams

Plots multiple moment interaction diagrams.

point_in_diagram

Determines whether or not the design point lies within the diagram.

sort_results

Sorts the results by decreasing axial force.

Attributes

results

sort_results() None[source]#

Sorts the results by decreasing axial force.

get_results_lists(moment: str) tuple[list[float], list[float]][source]#

Returns a list of axial forces and moments.

Parameters:

moment (str) – Which moment to plot, acceptable values are "m_x", "m_y" or "m_xy"

Raises:

ValueError – If the moment string is not valid

Returns:

List of axial forces and moments (n, m)

Return type:

tuple[list[float], list[float]]

plot_diagram(n_scale: float = 0.001, m_scale: float = 1e-06, moment: str = 'm_x', fmt: str = 'o-', labels: bool = False, label_offset: bool = False, **kwargs) matplotlib.axes.Axes[source]#

Plots a moment interaction diagram.

Parameters:
  • n_scale (float) – Scaling factor to apply to axial force

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

  • moment (str) – Which moment to plot, acceptable values are "m_x", "m_y" or "m_xy"

  • fmt (str) – Plot format string

  • labels (bool) – If set to True, also plots labels on the diagram

  • label_offset (bool) – If set to True, attempts to offset the label from the diagram

  • kwargs – Passed to plotting_context()

Returns:

Matplotlib axes object

Return type:

matplotlib.axes.Axes

static plot_multiple_diagrams(moment_interaction_results: list[MomentInteractionResults], labels: list[str], n_scale: float = 0.001, m_scale: float = 1e-06, moment: str = 'm_x', fmt: str = 'o-', **kwargs) matplotlib.axes.Axes[source]#

Plots multiple moment interaction diagrams.

Parameters:
  • moment_interaction_results (list[MomentInteractionResults]) – List of moment interaction results objects

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

  • n_scale (float) – Scaling factor to apply to axial force

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

  • moment (str) – Which moment to plot, acceptable values are "m_x", "m_y" or "m_xy"

  • fmt (str) – Plot format string

  • kwargs – Passed to plotting_context()

Returns:

Matplotlib axes object

Return type:

matplotlib.axes.Axes

point_in_diagram(n: float, m: float, moment: str = 'm_x') bool[source]#

Determines whether or not the design point lies within the diagram.

Parameters:
  • n (float) – Axial force

  • m (float) – Bending moment

  • moment (str) – Which moment to analyse, acceptable values are "m_x", "m_y" or "m_xy"

Returns:

True, if combination of axial force and moment is within the diagram

Return type:

bool