m_n_kappa.crosssection.ComputationCrosssectionStrainAdd#

class m_n_kappa.crosssection.ComputationCrosssectionStrainAdd(computed_cross_section_1, computed_cross_section_2)#

Bases: ComputationCrosssectionStrain

result of adding two ComputationCrosssectionStrain-classes to each other

If the relative displacement between two cross-sections is important, these have to be looked at independent of each other. This class provides the functionality to compute this relative displacement.

Parameters:

See also

ComputationCrosssectionStrain

computed cross-section under a constant strain_value

Examples

This example looks at a composite beam. Therefore, first the concrete-slab is created.

>>> from m_n_kappa import Concrete, Rectangle, Crosssection
>>> concrete = Concrete(f_cm=35.0)
>>> concrete_slab = Rectangle(
...     top_edge=0.0, bottom_edge=100.0, width=2000.0)
>>> concrete_section = concrete + concrete_slab
>>> concrete_cross_section = Crosssection(sections=[concrete_section])

Then a steel-beam is created.

>>> from m_n_kappa import IProfile, Steel
>>> steel = Steel(f_y=355)
>>> i_profile = IProfile(
...     top_edge=100.0, t_w=9.5, h_w=200-2*15, b_fo=200.0, t_fo=15.0)
>>> steel_cross_section = i_profile + steel
>>> from m_n_kappa.crosssection import ComputationCrosssectionStrain

Todo

finish doc-string

Methods

add_section(section)

add a Section to this cross-section

concrete_slab_width()

full width of the concrete slab

decisive_maximum_negative_strain_position()

minimum of all maximum negative strains

decisive_maximum_positive_strain_position()

minimum of all maximum positive strains

get_boundary_conditions()

curvature boundary values under positive and negative curvature

get_sub_cross_sections()

get cross-section split into slab- and girder-sections (the sub-cross-sections)

girder_sections_axial_force()

summarized axial force of the girder sections

girder_sections_moment()

summarized moment of the girder sections

left_edge()

outer left-edge of the concrete-slab

maximum_negative_strain()

determine maximum positive strain of all sections associated with this cross-section

maximum_positive_strain()

determine maximum positive strain of all sections associated with this cross-section

right_edge()

outer right-edge of the concrete-slab

sections_not_of_type(section_type)

get a list of sections that are not of the specified typ

sections_of_type(section_type)

get a list of sections that are of the specified type associated with this cross-section

slab_sections_axial_force()

summarized axial forces of the slab sections

slab_sections_moment()

summarized moments of the slab sections

strain_positions([strain_1, strain_2, ...])

get all StrainPosition-values between strain_1 and strain_2

total_axial_force()

summarized axial forces of the cross_section

total_moment()

summarized moments of the cross_section

Attributes

axial_force

bottom_edge

overall vertical position of the bottom edge of the cross-section \(z_\mathrm{bottom}\)

compute_sections

Section in sections transformed into ComputationSection

compute_split_sections

split computation sections

computed_cross_section_1

computed_cross_section_2

computed_girder_sections

sections of the girder (computed)

computed_slab_sections

sections of the slab (computed)

girder_sections

Section belonging to te girder

half_point

vertical middle between and bottom

height

height of the cross-section

section_type

section-type this cross-section is associated with, if it is only one

sections

all sections associated with this cross-section

slab_effective_width

effective widths of the (concrete) slab

slab_sections

all slab-sections of this cross-section

strain

applied strain_value to the cross_section

strain_difference

top_edge

top-edge of the cross-section \(z_\mathrm{top}\)

add_section(section)#

add a Section to this cross-section

Parameters:

section (Section) – section to add to this cross-section

Return type:

None

Raises:

ValueError – if section is not of type Section

concrete_slab_width()#

full width of the concrete slab

Return type:

float

decisive_maximum_negative_strain_position()#

minimum of all maximum negative strains

New in version 0.2.0.

Return type:

StrainPosition

decisive_maximum_positive_strain_position()#

minimum of all maximum positive strains

New in version 0.2.0.

Return type:

StrainPosition

get_boundary_conditions()#

curvature boundary values under positive and negative curvature

Returns:

curvature boundary values under positive and negative curvature

Return type:

Boundaries

See also

get_boundaries()

get_sub_cross_sections()#

get cross-section split into slab- and girder-sections (the sub-cross-sections)

New in version 0.2.0.

Return type:

tuple

girder_sections_axial_force()#

summarized axial force of the girder sections

Return type:

float

girder_sections_moment()#

summarized moment of the girder sections

Return type:

float

left_edge()#

outer left-edge of the concrete-slab

Warning

will fail in case concrete is a trapezoid or a circle

Return type:

float

maximum_negative_strain()#

determine maximum positive strain of all sections associated with this cross-section

Return type:

float

maximum_positive_strain()#

determine maximum positive strain of all sections associated with this cross-section

Return type:

float

right_edge()#

outer right-edge of the concrete-slab

Warning

will fail in case concrete is a trapezoid or a circle

Return type:

float

sections_not_of_type(section_type)#

get a list of sections that are not of the specified typ

Parameters:

section_type (str) –

type of section to search for. Possible section-types are:

  • 'slab' -> concrete slab + reinforcement

  • 'girder' -> Steel girder

Returns:

sections of the specified type associated with this cross-section

Return type:

list[Section]

sections_of_type(section_type)#

get a list of sections that are of the specified type associated with this cross-section

Associated sections are listed in property sections. Therefore, these sections must have been added before to this cross-section.

Parameters:

section_type (str) –

type of section to search for. Possible section-types are:

  • 'slab' -> concrete slab + reinforcement

  • 'girder' -> Steel girder

Returns:

sections of the specified type associated with this cross-section

Return type:

list[Section]

slab_sections_axial_force()#

summarized axial forces of the slab sections

Return type:

float

slab_sections_moment()#

summarized moments of the slab sections

Return type:

float

strain_positions(strain_1=None, strain_2=None, include_strains=False)#

get all StrainPosition-values between strain_1 and strain_2

In case strain_1=None and strain_2=None all possible values will be given.

Parameters:
  • strain_1 (float) – first strain-value (Default: None)

  • strain_2 (float) – second strain-value (Default: None)

  • include_strains (bool) – includes the boundary strain values (Default: False)

Returns:

m_n_kappa.StrainPosition’s with strains between the given strains

Return type:

list[m_n_kappa.StrainPosition]

total_axial_force()#

summarized axial forces of the cross_section

Return type:

float

total_moment()#

summarized moments of the cross_section

Return type:

float

property bottom_edge: float#

overall vertical position of the bottom edge of the cross-section \(z_\mathrm{bottom}\)

property compute_sections: list[m_n_kappa.section.ComputationSectionStrain]#

Section in sections transformed into ComputationSection

property compute_split_sections: list#

split computation sections

property computed_girder_sections: list#

sections of the girder (computed)

property computed_slab_sections: list#

sections of the slab (computed)

property girder_sections: list[m_n_kappa.section.Section]#

Section belonging to te girder

property half_point: float#

vertical middle between and bottom

property height: float#

height of the cross-section

property section_type: str#

section-type this cross-section is associated with, if it is only one

property sections: list[m_n_kappa.section.Section]#

all sections associated with this cross-section

property slab_effective_width: EffectiveWidths#

effective widths of the (concrete) slab

property slab_sections: list[m_n_kappa.section.Section]#

all slab-sections of this cross-section

property strain: float#

applied strain_value to the cross_section

property top_edge: float#

top-edge of the cross-section \(z_\mathrm{top}\)