m_n_kappa.crosssection.ComputationCrosssectionStrain#
- class m_n_kappa.crosssection.ComputationCrosssectionStrain(sections, strain, slab_effective_widths=None)#
Bases:
ComputationCrosssection
computes a cross-section under a constant strain_value assuming zero curvature
New in version 0.1.0.
- Parameters:
sections (list[
Section
] |Crosssection
) – sections the cross_section consists ofstrain (float) – applied constant strain_value \(\varepsilon\)
slab_effective_widths (
EffectiveWidths
) – effective widths’ for the slab (concrete and reinforcement)
See also
ComputationCrosssectionCurvature
computes a cross-section under a strain-distribution initialized by a curvature and a neutral-axis-value
Examples
>>> from m_n_kappa import IProfile, Steel >>> steel = Steel(f_y=355.0) >>> i_geometry = IProfile( ... top_edge=0.0, t_w=9.5, h_w=200-15*2 , t_fo=15.0, b_fo=200) >>> cross_section = i_geometry + steel
To apply a
strain
onto the cross-sectionComputationCrosssectionStrain
has to be initialized as follows.>>> from m_n_kappa.crosssection import ComputationCrosssectionStrain >>> compute_cross_section = ComputationCrosssectionStrain( ... sections=cross_section, strain=0.001)
The total axial-force is given by calling
total_axial_force()
as follows.>>> compute_cross_section.total_axial_force() 1599150.0
The axial-force carryied by the slab (concrete + reinforcement) is computed by calling
slab_sections_axial_force()
.>>> compute_cross_section.slab_sections_axial_force() 0
Whereas the axial-force of the streel-girder is computed by
girder_sections_axial_force()
.>>> compute_cross_section.girder_sections_axial_force() 1599150.0
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
get cross-section split into slab- and girder-sections (the sub-cross-sections)
summarized axial force of the girder sections
summarized moment of the girder 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
summarized axial forces of the slab sections
summarized moments of the slab sections
strain_positions
([strain_1, strain_2, ...])get all
StrainPosition
-values betweenstrain_1
andstrain_2
summarized axial forces of the cross_section
summarized moments of the cross_section
Attributes
overall vertical position of the bottom edge of the cross-section \(z_\mathrm{bottom}\)
Section
insections
transformed intoComputationSection
split computation sections
sections of the girder (computed)
sections of the slab (computed)
Section
belonging to te girdervertical middle between and bottom
height of the cross-section
section-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
applied strain_value to the 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_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
- 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 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
]
- 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.ComputationSection]#
Section
insections
transformed intoComputationSection
- 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}\)