m_n_kappa.crosssection.CrossSectionBoundaries#
- class m_n_kappa.crosssection.CrossSectionBoundaries(sections)#
Bases:
Crosssection
Compute the Boundary-Values for the cross_section
New in version 0.1.0.
get_boundaries()
gives the curvature boundary values under positive and negative curvature- Parameters:
sections (list[Section]) – sections of the given cross_section
Examples
First the sections for the cross-section are created.
>>> from m_n_kappa import Concrete, Steel, Rectangle >>> concrete = Concrete(f_cm=35.0) >>> concrete_geometry_1 = Rectangle( ... top_edge=0.0, bottom_edge=10.0, width=10.0, left_edge=-10.0) >>> concrete_section_1 = concrete + concrete_geometry_1 >>> steel = Steel(f_y=355, failure_strain=0.15) >>> steel_geometry = Rectangle( ... top_edge=10.0, bottom_edge=20.0, width=10.0) >>> steel_section = steel + steel_geometry
These sections are passed to
CrossSectionBoundaries
in form of a list.>>> from m_n_kappa.crosssection import CrossSectionBoundaries >>> cross_section_boundaries = CrossSectionBoundaries(sections=[concrete_section_1, steel_section])
get_boundaries
gives us then aBoundaries
class, where a variety of values are saved regarding the boundaries of our cross-section.>>> boundaries = cross_section_boundaries.get_boundaries()
The following values are given for positive and negative curvature. In case of values under negative curvature only
boundaries.negative
plus the desired property is to be called. Hereafter, only examples under positive curvature are given.The maximum positive curvature is given as follows:
>>> boundaries.positive.maximum_curvature.curvature 0.0076749999999999995
The boundary-condition representing the point of failure is given as follows:
>>> boundaries.positive.maximum_curvature.start StrainPosition(strain=-0.0035, position=0.0, material='Concrete')
Whereas method
compute
gives as the maximum curvature assuming anotherStrainPosition
points.>>> from m_n_kappa import StrainPosition >>> boundaries.positive.maximum_curvature.compute(StrainPosition(-0.0035, 0, 'Concrete')) 0.0076749999999999995
get_boundaries()
implements the above given behaviour and returns the boundary values directly without usingCrossSectionBoundaries
.Methods
add_section
(section)add a
Section
to this cross-sectionfull width of the concrete slab
minimum of all maximum negative strains
minimum of all maximum positive strains
curvature boundary values under positive and negative curvature
curvature boundary values under positive and negative curvature
get cross-section split into slab- and girder-sections (the sub-cross-sections)
outer left-edge of the concrete-slab
determine maximum positive strain of all sections associated with this cross-section
determine maximum positive strain of all sections associated with this cross-section
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
strain_positions
([strain_1, strain_2, ...])get all
StrainPosition
-values betweenstrain_1
andstrain_2
Attributes
overall vertical position of the bottom edge of the cross-section \(z_\mathrm{bottom}\)
Section
belonging to te girdervertical middle between and bottom
height of the cross-section
EdgeStrains
reaching the maximum possible negative curvatureEdgeStrains
reaching the maximum possible positive curvaturesection-type this cross-section is associated with, if it is only one
all sections associated with this cross-section
effective widths of the (concrete) slab
all slab-sections of this cross-section
top-edge of the cross-section \(z_\mathrm{top}\)
- 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:
- decisive_maximum_positive_strain_position()#
minimum of all maximum positive strains
New in version 0.2.0.
- Return type:
- get_boundaries()#
curvature boundary values under positive and negative curvature
New in version 0.2.0:
neutral_axes
to compute the highest and lowest position of the neutral axis under a given curvatureThe boundary values are derived from the stress-strain-curves applied to the sections that are associated with the given cross-section
- Returns:
curvature boundary values under positive and negative curvature derived from the given material curves
- Return type:
- get_boundary_conditions()#
curvature boundary values under positive and negative curvature
- Returns:
curvature boundary values under positive and negative curvature
- Return type:
See also
- 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
- 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
]
- strain_positions(strain_1=None, strain_2=None, include_strains=False)#
get all
StrainPosition
-values betweenstrain_1
andstrain_2
In case
strain_1=None
andstrain_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
]
- property bottom_edge: float#
overall vertical position of the bottom edge of the cross-section \(z_\mathrm{bottom}\)
- 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 maximum_negative_curvature: EdgeStrains#
EdgeStrains
reaching the maximum possible negative curvature
- property maximum_positive_curvature: EdgeStrains#
EdgeStrains
reaching the maximum possible positive curvature
- 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 top_edge: float#
top-edge of the cross-section \(z_\mathrm{top}\)