concreteproperties.analysis_section.AnalysisSection#
- class AnalysisSection(geometry)[source]#
Bases:
object
Class for an analysis section to perform a fast analysis on meshed sections.
Inits the AnalysisSection class.
- Parameters
geometry (
CPGeom
) – Geometry object
Methods
Calculates the area of the analysis section based on the generated mesh.
Given section actions and section propreties, calculates elastic stresses.
Given the neutral axis depth d_n and curvature kappa determines the service stresses within the section.
Given the neutral axis depth d_n and ultimate strain, determines the ultimate stresses with the section.
Plots the finite element mesh.
Plots the coloured shape of the mesh with no outlines on ax.
Performs a service stress analysis on the section.
Performs an ultimate stress analysis on the section.
- calculate_meshed_area()[source]#
Calculates the area of the analysis section based on the generated mesh.
- Returns
float
– Meshed area (un-weighted by elastic modulus)
- get_elastic_stress(n, m_x, m_y, e_a, cx, cy, e_ixx, e_iyy, e_ixy)[source]#
Given section actions and section propreties, calculates elastic stresses.
- Parameters
n (
float
) – Axial forcem_x (
float
) – Bending moment about the x-axism_y (
float
) – Bending moment about the y-axise_a (
float
) – Axial rigiditycx (
float
) – x-Centroidcy (
float
) – y-Centroide_ixx (
float
) – Flexural rigidity about the x-axise_iyy (
float
) – Flexural rigidity about the y-axise_ixy (
float
) – Flexural rigidity about the xy-axis
- Returns
Tuple
[ndarray
,float
,float
,float
] – Elastic stresses, net force and distance from neutral axis to point of force action
- service_analysis(ecf, eps0, theta, kappa, centroid)[source]#
Performs a service stress analysis on the section.
- Parameters
ecf (
Tuple
[float
,float
]) – Global coordinate of the extreme compressive fibreeps0 (
float
) – Strain at top fibretheta (
float
) – Angle (in radians) the neutral axis makes with the horizontal axis (\(-\pi \leq \theta \leq \pi\))kappa (
float
) – Curvaturecentroid (
Tuple
[float
,float
]) – Centroid about which to take moments
- Returns
Tuple
[float
,float
,float
,float
,float
] – Axial force, section moments and min/max strain
- get_service_stress(kappa, ecf, eps0, theta, centroid)[source]#
Given the neutral axis depth d_n and curvature kappa determines the service stresses within the section.
- Parameters
kappa (
float
) – Curvatureecf (
Tuple
[float
,float
]) – Global coordinate of the extreme compressive fibreeps0 (
float
) – Strain at top fibretheta (
float
) – Angle (in radians) the neutral axis makes with the horizontal axis (\(-\pi \leq \theta \leq \pi\))centroid (
Tuple
[float
,float
]) – Centroid about which to take moments
- Returns
Tuple
[ndarray
,float
,float
,float
] – Service stresses, net force and distance from centroid to point of force action
- ultimate_analysis(point_na, d_n, theta, ultimate_strain, centroid)[source]#
Performs an ultimate stress analysis on the section.
- Parameters
point_na (
Tuple
[float
,float
]) – Point on the neutral axisd_n (
float
) – Depth of the neutral axis from the extreme compression fibretheta (
float
) – Angle (in radians) the neutral axis makes with the horizontal axis (\(-\pi \leq \theta \leq \pi\))ultimate_strain (
float
) – Concrete strain at failurecentroid (
Tuple
[float
,float
]) – Centroid about which to take moments
- Returns
Tuple
[float
,float
,float
] – Axial force and resultant moments about the global axes
- get_ultimate_stress(d_n, point_na, theta, ultimate_strain, centroid)[source]#
Given the neutral axis depth d_n and ultimate strain, determines the ultimate stresses with the section.
- Parameters
d_n (
float
) – Neutral axis depthpoint_na (
Tuple
[float
,float
]) – Point on the neutral axistheta (
float
) – Angle (in radians) the neutral axis makes with the horizontal axis (\(-\pi \leq \theta \leq \pi\))ultimate_strain (
float
) – Concrete strain at failurecentroid (
Tuple
[float
,float
]) – Centroid about which to take moments
- Returns
Tuple
[ndarray
,float
,float
,float
] – Ultimate stresses net force and distance from neutral axis to point of force action
- plot_mesh(alpha=0.5, title='Finite Element Mesh', **kwargs)[source]#
Plots the finite element mesh.
- Parameters
alpha (
float
, default:0.5
) – Transparency of the mesh outlinestitle (
str
, default:'Finite Element Mesh'
) – Plot titlekwargs – Passed to
plotting_context()
- Returns
Axes
– Matplotlib axes object