m_n_kappa.section.ComputationSection#
- class m_n_kappa.section.ComputationSection(geometry, material)#
Bases:
Sectionbase class for specified ComputationsSection-classes
New in version 0.1.0.
See also
ComputationSectionStrainComputationSection to compute values under constant strain
ComputationSectionCurvatureComputationSection to compute values under linear-distributed strain
Notes
The computation of axial-force \(N_i\), lever-arm \(r_i\) and moment \(M_i\)
- Parameters:
Examples
A section may be created in two ways. In both cases a
Materialand aGeometryinstance is needed.>>> from m_n_kappa import Steel, Rectangle >>> steel = Steel(f_y=355.0) >>> rectangle = Rectangle(top_edge=0.0, bottom_edge=10, width=10.0)
The first way is by simply adding the
steel(Materialinstance) and arectangle(Geometryinstance).>>> section_top = steel + rectangle >>> section_top Section(geometry=Rectangle(top_edge=0.00, bottom_edge=10.00, width=10.00, left_edge=-5.00, right_edge=5.00), material=Steel(f_y=355.0, f_u=None, failure_strain=None, E_a=210000.0))
Alternatively a section is created by passing
rectangleandsteelas arguments toSection.>>> from m_n_kappa import Section >>> section_bottom = Section(geometry=rectangle, material=steel) >>> section_bottom Section(geometry=Rectangle(top_edge=0.00, bottom_edge=10.00, width=10.00, left_edge=-5.00, right_edge=5.00), material=Steel(f_y=355.0, f_u=None, failure_strain=None, E_a=210000.0))
Methods
lever-arm of the section under the given strain-distribution \(r_i\)
strains of the associated material-model
maximum negative strain from associated material-model
maximum negative strain from associated material-model
maximum positive strain from associated material-model
maximum positive strain from associated material-model
moment()moment under the given strain distribution
strains of the associated material-model
strain_positions([strain_1, strain_2, ...])collect all strain-positions between
strain_1andstrain_2(if given)Attributes
axial-force of the section in case of the given strain-distribution \(N_i\)
StrainPositionwith maximum strain on bottom edge of sectionStrainPositionwith minimum strain on bottom edge of sectionstrains at the edges (bottom and top) of the section, computed from the strain distribution
stresses at the edges (bottom and top) of the section
geometry of the section
material of the section
basic
Sectionsection_typeinterception-value of the linear stress-distribution of the section
linear slope of the stresses over the vertical direction of the section
StrainPositionwith maximum strain on top edge of sectionStrainPositionwith minimum strain on top edge of section- lever_arm()#
lever-arm of the section under the given strain-distribution \(r_i\)
- Returns:
lever-arm of the section under a given strain-distribution
- Return type:
float
See also
- Lever arm
More descriptive explanation of the computation
Notes
In case of a
Rectangleor aTrapezoidthe lever-arm is computed as follows.(1)#\[r_i = \frac{1}{N_i} \int_{z_\mathrm{top}}^{z_\mathrm{bottom}} \sigma(z) \cdot b(z) \cdot z~dz\]In case of a
Circlethe lever-arm applies as the centroid of the circle. It is assumed that only reinforcement-bars are modelled as circles and therefore small in comparison to the rest of the cross-section.
- material_strains()#
strains of the associated material-model
- Return type:
list[float]
- maximum_negative_strain()#
maximum negative strain from associated material-model
- Return type:
float
- maximum_negative_strain_position()#
maximum negative strain from associated material-model
New in version 0.2.0.
- Return type:
- maximum_positive_strain()#
maximum positive strain from associated material-model
- Return type:
float
- maximum_positive_strain_position()#
maximum positive strain from associated material-model
New in version 0.2.0.
- Return type:
- moment()#
moment under the given strain distribution
See also
- Moment
More descriptive explanation of the computation
- Returns:
moment under the given strain distribution
- Return type:
float
- section_strains()#
strains of the associated material-model
- Return type:
list[dict]
- strain_positions(strain_1=None, strain_2=None, include_strains=False)#
collect all strain-positions between
strain_1andstrain_2(if given)New in version 0.2.0.
- Parameters:
strain_1 (float) – first strain border (Default: None)
strain_2 (float) – second strain border (Default: None)
include_strains (bool) – includes the boundary strain values (Default: False)
- Returns:
collected :py:class:`~m_n_kappa.StrainPosition
- Return type:
list[StrainPosition]
- property axial_force: float#
axial-force of the section in case of the given strain-distribution \(N_i\)
See also
- Axial force
More descriptive explanation of the computation
- property bottom_edge_maximum_strain: StrainPosition#
StrainPositionwith maximum strain on bottom edge of section
- property bottom_edge_minimum_strain: StrainPosition#
StrainPositionwith minimum strain on bottom edge of section
- property edges_strain: list#
strains at the edges (bottom and top) of the section, computed from the strain distribution
- property edges_stress: list#
stresses at the edges (bottom and top) of the section
- property geometry#
geometry of the section
- property material#
material of the section
- property stress_interception: float#
interception-value of the linear stress-distribution of the section
- property stress_slope: float#
linear slope of the stresses over the vertical direction of the section
- property top_edge_maximum_strain: StrainPosition#
StrainPositionwith maximum strain on top edge of section
- property top_edge_minimum_strain: StrainPosition#
StrainPositionwith minimum strain on top edge of section