m_n_kappa.IProfile#

class m_n_kappa.IProfile(top_edge, t_w, h_w, t_fo=None, b_fo=None, t_fu=None, b_fu=None, has_top_flange=True, has_bottom_flange=True, centroid_y=0.0)#

Bases: ComposedGeometry

I-Profile composed of Rectangle instances

New in version 0.1.0.

Inherits from ComposedGeometry and makes a variety of geometries possible as the following figure shows. In case the desired profile has no bottom-flange choose has_bottom_flange=False. Similar if no top-flange is needed then use has_top_flange=False. In case top- and bottom flange are similar only passing values to t_fo and t_fo is needed.

Parameters:
  • top_edge (float) – top_edge of the I-profile

  • t_w (float) – web-thickness of the I-profile

  • h_w (float) – web-height of the I-profile

  • t_fo (float = None) – thickness of the top-flange

  • b_fo (float = None) – width of the top-flange

  • t_fu (float = None) – thickness of the bottom-flange

  • b_fu (float = None) – width of the bottom-flange

  • has_top_flange (bool = True) – decide if I-profile has a top-flange (Default: True). If False: no top-flange is created

  • has_bottom_flange (bool = True) – decide if I-profile has a bottom-flange (Default: True) if False: no top-flange is created

  • centroid_y (float) – horizontal position of the centroid of the I-profile (Default: 0)

../_images/geometry_i-profile-light.svg
../_images/geometry_i-profile-dark.svg

I-Profile - dimensions - a) asymmetric I-profile, b) without bottom-flange, c) without top-flange, d) without top- and bottom-flange#

See also

Rectangle

basic geometry object

UPEProfile

composed geometry consisting of several Rectangle forming an U

RebarLayer

composed geometry consisting of several Circle

Example

An HEB 200-profile may be composed as follows

>>> from m_n_kappa import IProfile
>>> heb200_geometry = IProfile(top_edge=0., t_fo=15.5, b_fo=200.0, t_w=9.5, h_w=169.0)
>>> heb200_geometry
IProfile(top_edge=0.0, t_w=9.5, h_w=169.0, t_fo=15.5, b_fo=200.0, t_fu=15.5, b_fu=200.0, has_top_flange=True, has_bottom_flange=True, centroid_y=0.0, height=200.0, bottom_edge=200.0, geometries=[Rectangle(top_edge=0.00, bottom_edge=15.50, width=200.00, left_edge=-100.00, right_edge=100.00), Rectangle(top_edge=15.50, bottom_edge=184.50, width=9.50, left_edge=-4.75, right_edge=4.75), Rectangle(top_edge=184.50, bottom_edge=200.00, width=200.00, left_edge=-100.00, right_edge=100.00)])

As IProfile inherits from ComposedGeometry it also inherits its functionality tranforming to a m_n_kappa.Crosssection by adding m_n_kappa.Material.

>>> from m_n_kappa import Steel
>>> steel = Steel(f_y = 300.0, f_u = 350.0, failure_strain=0.25)
>>> cross_section = heb200_geometry + steel
>>> cross_section
Crosssection(sections=sections)

Attributes

top_edge

t_w

h_w

t_fo

b_fo

t_fu

b_fu

has_top_flange

has_bottom_flange

centroid_y

height

bottom_edge

geometries