m_n_kappa.MNCurve#
- class m_n_kappa.MNCurve(sub_cross_sections)#
Bases:
object
compute the moment and axial-force curve of a cross-section in case of no curvature
New in version 0.2.0.
- procedure:
determine strains in the sub-cross-sections (girder and slab)
compute strain_value at the corresponding counter-sections
determine moment, axial-force, strain-value-difference, etc.r
- Parameters:
sub_cross_sections (list[
Crosssection
] |) –
:param tuple[
Crosssection
: sub-cross-sections to compute :paramCrosssection
]: sub-cross-sections to computeExamples
To compute a moment-axial-force curve you need two sub-cross- sections. In the following two identical cross-sections are defined as our sub-cross-sections.
>>> from m_n_kappa import Steel, Rectangle, Crosssection >>> steel = Steel(f_y=355.0, f_u=400, failure_strain=0.15) >>> rectangle_top = Rectangle(top_edge=0.0, bottom_edge=10.0, width=10.0) >>> section_top = steel + rectangle_top >>> cross_section_top = Crosssection([section_top]) >>> rectangle_bottom = Rectangle(top_edge=10.0, bottom_edge=20.0, width=10.0) >>> section_bottom = steel + rectangle_bottom >>> cross_section_bottom = Crosssection([section_bottom]) >>> cross_sections = [cross_section_top, cross_section_bottom]
The
cross_sections
are passed toMNCurve
. By initializing the moment-axial-force curve is computed.>>> from m_n_kappa import MNCurve >>> m_n = MNCurve(cross_sections)
points
gives us the opportunity access the results. Attributemoments
gives us the computed moments.>>> m_n.points.moments [400000.0, 355026.8934963956, -355026.8934963956, -400000.0, 400000.0, 355026.8934963956, -355026.8934963956, -400000.0]
The computed curvatures are by definition zero.
>>> m_n.points.curvatures [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
Attribute
axial_forces
gives us the computed axial-forces.>>> m_n.points.axial_forces [40000.0, 35500.0, -35500.0, -40000.0, 40000.0, 35500.0, -35500.0, -40000.0]
Attributes
for those computations that were not successful, here the reasons are given
computed points
strain-positions of the sub-cross-sections
two sub-cross-sections
- property not_successful_reason: list[m_n_kappa.general.NotSuccessfulReason]#
for those computations that were not successful, here the reasons are given
- property points: MNKappaCurvePoints#
computed points
- property strain_positions: tuple#
strain-positions of the sub-cross-sections
- property sub_cross_sections: tuple[m_n_kappa.crosssection.Crosssection, m_n_kappa.crosssection.Crosssection]#
two sub-cross-sections