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, **kwargs) matplotlib.axes.Axes [source]
Plots the moment curvature results.
- Parameters
m_scale (Optional[float]) – Scaling factor to apply to bending moment
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, **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
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
n (List[float]) – List of axial forces
m (List[float]) – List of bending moments
- plot_diagram(n_scale: Optional[float] = 0.001, m_scale: Optional[float] = 1e-06, **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
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, **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
kwargs – Passed to
plotting_context()
- Returns
Matplotlib axes object
- Return type
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
m_x (List[float]) – List of bending moments about the x-axis
m_y (List[float]) – List of bending moments about the y-axis
- plot_diagram(m_scale: Optional[float] = 1e-06, **kwargs) matplotlib.axes.Axes [source]
Plots a biaxial bending diagram.
- Parameters
m_scale (Optional[float]) – Scaling factor to apply to bending moment
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) 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
- Returns
Matplotlib axes object
- Return type
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.
- 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
,lever_arm
)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
,lever_arm
)
- 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() float [source]
Returns the sum of the internal moments.
- Returns
Sum of internal moments
- Return type
float
See also
For an application of the above, see the example Stress Analysis.