Results#
After performing an analysis on a reinforced concrete cross-section (see Analysis), concreteproperties provides the user with a results object specific to the conducted analysis. These results objects have methods tailored for the post-processing of analysis results.
Gross Area Properties#
Gross area properties can be retrieved by calling the
get_gross_properties()
method.
- ConcreteSection.get_gross_properties()[source]
Returns the gross section properties of the reinforced concrete section.
- Returns
GrossProperties
– Gross concrete properties object
This method returns a GrossProperties
object,
which stores all the calculated section properties as attributes. The gross area
properties can be printed to the terminal by calling the
print_results()
method.
- class GrossProperties(total_area=0, concrete_area=0, reinf_meshed_area=0, reinf_lumped_area=0, e_a=0, mass=0, perimeter=0, e_qx=0, e_qy=0, cx=0, cy=0, e_ixx_g=0, e_iyy_g=0, e_ixy_g=0, e_ixx_c=0, e_iyy_c=0, e_ixy_c=0, e_i11=0, e_i22=0, phi=0, e_zxx_plus=0, e_zxx_minus=0, e_zyy_plus=0, e_zyy_minus=0, e_z11_plus=0, e_z11_minus=0, e_z22_plus=0, e_z22_minus=0, conc_ultimate_strain=0)[source]
Class for storing gross concrete section properties.
All properties with an e_ preceding the property are multiplied by the elastic modulus. In order to obtain transformed properties, call the
get_transformed_gross_properties()
method.- print_results(fmt='8.6e')[source]
Prints the gross concrete section properties to the terminal.
- Parameters
fmt (
str
, default:'8.6e'
) – Number format
Transformed gross area properties can be obtained by calling the
get_transformed_gross_properties()
method.
- ConcreteSection.get_transformed_gross_properties(elastic_modulus)[source]
Transforms gross section properties given a reference elastic modulus.
- Parameters
elastic_modulus (
float
) – Reference elastic modulus- Returns
TransformedGrossProperties
– Transformed concrete properties object
This method returns a TransformedGrossProperties
object, which stores all the calculated transformed section properties as class
attributes. The transformed gross area properties can be printed to the terminal by
calling the
print_results()
method.
- class TransformedGrossProperties(concrete_properties, elastic_modulus, area=0, qx=0, qy=0, ixx_g=0, iyy_g=0, ixy_g=0, ixx_c=0, iyy_c=0, ixy_c=0, i11=0, i22=0, zxx_plus=0, zxx_minus=0, zyy_plus=0, zyy_minus=0, z11_plus=0, z11_minus=0, z22_plus=0, z22_minus=0)[source]
Class for storing transformed gross concrete section properties.
- Parameters
concrete_properties (
GrossProperties
) – Concrete properties objectelastic_modulus (
float
) – Reference elastic modulus
- print_results(fmt='8.6e')[source]
Prints the transformed gross concrete section properties to the terminal.
- Parameters
fmt (
str
, default:'8.6e'
) – Number format
See also
For an application of the above, see the example Calculating Area Properties.
Cracked Area Properties#
Performing a cracked analysis with
calculate_cracked_properties()
returns a CrackedResults
object.
- class CrackedResults(theta, m_cr=0, d_nc=0, cracked_geometries=<factory>, e_a_cr=0, e_qx_cr=0, e_qy_cr=0, cx=0, cy=0, e_ixx_g_cr=0, e_iyy_g_cr=0, e_ixy_g_cr=0, e_ixx_c_cr=0, e_iyy_c_cr=0, e_ixy_c_cr=0, e_iuu_cr=0, e_i11_cr=0, e_i22_cr=0, phi_cr=0, elastic_modulus_ref=None, a_cr=None, qx_cr=None, qy_cr=None, ixx_g_cr=None, iyy_g_cr=None, ixy_g_cr=None, ixx_c_cr=None, iyy_c_cr=None, ixy_c_cr=None, iuu_cr=None, i11_cr=None, i22_cr=None)[source]
Class for storing cracked concrete section properties.
All properties with an e_ preceding the property are multiplied by the elastic modulus. In order to obtain transformed properties, call the
calculate_transformed_properties()
method.- Parameters
theta (
float
) – Angle (in radians) the neutral axis makes with the horizontal axis (\(-\pi \leq \theta \leq \pi\))
- calculate_transformed_properties(elastic_modulus)[source]
Calculates and stores transformed cracked properties using a reference elastic modulus.
- Parameters
elastic_modulus (
float
) – Reference elastic modulus
- plot_cracked_geometries(title='Cracked Geometries', **kwargs)[source]
Plots the geometries that remain (are in compression or are reinforcement) after a cracked analysis.
- Parameters
title (
str
, default:'Cracked Geometries'
) – Plot titlekwargs – Passed to
plot_geometry()
- Returns
Axes
– Matplotlib axes object
- print_results(fmt='8.6e')[source]
Prints the cracked concrete section properties to the terminal.
- Parameters
fmt (
str
, default:'8.6e'
) – Number format
Calling
calculate_transformed_properties()
on a CrackedResults
object stores the transformed
cracked properties as attributes within the current object.
See also
For an application of the above, see the example Calculating Cracked Properties.
Moment Curvature Analysis#
Running a
moment_curvature_analysis()
returns a MomentCurvatureResults
object. This
object can be used to plot moment curvature results.
- class MomentCurvatureResults(theta, kappa=<factory>, n=<factory>, m_x=<factory>, m_y=<factory>, m_xy=<factory>, _n_i=0, _m_x_i=0, _m_y_i=0, _failure=False)[source]
Class for storing moment curvature results.
- Parameters
theta (
float
) – Angle (in radians) the neutral axis makes with the horizontal axis (\(-\pi \leq \theta \leq \pi\))kappa (
List
[float
], default:<factory>
) – List of curvaturesn (
List
[float
], default:<factory>
) – List of axial forcesm_x (
List
[float
], default:<factory>
) – List of bending moments about the x-axism_y (
List
[float
], default:<factory>
) – List of bending moments about the y-axism_xy (
List
[float
], default:<factory>
) – List of resultant bending momentsfailure_geometry – Geometry object of the region of the cross-section that failed, ending the moment curvature analysis
- plot_results(m_scale=1e-06, fmt='o-', **kwargs)[source]
Plots the moment curvature results.
- Parameters
m_scale (
float
, default:1e-06
) – Scaling factor to apply to bending momentfmt (
str
, default:'o-'
) – Plot format stringkwargs – Passed to
plotting_context()
- Returns
Axes
– Matplotlib axes object
- static plot_multiple_results(moment_curvature_results, labels, m_scale=1e-06, fmt='o-', **kwargs)[source]
Plots multiple moment curvature results.
- Parameters
moment_curvature_results (
List
[MomentCurvatureResults
]) – List of moment curvature results objectslabels (
List
[str
]) – List of labels for each moment curvature diagramm_scale (
float
, default:1e-06
) – Scaling factor to apply to bending momentfmt (
str
, default:'o-'
) – Plot format stringkwargs – Passed to
plotting_context()
- Returns
Axes
– Matplotlib axes object
See also
For an application of the above, see the example Moment Curvature Analysis.
Ultimate Bending Capacity#
The
ultimate_bending_capacity()
method returns an UltimateBendingResults
object.
This object stores results relating to the analysis and allows the results to be printed
to the terminal by calling the
print_results()
method.
- class UltimateBendingResults(theta, d_n=0, k_u=0, n=0, m_x=0, m_y=0, m_xy=0, label=None)[source]
Class for storing ultimate bending results.
- Parameters
theta (
float
) – Angle (in radians) the neutral axis makes with the horizontal axis (\(-\pi \leq \theta \leq \pi\))d_n (
float
, default:0
) – Ultimate neutral axis depthk_u (
float
, default:0
) – Neutral axis parameter (d_n / d)n (
float
, default:0
) – Resultant axial forcem_x (
float
, default:0
) – Resultant bending moment about the x-axism_y (
float
, default:0
) – Resultant bending moment about the y-axism_xy (
float
, default:0
) – Resultant bending momentlabel (
Optional
[str
], default:None
) – Result label
- print_results(fmt='8.6e')[source]
Prints the ultimate bending results to the terminal.
- Parameters
fmt (
str
, default:'8.6e'
) – Number format
See also
For an application of the above, see the example Ultimate Bending Capacity.
Moment Interaction Diagram#
Calling the
moment_interaction_diagram()
method returns a MomentInteractionResults
object.
This object can be used to plot moment interaction results.
- class MomentInteractionResults(results=<factory>)[source]
Class for storing moment interaction results.
- Parameters
results (
List
[UltimateBendingResults
], default:<factory>
) – List of ultimate bending result objects
- plot_diagram(n_scale=0.001, m_scale=1e-06, moment='m_x', fmt='o-', labels=False, label_offset=False, **kwargs)[source]
Plots a moment interaction diagram.
- Parameters
n_scale (
float
, default:0.001
) – Scaling factor to apply to axial forcem_scale (
float
, default:1e-06
) – Scaling factor to apply to the bending momentmoment (
str
, default:'m_x'
) – Which moment to plot, acceptable values are"m_x"
,"m_y"
or"m_xy"
fmt (
str
, default:'o-'
) – Plot format stringlabels (
bool
, default:False
) – If set to True, also plots labels on the diagramlabel_offset (
bool
, default:False
) – If set to True, attempts to offset the label from the diagramkwargs – Passed to
plotting_context()
- Returns
Axes
– Matplotlib axes object
- static plot_multiple_diagrams(moment_interaction_results, labels, n_scale=0.001, m_scale=1e-06, moment='m_x', fmt='o-', **kwargs)[source]
Plots multiple moment interaction diagrams.
- Parameters
moment_interaction_results (
List
[MomentInteractionResults
]) – List of moment interaction results objectslabels (
List
[str
]) – List of labels for each moment interaction diagramn_scale (
float
, default:0.001
) – Scaling factor to apply to axial forcem_scale (
float
, default:1e-06
) – Scaling factor to apply to bending momentmoment (
str
, default:'m_x'
) – Which moment to plot, acceptable values are"m_x"
,"m_y"
or"m_xy"
fmt (
str
, default:'o-'
) – Plot format stringkwargs – Passed to
plotting_context()
- Returns
Axes
– Matplotlib axes object
- point_in_diagram(n, m, moment='m_x')[source]
Determines whether or not the combination of axial force and moment lies within the moment interaction diagram.
- Parameters
n (
float
) – Axial forcem (
float
) – Bending momentmoment (
str
, default:'m_x'
) – Which moment to analyse, acceptable values are"m_x"
,"m_y"
or"m_xy"
- Returns
bool
– True, if combination of axial force and moment is within the diagram
See also
For an application of the above, see the example Moment Interaction Diagram.
Biaxial Bending Diagram#
The
biaxial_bending_diagram()
method returns a BiaxialBendingResults
object.
This object can be used to plot biaxial bending results.
- class BiaxialBendingResults(n, results=<factory>)[source]
Class for storing biaxial bending results.
- Parameters
n (
float
) – Net axial forceresults (
List
[UltimateBendingResults
], default:<factory>
) – List of ultimate bending result objects
- plot_diagram(m_scale=1e-06, fmt='o-', **kwargs)[source]
Plots a biaxial bending diagram.
- Parameters
m_scale (
float
, default:1e-06
) – Scaling factor to apply to bending momentfmt (
str
, default:'o-'
) – Plot format stringkwargs – Passed to
plotting_context()
- Returns
Axes
– Matplotlib axes object
- static plot_multiple_diagrams_2d(biaxial_bending_results, labels=None, m_scale=1e-06, fmt='o-', **kwargs)[source]
Plots multiple biaxial bending diagrams in a 2D plot.
- Parameters
biaxial_bending_results (
List
[BiaxialBendingResults
]) – List of biaxial bending results objectslabels (
Optional
[List
[str
]], default:None
) – List of labels for each biaxial bending diagram, if not provided labels are axial forcesm_scale (
float
, default:1e-06
) – Scaling factor to apply to bending momentfmt (
str
, default:'o-'
) – Plot format stringkwargs – Passed to
plotting_context()
- Returns
Axes
– Matplotlib axes object
- static plot_multiple_diagrams_3d(biaxial_bending_results, n_scale=0.001, m_scale=1e-06, fmt='-')[source]
Plots multiple biaxial bending diagrams in a 3D plot.
- Parameters
biaxial_bending_results (
List
[BiaxialBendingResults
]) – List of biaxial bending results objectsn_scale (
float
, default:0.001
) – Scaling factor to apply to axial forcem_scale (
float
, default:1e-06
) – Scaling factor to apply to bending momentfmt (
str
, default:'-'
) – Plot format string
- Returns
Axes
– Matplotlib axes object
- point_in_diagram(m_x, m_y)[source]
Determines whether or not the combination of bending moments lies within the biaxial bending diagram.
- Parameters
m_x (
float
) – Bending moment about the x-axism_y (
float
) – Bending moment about the y-axis
- Returns
bool
– True, if combination of bendings moments is within the diagram
See also
For an application of the above, see the example Biaxial Bending Diagram.
Stress Analysis#
Stress analyses can be performed by calling any of the following methods:
calculate_uncracked_stress()
,
calculate_cracked_stress()
,
calculate_service_stress()
and
calculate_ultimate_stress()
.
All these methods return a StressResult
object.
This object stores results relating to the stress analysis and can also be used to plot
stress results.
- class StressResult(concrete_section, concrete_analysis_sections, concrete_stresses, concrete_forces, meshed_reinforcement_sections, meshed_reinforcement_stresses, meshed_reinforcement_forces, lumped_reinforcement_geometries, lumped_reinforcement_stresses, lumped_reinforcement_strains, lumped_reinforcement_forces)[source]
Class for storing stress results.
The lever arm is computed to the elastic centroid.
- Parameters
concrete_analysis_sections (
List
[AnalysisSection
]) – List of concrete analysis section objects present in the stress analysis, which can be visualised by calling theplot_mesh()
orplot_shape()
concrete_stresses (
List
[ndarray
]) – List of concrete stresses at the nodes of each concrete analysis sectionconcrete_forces (
List
[Tuple
[float
,float
,float
]]) – List of net forces for each concrete analysis section and its lever arm (force
,d_x
,d_y
)meshed_reinforcement_sections (
List
[AnalysisSection
]) – List of meshed reinforcement section objects present in the stress analysismeshed_reinforcement_stresses (
List
[ndarray
]) – List of meshed reinforcement stresses at the nodes of each meshed reinforcement analysis sectionmeshed_reinforcement_forces (
List
[Tuple
[float
,float
,float
]]) – List of net forces for each meshed reinforcement analysis section and its lever arm (force
,d_x
,d_y
)lumped_reinforcement_geometries (
List
[CPGeom
]) – List of lumped reinforcement geometry objects present in the stress analysislumped_reinforcement_stresses (
List
[float
]) – List of lumped reinforcement stresses for each lumped geometrylumped_reinforcement_strains (
List
[float
]) – List of lumped reinforcement strains for each lumped geometrylumped_reinforcement_forces (
List
[Tuple
[float
,float
,float
]]) – List of net forces for each lumped reinforcement geometry and its lever arm (force
,d_x
,d_y
)
- plot_stress(title='Stress', conc_cmap='RdGy', reinf_cmap='bwr', **kwargs)[source]
Plots concrete and steel stresses on a concrete section.
- Parameters
title (
str
, default:'Stress'
) – Plot titleconc_cmap (
str
, default:'RdGy'
) – Colour map for the concrete stressreinf_cmap (
str
, default:'bwr'
) – Colour map for the reinforcement stresskwargs – Passed to
plotting_context()
- Returns
Axes
– Matplotlib axes object
- sum_forces()[source]
Returns the sum of the internal forces.
- Returns
float
– Sum of internal forces
- sum_moments()[source]
Returns the sum of the internal moments.
- Returns
Tuple
[float
,float
,float
] – Sum of internal moments about each axis and resultant moment (m_x
,m_y
,m
)
See also
For an application of the above, see the example Stress Analysis.