Moment-Curvature#
Units: Millimeter [mm], Newton [N]
In case you have a strain MKappaByStrainPosition
.
As cross_section
a composite beam consisting of a HEB200 (S355) and
a rectangular concrete-slab (C30/35) with a top and a bottom
reinforcement layer is defined.
from m_n_kappa import IProfile, Steel, Rectangle, Concrete, RebarLayer, Reinforcement
concrete_slab = Rectangle(top_edge=0.0, bottom_edge=100, width=2000)
concrete = Concrete(f_cm=30+8, )
concrete_section = concrete_slab + concrete
reinforcement = Reinforcement(f_s=500, f_su=550, failure_strain=0.15)
top_layer = RebarLayer(
centroid_z=25, width=2000, rebar_horizontal_distance=200, rebar_diameter=10)
top_rebar_layer = reinforcement + top_layer
bottom_layer = RebarLayer(
centroid_z=75, width=2000, rebar_horizontal_distance=100, rebar_diameter=10)
bottom_rebar_layer = reinforcement + bottom_layer
i_profile = IProfile(
top_edge=100.0, b_fo=200, t_fo=15, h_w=200-2*15, t_w=15, centroid_y=0.0)
steel = Steel(f_y=355.0, f_u=400, failure_strain=0.15)
steel_section = i_profile + steel
cross_section = concrete_section + top_rebar_layer + bottom_rebar_layer + steel_section
The strain and its position is defined using
StrainPosition
.
For our example the strain is defined to
from m_n_kappa import StrainPosition
strain_position = StrainPosition(
strain=-0.002, position=0.0, material='Concrete'
)
To find equilibrium axial-forces strain_position
is to be passed to
MKappaByStrainPosition
as well as the
cross-section
.
By default the positive curvature is computed.
In case you want to compute the negative curvature, you only have to
pass argument positive_curvature=False
.
The finding of the horizontal equilibrium successful=True
then horizontal equilibrium of
axial forces is found.
from m_n_kappa import MKappaByStrainPosition
m_kappa_point = MKappaByStrainPosition(
cross_section=cross_section,
strain_position=strain_position,
positive_curvature=True) # default
m_kappa_point.successful
The computed sum of axial-forces you may control by calling
axial_force
, that is near zero.
m_kappa_point.axial_force
Moment and curvature are extracted by calling the corresponding
properties of m_kappa_point
.
m_kappa_point.moment, m_kappa_point.curvature
As well as the vertical position of the neutral_axis
.
m_kappa_point.neutral_axis
Further details regarding the computation are described by
MKappaByStrainPosition
.
MKappaByStrainPosition
serves to compute single
moment-curvature points of the Moment-Curvature-Curve.