structural_steel

class materials.sections.structural_steel.SteelShape(steel, name, table)

Bases: materials.sections.section_properties.SectionProperties

Properties of a section in structural steel

Variables:
  • steel – steel object (e.g. S275JR)
  • table – module containing a dictionary with mechanical characteristics of a series of shapes (e.g. materials.sections.structural_shapes.arcelor_metric_shapes.IPE)
  • name – name identifying the section in the table
A()

return cross-sectional area

EIy()

return the product E*Iy

EIz()

return the product E*Iz

GJ()

return the product G*J (G=shear modulus, J=St. Venant torsional constant)

It()

return Saint Venant torsional constant.

Iw()

return warping constant.

Iy()

return second moment of area about y-axis (weak axis)

Iz()

return second moment of area about z-axis (strong axis)

J()

return torsional moment of inertia of the section

alphaY()

return shear shape factor with respect to y-axis (weak axis)

checkBiaxialBendingForElement(elem, nmbComb)

Called in every commit to check biaxial bending criterion (bars in 3D problems).

checkUniaxialBendingForElement(elem, nmbComb)

Called in every commit to check uniaxial bending criterion (bars in 2D problems).

checkYShearForElement(elem, nmbComb)

Called in every commit to y shear criterion.

get(code)
getAdimensionalSlendernessY(Leq, sectionClass=1)

return adimensional slendernes relative to y-axis (weak axis) as defined in EC3 part 1 6.3.1

Parameters:
  • Leq – buckling length in XZ buckling plane.
  • sectionClass – class of the section (1 to 3, 4 not yet implemented) (defaults to 1)
getAdimensionalSlendernessZ(Leq, sectionClass=1)

return adimensional slendernes relative to z-axis (strong axis) as defined in EC3-1-1 6.3.1

Parameters:
  • Leq – buckling length in XY buckling plane.
  • sectionClass – class of the section (1 to 3, 4 not yet implemented) (defaults to 1)
getAeff(sectionClass=1)

return effective area depending on the cross-section class.

Parameters:sectionClass – class of the section (1 to 3, 4 not yet implemented) (defaults to 1)
getBucklingReductionFactorY(Leq, bucklingCurve, sectionClass=1)

return buckling reduction factor relative to y-axis (weak axis) as defined in EC3-1-1 6.3.1

param Leq:buckling length in XZ buckling plane.
param bucklingCurve:
 buckling curve (a0,a,b,c or d) according to table 6.2 of EN 1993-1-1:2005 “Selection of buckling curve for a cross-section”. Note that in table 6.2 Y and Z axes are swapped with respect to those used in XC. XC axes: Y->weak axis, Z->strong axis.
param sectionClass:
 class of the section (1 to 3, 4 not yet implemented) (defaults to 1)
getBucklingReductionFactorZ(Leq, bucklingCurve, sectionClass=1)

return buckling reduction factor lative to z-axis (strong axis) as defined in EC3-1-1 6.3.1

param Leq:buckling length in XY buckling plane.
param bucklingCurve:
 buckling curve (a0,a,b,c or d) according to table 6.2 of EN 1993-1-1:2005 “Selection of buckling curve for a cross-section”. Note that in table 6.2 Y and Z axes are swapped with respect to those used in XC. XC axes: Y->weak axis, Z->strong axis.
param sectionClass:
 class of the section (1 to 3, 4 not yet implemented) (defaults to 1)
getBucklingResistance(LeqY, LeqZ, bucklingCurveY, bucklingCurveZ, sectionClass=1)

return minimum of buckling resistance in XY and XZ buckling planes calculated according to EC3-1-1 6.3.2

param LeqY:buckling length of the member in XZ buckling plane.
param LeqZ:buckling length of the member in XY buckling plane.
param bucklingCurveY:
 buckling curve (a0,a,b,c or d) with respect to y-axis (weak axis) according to table 6.2 of EN 1993-1-1:2005 “Selection of buckling curve for a cross-section”. Note that in table 6.2 Y and Z axes are swapped with respect to those used in XC. XC axes: Y->weak axis, Z->strong axis.
param bucklingCurveY:
 buckling curve (a0,a,b,c or d) with respect to z-axis (strong axis)
param sectionClass:
 class of the section (1 to 3, 4 not yet implemented) (defaults to 1)
getBucklingResistanceY(Leq, bucklingCurve, sectionClass=1)

return buckling resistance relative to y-axis (weak axis) according to EC3-1-1 6.3.2

param Leq:buckling length in XZ buckling plane.
param bucklingCurve:
 buckling curve (a0,a,b,c or d) according to table 6.2 of EN 1993-1-1:2005 “Selection of buckling curve for a cross-section”. Note that in table 6.2 Y and Z axes are swapped with respect to those used in XC. XC axes: Y->weak axis, Z->strong axis.
param sectionClass:
 class of the section (1 to 3, 4 not yet implemented) (defaults to 1).
getBucklingResistanceZ(Leq, bucklingCurve, sectionClass=1)

return buckling resistance relative to z-axis (strong axis) according to EC3-1-1 6.3.2

param Leq:buckling length in XY buckling plane.
param bucklingCurve:
 buckling curve (a0,a,b,c or d) according to table 6.2 of EN 1993-1-1:2005 “Selection of buckling curve for a cross-section”. Note that in table 6.2 Y and Z axes are swapped with respect to those used in XC. XC axes: Y->weak axis, Z->strong axis.
param sectionClass:
 class of the section (1 to 3, 4 not yet implemented) (defaults to 1).
getGyrationRadiusY()

return radius of gyration about y-axis (weak axis)

getGyrationRadiusZ()

return radius of gyration about z-axis (strong axis)

getNcr(LeqY, LeqZ)

return theoretical critical axial force (minimum of NcrY and NcrZ).

Parameters:
  • LeqY – buckling length of the member in XZ buckling plane.
  • LeqZ – buckling length of the member in XY buckling plane.
getNcrY(Leq)

return theoretical critical axial force on y-axis (weak axis).

Parameters:Leq – buckling length of the member in XZ buckling plane.
getNcrZ(Leq)

return theoretical critical axial force on z-axis (strong axis).

Parameters:Leq – buckling length of the member in XY buckling plane.
getSlendernessY(Leq)

return buckling slendernes relative to y-axis (weak axis)

Parameters:Leq – buckling length in XZ buckling plane.
getSlendernessZ(Leq)

return buckling slendernes relative to z-axis (strong axis)

Parameters:Leq – buckling length in XY buckling plane.
getWy(sectionClass=1)

return section modulus with respect to y-axis (weak axis)

Parameters:sectionClass – 1 to 3 (4 not yet implemented) (defaults to 1)
getWz(sectionClass=1)

return section modulus with respect to z-axis (strong axis)

Parameters:sectionClass – 1 to 3 (4 not yet implemented) (defaults to 1)
setupULSControlVars(elems)

For each element creates the variables needed to check ultimate limit state criterion to satisfy.

materials.sections.structural_steel.alphaImperfectionFactor(bucklingCurve)

Return the alpha imperfection factor for buckling curves see tables 6.1 and 6.2 of EC3 (EN 19931-1:2005).

Parameters:bucklingCurve – buckling curve (a0,a,b,c or d) according to table 6.2 of EN 1993-1-1:2005 “Selection of buckling curve for a cross-section”. Note that in table 6.2 Y and Z axes are swapped with respect to those used in XC. XC axes: Y->weak axis, Z->strong axis.

materialWithDKDiagrams

MaterialWithDKDiagrams.py: materials with characteristic (K) and design (D) diagrams.

class materials.sections.materialWithDKDiagrams.MaterialWithDKDiagrams(matName)

Bases: object

Base class for materials with characteristic (K) and design (D) diagrams

Variables:
  • materialName – name of material
  • nmbDiagK – name of the characteristic diagram
  • matTagK – tag of the uni-axial material in the characteristic diagram
  • nmbDiagD – name of the design diagram
getDiagD(preprocessor)
getDiagK(preprocessor)
setupName(matName)

momentCurvatureDiagram

Moment curvature diagram for a section.

materials.sections.momentCurvatureDiagram.getMomentCurvatureDiagram3D(preprocessor, nmbSecc, esfAxil, maxK, numIncr)

Return the points of the moment curvature diagram of the section.

Parameters:
  • nmbSecc – Section name.
  • esfAxil – Axial force over the section.
  • maxK – Maximum curvature to reach in the analysis.
  • numIncr – Number of increments.

defSeccAggregation

materials.sections.defSeccAggregation.defSeccAggregation2d(preprocessor, defSecc, defMat)

Definition of a elastic material-section for 2D elements

Parameters:
  • preprocessor – preprocessor name
  • defSecc – object with the mechanical properties of the section (A, Iy, Iz, …)
  • defMat – object with the properties of the material (E, G)
materials.sections.defSeccAggregation.defSeccAggregation3d(preprocessor, defSecc, defMat)

Definition of a elastic material section for 3D elements

Parameters:
  • preprocessor – preprocessor name
  • defSecc – object with the mechanical properties of the section (A, Iy, Iz, …)
  • defMat – object with the properties of the material (E, G)

section_properties

class materials.sections.section_properties.CircularSection(name, Rext, Rint=0)

Bases: materials.sections.section_properties.SectionProperties

Geometric parameters of a circular or circular hollow section

Variables:
  • Rext – external radius
  • Rint – internal radius (defaults to 0)
A()

Return cross-sectional area of the section

Iy()

Return second moment of area about the local y-axis

Iz()

Return second moment of area about the local z-axis

J()

Return torsional constant of the section

alphaY()

Return distorsion coefficient with respect to local Y axis (see Oñate, Cálculo de estructuras por el MEF page 122)

alphaZ()

Return distorsion coefficient with respect to local Z axis

r = 0.0
class materials.sections.section_properties.CompoundSection(name, section_list)

Bases: materials.sections.section_properties.SectionProperties

Compound section properties (area, moments of inertia,…)

Variables:name – name identifying the section
A()

cross-sectional area

Iy()

second moment of area about the local y-axis.

Iz()

second moment of area about the local z-axis (abstract method)

J()

torsional constant of the section.

alphaY()

return shear shape factor with respect to local y-axis

alphaZ()

return shear shape factor with respect to local z-axis

yCenterOfMass()

y coordinate of the center of mass.

zCenterOfMass()

y coordinate of the center of mass.

class materials.sections.section_properties.GenericSection(name, area, I_y, I_z, Jtors, W_y, W_z, alphY, alphZ)

Bases: materials.sections.section_properties.SectionProperties

Mechanical properties of generic section

Variables:
  • area – cross-sectional area
  • Iy – second moment of area about the local y-axis
  • Iz – second moment of area about the local z-axis
  • Jtors – torsional constant of the section
  • Wy – section modulus with respect to local y-axis
  • Wz – section modulus with respect to local z-axis
  • alphY – shear shape factor with respect to local y-axis
  • alphZ – shear shape factor with respect to local z-axis
A()

Return cross-sectional area

Iy()

Return second moment of area about the local y-axis

Iz()

Return second moment of area about the local z-axis

J()

Return torsional constant of the section

Wyel()

Return section modulus with respect to local y-axis

Wzel()

Return section modulus with respect to local z-axis

alphaY()

Return shear shape factor with respect to local y-axis

alphaZ()

Return shear shape factor with respect to local z-axis

class materials.sections.section_properties.ISection(name, wdTopFlange, thTopFlange, thWeb, hgWeb, wdBotFlange, thBotFlange)

Bases: materials.sections.section_properties.SectionProperties

I section geometric parameters

Variables:
  • wdTopFlange – width of the top flange (parallel to local z-axis)
  • thTopFlange – thickness of the top flange (parallel to local y-axis)
  • thWeb – thickness of the web (parallel to local z-axis)
  • hgWeb – height of the web (parallel to local y-axis)
  • wdBotFlange – width of the bottom flange (parallel to local z-axis)
  • thBotFlange – thickness of the bottom flange (parallel to local y-axis)
A()

Return cross-sectional area of the section

Iy()

Return second moment of area about the local y-axis

Iz()

Return second moment of area about the local z-axis

J()

Return torsional constant of the section

Wxel()

Return torsional section modulus of the section.

reference: article «I Beam» of Wikipedia.

Wyel()

Return section modulus with respect to local y-axis

Wzel()

Return section modulus with respect to local z-axis

alphaY()

Return shear shape factor with respect to local y-axis

alphaZ()

Return shear shape factor with respect to local z-axis

getWarpingMoment()

Return warping moment of a I-section

reference: article «I Beam» of Wikipedia.

hCOG()

Return distance from the bottom fiber of the inferior flange to the centre of gravity of the section

hTotal()

Return total height (parallel to local y axis) of the section

class materials.sections.section_properties.PolygonalSection(name, plg)

Bases: materials.sections.section_properties.SectionProperties

Polygonal section geometric parameters

Variables:plg – contour of the section.
A()

Return cross-sectional area of the section

Iy()

Return second moment of area about the local y-axis

Iz()

Return second moment of area about the local z-axis

J()

Return torsional constant of the section

alphaY()

Return shear shape factor with respect to local y-axis

alphaZ()

Return shear shape factor with respect to local z-axis

hTotal()

Return total height (parallel to local y axis) of the section

class materials.sections.section_properties.RectangularSection(name, b, h)

Bases: materials.sections.section_properties.SectionProperties

Rectangular section geometric parameters

Variables:
  • b – cross-section width (parallel to local z-axis)
  • h – cross-section depth (parallel to local y-axis)
A()

Return cross-sectional area of the section

Iy()

Return second moment of area about the local y-axis

Iz()

Return second moment of area about the local z-axis

J()

Return torsional constant of the section

Wyel()

Return section modulus with respect to local y-axis

Wzel()

Return section modulus with respect to local z-axis

alphaTable = <scipy.interpolate.interpolate.interp1d object>
alphaY()

Return shear shape factor with respect to local y-axis

alphaZ()

Return shear shape factor with respect to local z-axis

betaTable = <scipy.interpolate.interpolate.interp1d object>
getAlphaTorsion()

Return alpha coefficient of the section.

Reference: concrete book Jiménez Montoya 14a. edition page 405

getBetaTorsion()

Return beta coefficient of the section.

Reference: concrete book Jiménez Montoya 14a. edition page 405

getJTorsion()

Return torsional constant of the section.

Reference: concrete book Jiménez Montoya 14a. edition page 405

getPlasticSectionModulusY()

Returns the plastic section modulus.

Computes the plastic section modulus assuming that plastic neutral axis passes through section centroid (which is true whenever the rectangular section is homogeneous).

getPlasticSectionModulusZ()

Returns the plastic section modulus.

Computes the plastic section modulus assuming that plastic neutral axis passes through section centroid (which is true whenever the rectangular section is homogeneous).

getRegion(gm, nmbMat)

generation of a quadrilateral region from the section geometry (sizes and number of divisions for the cells) made of the specified material

Parameters:
  • gm – object of type section_geometry
  • nmbMat – name of the material (string)
getYieldMomentY(fy)

Return section yield moment.

Parameters:fy – material yield stress.
getYieldMomentZ(fy)

Return section yield moment.

Parameters:fy – material yield stress.
xAlpha = [1, 1.25, 1.5, 2, 3, 4, 6, 10, 10000]
xBeta = [1, 1.25, 1.5, 2, 3, 4, 6, 8, 10, 10000]
yAlpha = [0.14, 0.171, 0.196, 0.229, 0.263, 0.281, 0.299, 0.313, 0.3333333333333333]
yBeta = [0.208, 0.221, 0.231, 0.246, 0.267, 0.282, 0.299, 0.307, 0.313, 0.3333333333333333]
class materials.sections.section_properties.SectionProperties(name)

Bases: object

Abstract section properties (area, moments of inertia,…)

Variables:name – name identifying the section
A()

cross-sectional area (abstract method)

Iy()

second moment of area about the local y-axis (abstract method)

Iz()

second moment of area about the local z-axis (abstract method)

J()

torsional constant of the section (abstract method)

Steiner(pos)
Return the moments of inertia obtained by applying
the parallel axis theorem (or Huygens-Steiner theorem or Steiner’s theorem.
Parameters:pos – position of the original section centroid
SteinerJ(pos)
Return the moments of inertia obtained by applying
the parallel axis theorem (or Huygens-Steiner theorem or Steiner’s theorem.
Parameters:pos – position of the original section centroid
SteinerY(z)
Return the moment of inertia obtained by applying
the parallel axis theorem (or Huygens-Steiner theorem or Steiner’s theorem.
Parameters:pos – position of the original section centroid
SteinerZ(y)
Return the moment of inertia obtained by applying
the parallel axis theorem (or Huygens-Steiner theorem or Steiner’s theorem.
Parameters:pos – position of the original section centroid
Wyel()

section modulus with respect to local y-axis (abstract method)

Wzel()

section modulus with respect to local z-axis (abstract method)

defElasticSection2d(preprocessor, material)

elastic section appropiate for 2D beam analysis, including shear deformations

Parameters:
  • preprocessor – preprocessor object.
  • material – material constitutive model (for which E is the Young’s modulus)
defElasticSection3d(preprocessor, material)

elastic section appropiate for 3D beam analysis

Parameters:
  • preprocessor – preprocessor object.
  • material – material (for which E is the Young’s modulus and G() the shear modulus)
defElasticShearSection2d(preprocessor, material)

elastic section appropiate for 2D beam analysis, including shear deformations

Parameters:
  • preprocessor – preprocessor object.
  • material – material constitutive model (for which E is the Young’s modulus and G() the shear modulus).
defElasticShearSection3d(preprocessor, material)

elastic section appropiate for 3D beam analysis, including shear deformations

Parameters:
  • preprocessor – preprocessor object.
  • material – material (for which E is the Young’s modulus and G() the shear modulus)
getCrossSectionProperties2D(material)

Return a CrossSectionProperties object with the 2D properties of the section.

getPlasticMomentY(fy)

Return section plastic moment around Y axis.

Computes the plastic moment of the section assuming that plastic neutral axis passes through section centroid (which is true whenever the rectangular section is homogeneous).

getPlasticMomentZ(fy)

Return section plastic moment around Z axis.

Computes the plastic moment of the section assuming that plastic neutral axis passes through section centroid (which is true whenever the rectangular section is homogeneous).

getPlasticSectionModulusY()

Returns the plastic section modulus around Y axis.

Computes the plastic section modulus assuming that plastic neutral axis passes through section centroid (which is true whenever the rectangular section is homogeneous).

getPlasticSectionModulusZ()

Returns the plastic section modulus around Z axis.

Computes the plastic section modulus assuming that plastic neutral axis passes through section centroid (which is true whenever the rectangular section is homogeneous).

iy()

Return the radius of gyration of the section around the axis parallel to Z that passes through section centroid.

iz()

Return the radius of gyration of the section around the axis parallel to Z that passes through section centroid.

materials.sections.section_properties.getInerciaTorsionCajonMonocelular(bs, bi, h, ts, ti, td)

Return torsional section modulus of the section.

Parameters:
  • bs – Upper deck width (without the overhangs)
  • bi – Lower deck width.
  • ts – Upper deck thickness.
  • ti – Lower deck thickness.
  • td – Thickness of the webs.
  • h – Box depth (between mid-planes).
materials.sections.section_properties.solicitationType(epsCMin, epsSMax)

Solicitation type from maximum and minimum strain.

Return:

1: Pure or combined tension (all fibers are tensioned). 2: Pure or combined bending (tensioned and compressed fibers). 3: Pure or combined compression (all fibers are compressed).

param epsCMin:Minimal strain.
param epsCMax:Maximal strain.
materials.sections.section_properties.solicitationTypeString(tipoSol)

Returns a string describing the solicitation type.

Parameters:solType – number identifiying the solicitation type: 1: Pure or combined tension (all fibers are tensioned). 2: Pure or combined bending (tensioned and compressed fibers). 3: Pure or combined compression (all fibers are compressed).

RCsectionsContainer

class materials.sections.RCsectionsContainer.SectionContainer

Bases: object

append(RCSections)
calcInteractionDiagrams(preprocessor, matDiagType, diagramType='NMyMz')

Calculates 3D interaction diagrams for each section.

Parameters:
  • preprocessor – FEA problem preprocessor
  • matDiagType – ‘k’ for characteristic, ‘d’ for design
  • diagramType – three dimensional diagram: NMyMz bi-dimensional diagram: NMy bi-dimensional diagram: NMz
createRCsections(preprocessor, matDiagType)

Creates for each element in the container the fiber sections (RCsimpleSections) associated with it. Depending on the value of attribute ‘initTensStiff’ of the concrete class, the method generates the concrete fibers using a constitutive model without tension branch (diagram ot type concrete01) or uses a concrete02 model, that initializes the material in order to check the cracking limit state (tension stiffening models).

Parameters:matDiagType

type of stress-strain diagram (=”k” for characteristic diagram,

=”d” for design diagram)
search(nmb)

Return section named nmb (if founded)

internal_forces

class materials.sections.internal_forces.CrossSectionInternalForces(N=0.0, Vy=0.0, Vz=0.0, T=0.0, My=0.0, Mz=0.0)
getCSVString()

returns a comma separated values string that represents the internal forces.

getComponents()

Returns the internal forces in a list.

getModulus()

modulus of the corresponding [N,Vy,Vz,T,My,Mz] vector.

setFromCSVString(csvStr, offset)

Sets the internal forces from a CSV string.

class materials.sections.internal_forces.ShellMaterialInternalForces(n1=0.0, n2=0.0, n12=0.0, m1=0.0, m2=0.0, m12=0.0, q13=0.0, q23=0.0)
getCSVString()

returns a comma separated values string that represents the internal forces.

getWoodArmer()

returns wood-archer method internal forces.

getWoodArmer1()

returns wood-archer method internal forces for axis 1.

getWoodArmer2()

returns wood-archer method internal forces for axis 2.

setFromAverageInShellElement(element, fConv=1.0)

Extracts the average internal forces from the element.

setFromCSVString(csvStr, offset)

Sets the internal forces from a CSV string.

transform(theta)

Calculates the components for a reference system rotated the angle being passed as parameter.

materials.sections.internal_forces.transformInternalForces(iForces, theta)

Computes internal forces in a system rotated theta degrees with respect to the z(3) axis.