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() ConcreteProperties [source]
Returns the gross section properties of the reinforced concrete section.
- Returns
Concrete properties object
- Return type
This method returns a ConcreteProperties
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 ConcreteProperties[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: Optional[str] = '8.6e')[source]
Prints the gross concrete section properties to the terminal.
- Parameters
fmt (Optional[str]) – Number format
Transformed gross area properties can be obtained by calling the
get_transformed_gross_properties()
method.
- ConcreteSection.get_transformed_gross_properties(elastic_modulus: float) TransformedConcreteProperties [source]
Transforms gross section properties given a reference elastic modulus.
- Parameters
elastic_modulus (float) – Reference elastic modulus
- Returns
Transformed concrete properties object
- Return type
This method returns a TransformedConcreteProperties
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 TransformedConcreteProperties[source]
Class for storing transformed gross concrete section properties.
- Parameters
concrete_properties (
ConcreteProperties
) – Concrete properties objectelastic_modulus (float) – Reference elastic modulus
- print_results(fmt: Optional[str] = '8.6e')[source]
Prints the transformed gross concrete section properties to the terminal.
- Parameters
fmt (Optional[str]) – 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[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: float)[source]
Calculates and stores transformed cracked properties using a reference elastic modulus.
- Parameters
elastic_modulus (float) – Reference elastic modulus
- plot_cracked_geometries(title: Optional[str] = 'Cracked Geometries', **kwargs) matplotlib.axes.Axes [source]
Plots the geometries that remain (are in compression or are steel) after a cracked analysis.
- Parameters
title (Optional[str]) – Plot title
kwargs – Passed to
plot_geometry()
- Returns
Matplotlib axes object
- Return type
- print_results(fmt: Optional[str] = '8.6e')[source]
Prints the cracked concrete section properties to the terminal.
- Parameters
fmt (Optional[str]) – 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[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\))
- Variables
kappa (List[float]) – List of curvatures
moment (List[float]) – List of bending moments
failure_geometry (
sectionproperties.pre.geometry.Geometry
) – Geometry object of the region of the cross-section that failed, ending the moment curvature analysis
- plot_results(m_scale: Optional[float] = 1e-06, fmt: Optional[str] = 'o-', **kwargs) matplotlib.axes.Axes [source]
Plots the moment curvature results.
- Parameters
m_scale (Optional[float]) – Scaling factor to apply to bending moment
fmt (Optional[str]) – Plot format string
kwargs – Passed to
plotting_context()
- Returns
Matplotlib axes object
- Return type
- static plot_multiple_results(moment_curvature_results: List[MomentCurvatureResults], labels: List[str], m_scale: Optional[float] = 1e-06, fmt: Optional[str] = 'o-', **kwargs) matplotlib.axes.Axes [source]
Plots multiple moment curvature results.
- Parameters
moment_curvature_results – List of moment curvature results objects
labels (List[str]) – List of labels for each moment curvature diagram
m_scale (Optional[float]) – Scaling factor to apply to bending moment
fmt (Optional[str]) – Plot format string
kwargs – Passed to
plotting_context()
- Returns
Matplotlib axes object
- Return type
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[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\))
- Variables
d_n (float) – Ultimate neutral axis depth
k_u (float) – Neutral axis parameter (d_n / d)
n (float) – Resultant axial force
m_x (float) – Resultant bending moment about the x-axis
m_y (float) – Resultant bending moment about the y-axis
m_u (float) – Resultant bending moment about the u-axis
- print_results(fmt: Optional[str] = '8.6e')[source]
Prints the ultimate bending results to the terminal.
- Parameters
fmt (Optional[str]) – 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[source]
Class for storing moment interaction results.
- Variables
results (List[
UltimateBendingResults
]) – List of ultimate bending result objectsresults_neg – List of ultimate bending result objects (for negative bending)
- plot_diagram(n_scale: Optional[float] = 0.001, m_scale: Optional[float] = 1e-06, fmt: Optional[str] = 'o-', **kwargs) matplotlib.axes.Axes [source]
Plots a moment interaction diagram.
- Parameters
n_scale (Optional[float]) – Scaling factor to apply to axial force
n_scale – Scaling factor to apply to axial force
fmt (Optional[str]) – Plot format string
kwargs – Passed to
plotting_context()
- Returns
Matplotlib axes object
- Return type
- static plot_multiple_diagrams(moment_interaction_results: List[MomentInteractionResults], labels: List[str], n_scale: Optional[float] = 0.001, m_scale: Optional[float] = 1e-06, fmt: Optional[str] = 'o-', **kwargs) matplotlib.axes.Axes [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 diagram
n_scale (Optional[float]) – Scaling factor to apply to axial force
m_scale (Optional[float]) – Scaling factor to apply to bending moment
fmt (Optional[str]) – Plot format string
kwargs – Passed to
plotting_context()
- Returns
Matplotlib axes object
- Return type
- point_in_diagram(n: float, m: float) bool [source]
Determines whether or not the combination of axial force and moment lies within the moment interaction diagram.
- Parameters
n (float) – Axial force
m (float) – Bending moment
- Returns
True, if combination of axial force and moment is within the diagram
- Return type
bool
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[source]
Class for storing biaxial bending results.
- Parameters
n (float) – Net axial force
- Variables
results (List[
UltimateBendingResults
]) – List of ultimate bending result objects
- plot_diagram(m_scale: Optional[float] = 1e-06, fmt: Optional[str] = 'o-', **kwargs) matplotlib.axes.Axes [source]
Plots a biaxial bending diagram.
- Parameters
m_scale (Optional[float]) – Scaling factor to apply to bending moment
fmt (Optional[str]) – Plot format string
kwargs – Passed to
plotting_context()
- Returns
Matplotlib axes object
- Return type
- static plot_multiple_diagrams(biaxial_bending_results: List[BiaxialBendingResults], n_scale: Optional[float] = 0.001, m_scale: Optional[float] = 1e-06, fmt: Optional[str] = '-') matplotlib.axes.Axes [source]
Plots multiple biaxial bending diagrams in a 3D plot.
- Parameters
biaxial_bending_results (List[
BiaxialBendingResults
]) – List of biaxial bending results objectsn_scale (Optional[float]) – Scaling factor to apply to axial force
m_scale (Optional[float]) – Scaling factor to apply to bending moment
fmt (Optional[str]) – Plot format string
- Returns
Matplotlib axes object
- Return type
- point_in_diagram(m_x: float, m_y: float) bool [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-axis
m_y (float) – Bending moment about the y-axis
- Returns
True, if combination of bendings moments is within the diagram
- Return type
bool
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[source]
Class for storing stress results.
For uncracked and cracked analyses, the lever arm is the distance to the elastic centroid.
For service stress analyses, the lever arm is the distance to the computed centroid.
For ultimate stress analyses, the lever arm is the distance to the plastic centroid.
- Variables
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[
numpy.ndarray
]) – List of concrete stresses at the nodes of each concrete analysis sectionconcrete_forces (List[Tuple[float]]) – List of net forces for each concrete analysis section and its lever arm to the neutral axis (
force
,d_x
,d_y
)steel_geometries (List[
sectionproperties.pre.geometry.Geometry
]) – List of steel geometry objects present in the stress analysissteel_stresses (List[float]) – List of steel stresses for each steel geometry
steel_strains (List[float]) – List of steel strains for each steel geometry
steel_forces (List[Tuple[float]]) – List of net forces for each steel geometry and its lever arm to the neutral axis (
force
,d_x
,d_y
)
- plot_stress(title: Optional[str] = 'Stress', conc_cmap: Optional[str] = 'RdGy', steel_cmap: Optional[str] = 'bwr', **kwargs) matplotlib.axes.Axes [source]
Plots concrete and steel stresses on a concrete section.
- Parameters
title (Optional[str]) – Plot title
conc_cmap (Optional[str]) – Colour map for the concrete stress
steel_cmap (Optional[str]) – Colour map for the steel stress
kwargs – Passed to
plotting_context()
- Returns
Matplotlib axes object
- Return type
- sum_forces() float [source]
Returns the sum of the internal forces.
- Returns
Sum of internal forces
- Return type
float
- sum_moments() Tuple[float] [source]
Returns the sum of the internal moments.
- Returns
Sum of internal moments about each axis and resultant moment (
m_x
,m_y
,m
)- Return type
Tuple[float]
See also
For an application of the above, see the example Stress Analysis.