Materials with characteristic (K) and design (D) diagrams

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

class materials.sections.material_with_DK_diagrams.MaterialWithDKDiagrams(matName)

Bases: object

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

Variables:
  • materialName – name of the 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)

Material setup.

Parameters:matName – material name.

Moment-curvature diagram

Moment curvature diagram for a section.

materials.sections.moment_curvature_diagram.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.

Definition of elastic materials for elements

materials.sections.def_secc_aggregation.def_secc_aggregation2d(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.def_secc_aggregation.def_secc_aggregation3d(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 distortion coefficient with respect to local Y axis (see Oñate, Cálculo de estructuras por el MEF page 122)

alphaZ()

Return distortion coefficient with respect to local Z axis.

getAverageDiameter()

Return the average radius.

getAverageRadius()

Return the average radius.

getDiameter()

Return the external diameter.

getExternalDiameter()

Return the external diameter.

getInternalDiameter()

Return the internal diameter.

getShearStiffnessY(G)

Return the shear stiffness of the section.

getShearStiffnessZ(G)

Return the shear stiffness of the section.

getThickness()

Return the section thickness.

getTorsionalStiffness(G)

Return the torsional stiffness of the section.

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:
  • name – name of the section.
  • 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 an approximation of the torsional constant of the section

Return the torsional constant of a circle with the same area.

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

reCenter()

Put the centroid of the section in the origin.

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

bCOG()

Return distance from the leftmost fiber to the centre of gravity of the section.

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

getElasticSectionModulusY()

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).

getElasticSectionModulusZ()

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).

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)
getShearStiffnessY(G)

Return the shear stiffness of the section.

getShearStiffnessZ(G)

Return the shear stiffness of the section.

getTorsionalStiffness(G)

Return the torsional stiffness of the section.

getYieldMomentY(fy)

Return section yield moment.

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

Return section yield moment.

Parameters:fy – material yield stress.
hCOG()

Return distance from the bottom fiber to the centre of gravity of the section.

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:
  • sectionName – name identifying the section
  • xc_material – pointer to XC material.
  • torsionalStiffnessFactor – factor to apply to the sectional stiffness (defaults to 1.0).
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)

bCOG()

Return distance from the leftmost fiber to the centre of gravity of the section.

defElasticSection1d(preprocessor, material, overrideRho=None)

Return an elastic section appropiate for truss analysis.

Parameters:
  • preprocessor – preprocessor object.
  • material – material constitutive model (for which E is the Young’s modulus)
  • overrideRho – if defined (not None), override the value of the material density.
defElasticSection2d(preprocessor, material, majorAxis=True, overrideRho=None)

Return an elastic section appropiate for 2D beam analysis

Parameters:
  • preprocessor – preprocessor object.
  • material – material constitutive model (for which E is the Young’s modulus)
  • majorAxis – true if bending occurs in the section major axis.
  • overrideRho – if defined (not None), override the value of the material density.
defElasticSection3d(preprocessor, material, overrideRho=None)

Return an elastic section appropiate for 3D beam analysis

Parameters:
  • preprocessor – preprocessor of the finite element problem.
  • material – material (for which E is the Young’s modulus and G() the shear modulus).
  • overrideRho – if defined (not None), override the value of the material density.
defElasticShearSection2d(preprocessor, material, majorAxis=True, overrideRho=None)

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).
  • majorAxis – true if bending occurs in the section major axis.
  • overrideRho – if defined (not None), override the value of the material density.
defElasticShearSection3d(preprocessor, material, overrideRho=None)
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)
  • overrideRho – if defined (not None), override the value of the material density.
getCrossSectionProperties2D(material)

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

getDict()

Put member values in a dictionary.

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).

getRespT(preprocessor, G)
Return an elastic material for modeling torsional response of
section.
Parameters:
  • preprocessor – preprocessor of the finite element problem.
  • G – shear modulus.
getRespVy(preprocessor, G)
Return an elastic material for modeling the resoponse of the
section along the Y axis.
Parameters:
  • preprocessor – preprocessor of the finite element problem.
  • G – shear modulus.
getRespVz(preprocessor, G)
Return an elastic material for modeling the resoponse of the
section along the Z axis.
Parameters:
  • preprocessor – preprocessor of the finite element problem.
  • G – shear modulus.
hCOG()

Return distance from the bottom fiber to the centre of gravity of the section.

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.

respTName()

returns a name to identify the torsional response of the section

respVyName()

returns a name to identify the shear Y response of the section

respVzName()

returns a name to identify the shear Z response of the section

setFromDict(dct)

Read member values from a dictionary.

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).

Stress calculation

class materials.sections.stress_calc.StressCalc(b, h, r, rp, As, Asp, Ec, Es)

Bases: object

Ac()
As = 0.0157
Asp = 0
Ec = 30891000000.0
Es = 200000000000.0
Ic()
M = 8625000.0
N = 30500000.0
b = 10
elasticStressAc()
elasticStressAc0()
elasticStressAs()
elasticStressAsp()
getAh()
getIh()
getMc()
getMs()
getMsp()
getNc()
getNs()
getNsp()
getYCentroidAh()
getYCentroidAs()
getYs()
getYsp()
h = 0.8
inCompression()
inTraction()
r = 0.05
residX(x)
resistingM()
resistingN()
rp = 0.05
sgc = 0.0
sgc0 = 0.0
sgs = 0.0
sgsp = 0.0
solve(N, M)
swap()
totAs()
totIs()
verif()
xElasticNeutralAxis()
xx = 0.0

Structural steel

Base classes and functions for structural steel.

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

Bases: materials.sections.structural_steel.SteelShape

Circular hollow shape

getOutsideDiameter()

Returns the outside diameter.

getRho()

Returns mass per unit length.

getSymmetry()

Returns the symmetry of the shape: ‘double’, ‘simple’ or ‘none’.

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

Bases: materials.sections.structural_steel.SteelShape

b()
d()

Return internal web height

discretization(preprocessor, matModelName)
getDict()

Put member values in a dictionary.

getFiberSection3d(preprocessor, matModelName)
getRho()

Returns mass per unit length.

getShapeRegions()

Returns regions valid for fiber section model creation.

getSymmetry()

Returns the symmetry of the shape: ‘double’, ‘simple’ or ‘none’.

h()

Return shape height.

hw()

Return web height

r()

Return radius web-flange

setFromDict(dct)

Read member values from a dictionary.

tf()

Return flange thickess

tw()

Return web thickess

updateQuantities()

Update some derived values.

widthToThicknessFlange()

return the ratio width-to-thickness for classification in flange (table 5.2 EC3-1-1)

widthToThicknessWeb()

return the ratio width-to-thickness for classification in web (table 5.2 EC3-1-1)

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

Bases: materials.sections.structural_steel.SteelShape

Single angle steel shape.

getSymmetry()

Returns the symmetry of the shape: ‘double’, ‘simple’ or ‘none’.

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

Bases: materials.sections.structural_steel.SteelShape

Quadrilateral hollow shape

b()
getOutsideRadius()

Return the outside radius as two times the wall thickness of HS shape. (AISC Steel Construction Manual (1989 ASD) Tubing Dimensions and Properties on pages 1-94 - 1-103 says: Properties are based upon a nominal OUTISIDE corner radius equal to two times the wall thickness.) (This value is also used in example K.1 of AISC Design Examples V14.1)

getRho()

Return mass per unit length.

getSymmetry()

Returns the symmetry of the shape: ‘double’, ‘simple’ or ‘none’.

h()

Return shape height.

hw()

Return web height

widthToThicknessHorzInt()

return the internal ratio width-to-thickness for classification in horizontal sup. and inf. plates (table 5.2 EC3-1-1)

widthToThicknessWeb()

return the ratio width-to-thickness for classification in web (table 5.2 EC3-1-1)

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)

alphaZ()

return shear shape factor with respect to z-axis (strong axis)

checkBiaxialBendingForElement(elem, nmbComb)
Called in every commit to check biaxial bending criterion
(bars in 3D problems).
Parameters:
  • elem – finite element to check.
  • nmbComb – name of the load combination.
checkUniaxialBendingForElement(elem, nmbComb)

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

Parameters:
  • elem – finite element to check.
  • nmbComb – name of the load combination.
checkYShearForElement(elem, nmbComb)

Called in every commit to y shear criterion.

Parameters:
  • elem – finite element to check.
  • nmbComb – name of the load combination.
checkZShearForElement(elem, nmbComb)

Called in every commit to z shear criterion.

Parameters:
  • elem – finite element to check.
  • nmbComb – name of the load combination.
defElasticSection1d(preprocessor, overrideRho=None)

Return an elastic section appropiate for truss analysis.

Parameters:
  • preprocessor – preprocessor object.
  • overrideRho – if defined (not None), override the value of the material density.
defElasticSection2d(preprocessor, majorAxis=True, overrideRho=None)

Return an elastic section appropiate for 2D beam analysis

Parameters:
  • preprocessor – preprocessor object.
  • overrideRho – if defined (not None), override the value of the material density.
defElasticSection3d(preprocessor, overrideRho=None)

Return an elastic section appropiate for 3D beam analysis

Parameters:
  • preprocessor – preprocessor object.
  • overrideRho – if defined (not None), override the value of the material density.
defElasticShearSection2d(preprocessor, majorAxis=True, overrideRho=None)

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

Parameters:
  • preprocessor – preprocessor object.
  • overrideRho – if defined (not None), override the value of the material density.
defElasticShearSection3d(preprocessor, overrideRho=None)
elastic section appropiate for 3D beam analysis, including shear
deformations
Parameters:
  • preprocessor – preprocessor object.
  • overrideRho – if defined (not None), override the value of the material density.
get(code)
getAdimensionalSlendernessY(Leq, sectionClass=1)

return adimensional slenderness 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 slenderness 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

Parameters:
  • Leq – buckling length in XZ buckling plane.
  • 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.
  • 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

Parameters:
  • Leq – buckling length in XY buckling plane.
  • 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.
  • 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

Parameters:
  • LeqY – buckling length of the member in XZ buckling plane.
  • LeqZ – buckling length of the member in XY buckling plane.
  • 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.
  • bucklingCurveY – buckling curve (a0,a,b,c or d) with respect to z-axis (strong axis)
  • 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

Parameters:
  • Leq – buckling length in XZ buckling plane.
  • 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.
  • 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

Parameters:
  • Leq – buckling length in XY buckling plane.
  • 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.
  • sectionClass – class of the section (1 to 3, 4 not yet implemented) (defaults to 1).
getCrossSectionProperties2D()

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

getDict()

Put member values in a dictionary.

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 slenderness relative to y-axis (weak axis)

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

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

Parameters:Leq – buckling length in XY buckling plane.
getSymmetry()

Returns the symmetry of the shape: ‘double’, ‘simple’ or ‘none’.

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)
setFromDict(dct)

Read member values from a dictionary.

setupULSControlVars(elems)

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

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

Bases: materials.sections.structural_steel.SteelShape

b()

Return shape height.

d()

Return internal web height.

getRho()

Returns mass per unit length.

getSymmetry()

Returns the symmetry of the shape: ‘double’, ‘simple’ or ‘none’.

h()

Return shape height.

hw()

Return web height

r()

Return radius web-flange

tf()

Return flange thickess

tw()

Return web thickess

widthToThicknessFlange()

return the ratio width-to-thickness for classification in flange (table 5.2 EC3-1-1)

widthToThicknessWeb()

return the ratio width-to-thickness for classification in web (table 5.2 EC3-1-1)

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.

RC sections’ container

class materials.sections.RC_sections_container.SectionContainer

Bases: object

Section container.

Variables:
  • sections – List with the section definitions.
  • mapSections – Dictionary with pairs (sectionName, reference to section definition.
  • mapInteractionDiagrams – file containing a dictionary such that associates each element with the two interactions diagrams of materials to be used in the verification.
append(rcSections)
calcInteractionDiagrams(preprocessor, matDiagType, diagramType='NMyMz')

Calculates 3D interaction diagrams for each section.

Parameters:
  • preprocessor – XC preprocessor for the finite element model.
  • 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:
  • preprocessor – XC preprocessor for the finite element model.
  • matDiagType – type of stress-strain diagram (=”k” for characteristic diagram, =”d” for design diagram)
search(nmb)

Return section named nmb (if founded)

Rebar family

Definition of typical reinforcement schemes.

class materials.sections.rebar_family.DoubleRebarFamily(f1, f2)

Bases: object

Two reinforcement bars families.

Variables:
  • f1 – first rebar family.
  • f2 – second rebar family.
d(thickness)
getAs()

Return the total area of the bars.

getBasicAnchorageLength(concrete)

Return the basic anchorage length of the bars.

Parameters:concrete – concrete material.
getCopy(barController)
getDefStrings()

Return definition strings for drawSchema.

getEffectiveCover()

returns the effective cover of the rebar family.

Returns the distance between the surface of the concrete and the centroid of the rebars family.

getMR(concrete, b, thickness)

Return the bending resistance of the (b x thickness) rectangular section.

Parameters:
  • concrete – concrete material.
  • b – width of the rectangular section.
  • thickness – height of the rectangular section.
getMinReinfAreaUnderFlexion(concrete, thickness)
Return the minimun amount of bonded reinforcement to control cracking
for reinforced concrete sections under flexion.
Parameters:
  • concrete – concrete material.
  • thickness – thickness of the bended member.
getMinReinfAreaUnderTension(concrete, thickness)
Return the minimun amount of bonded reinforcement to control cracking
for reinforced concrete sections under tension.
Parameters:
  • concrete – concrete material.
  • thickness – thickness of the tensioned member.
getSpacing()

Return the average spacing of the bars.

writeDef(outputFile, concrete)
class materials.sections.rebar_family.FamNBars(steel, n, diam, spacing, concreteCover)

Bases: materials.sections.rebar_family.RebarFamily

n = 2
writeDef(outputFile, concrete)
class materials.sections.rebar_family.RebarFamily(steel, diam, spacing, concreteCover)

Bases: materials.sections.rebar_family.RebarRow

Family or reinforcement bars.

Variables:steel – reinforcing steel material.
d(thickness)
getCopy(barController)
getDefStr()

Return definition strings for drawSchema.

getDefStrings()

Return definition strings for drawSchema.

getMR(concrete, b, thickness)

Return the bending resistance of the (b x thickness) rectangular section.

Parameters:
  • concrete – concrete material.
  • b – width of the rectangular section.
  • thickness – height of the rectangular section.
getT()

Return the tension force in the reinforcement.

minDiams = 50
writeDef(outputFile, concrete)
class materials.sections.rebar_family.RebarRow(diam, spacing, concreteCover)

Bases: object

Row of reinforcement bars.

Variables:
  • diam – diameter of the bars.
  • spacing – spacing of the bars.
  • concreteCover – concrete cover of the bars.
getAs(width=1.0)

Return the total area of the bars.

Parameters:width – width of the reinforcement.
getBarArea()

Return the area of each bar.

getDiam()

Return the diameter of the bars.

getEffectiveCover()

returns the effective cover of the rebar family.

Returns the distance between the surface of the concrete and the centroid of the rebars family.

getNumBarsPerMeter()

Return the number of bars per unit length.

materials.sections.rebar_family.writeF(outputFile, text, F)

Internal forces

Material internal forces (generalized stresses).

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

Bases: object

Internal forces on a 3D section (6 degrees of freedom).

Variables:
  • N – axial force.
  • Vy – shear force parallel to axis y.
  • Vz – shear force parallel to axis z.
  • T – Torque.
  • My – bending moment parallel to axis y.
  • Mz – bending moment parallel to axis z.
getCSVString()

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

getComponents()

Returns the internal forces in a list.

getDict()

returns a dictionary whith the values of the internal forces.

getModulus()

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

setFromCSVString(csvStr, offset)

Sets the internal forces from a CSV string.

setFromDict(dct)

Sets the internal forces from the dictionary argument.

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)

Bases: object

Internal forces on a material point of a shell element

Variables:
  • n1 – axial force parallel to axis 1.
  • n2 – axial force parallel to axis 2.
  • n12 – in plane shear force.
  • m1 – bending moment parallel to axis 1.
  • m2 – bending moment parallel to axis 2.
  • m12 – twisting stress resultant.
  • q13 – out of plane shear force normal to axis 1 and parallel to axis 3.
  • q23 – out of plane shear force normal to axis 1 and parallel to axis 3.
getCSVString()

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

getDict()

returns a dictionary whith the values of 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.

setFromDict(dct)

Sets the internal forces from the dictionary argument.

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.