m_n_kappa.MomentAxialForce#
- class m_n_kappa.MomentAxialForce(sub_cross_sections, strain=None, axial_force=None)#
Bases:
AxialForcePoint
compute moment and axial-force at zero curvature
New in version 0.2.0.
- Parameters:
sub_cross_sections (list[
Crosssection
] |) –strain (float) –
axial_force (float) –
:param tuple[
Crosssection
: cross-sections that are computed (must be two) :paramCrosssection
]: cross-sections that are computed (must be two) :param strain: applied strain to the first cross-section given incross_sections
:type strain: float :param axial_force: axial-force applied to the first cross-section given insub_cross_sections
:type axial_force: float- Raises:
ValueError – If not exactly two cross-sections are given in
cross_sections
:ValueError – If neither
strain
noraxial_force
are given:
- Parameters:
sub_cross_sections (list[m_n_kappa.crosssection.Crosssection] | tuple[m_n_kappa.crosssection.Crosssection, m_n_kappa.crosssection.Crosssection]) –
strain (float) –
axial_force (float) –
See also
MomentAxialForceCurvature
Computes moment and curvature under given axial-force and a
StrainPosition
point for a cross-section consisting of two sub- cross-sections
Examples
To compute the moment-axial-force you need two (sub)-cross-sections. In the following these are two identical steel rectangles.
>>> from m_n_kappa import Steel, Rectangle, Crosssection >>> steel = Steel() >>> 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_top]) >>> cross_sections = [cross_section_top, cross_section_bottom]
By initializing
MomentAxialForce
the moment- axial-force point is computed under the given strain applied uniformly to the first cross-section.>>> from m_n_kappa import MomentAxialForce >>> m_n = MomentAxialForce(cross_sections, 0.0001)
The axial-force is easily accessed by
axial_force
.>>> m_n.axial_force 2100.0
And the computed moment by is
moment
.>>> m_n.moment() 21000.0
The strain-difference between both cross-sections is computed by
strain_difference
.>>> round(m_n.strain_difference, 7) 0.0002
Methods
moment
()computed moment,
None
in case notsuccessful
Attributes
axial-force applied to first cross-section
computed sub-cross-sections
if computation was not successful,here the reasons are given
applied strain to the first cross-section
difference between the computed sub-cross-sections
cross-sections that are computed
computed successfully
- moment()#
computed moment,
None
in case notsuccessful
- Return type:
float
- property axial_force: float#
axial-force applied to first cross-section
- property computed_sub_cross_sections: tuple[m_n_kappa.crosssection.ComputationCrosssectionCurvature, m_n_kappa.crosssection.ComputationCrosssectionCurvature] | tuple[m_n_kappa.crosssection.ComputationCrosssectionStrain, m_n_kappa.crosssection.ComputationCrosssectionStrain]#
computed sub-cross-sections
- property curvature: float#
- property not_successful_reason: NotSuccessfulReason#
if computation was not successful,here the reasons are given
- property strain: float#
applied strain to the first cross-section
- property strain_difference: float#
difference between the computed sub-cross-sections
- property sub_cross_sections: tuple[m_n_kappa.crosssection.Crosssection, m_n_kappa.crosssection.Crosssection]#
cross-sections that are computed
- property successful: bool#
computed successfully