Typical materials

Convenience functions to define common materials.

class materials.typical_materials.BasicElasticMaterial(E, nu, rho=0.0)

Bases: object

Basic elastic material

Variables
  • E – Young’s modulus of the material

  • nu – Poisson’s ratio

  • rho – mass density

G()

shear modulus.

defElasticIsotropic3d(preprocessor, name=None, overrideRho=None)
Return an elastic isotropic 3D material appropriate for example for

brick elements

Parameters
  • preprocessor – preprocessor of the finite element problem.

  • name – name for the new material (if None compute a suitable name).

  • overrideRho – if defined (not None), override the value of the material density.

defElasticMaterial(preprocessor, name=None, overrideRho=None, initStrain=0.0)
Return an elastic uniaxial material appropriate for example for

truss elements

Parameters
  • preprocessor – preprocessor of the finite element problem.

  • name – name for the new material (if None compute a suitable name).

  • overrideRho – if defined (not None), override the value of the material density.

  • initStrain – initial strain.

defElasticMembranePlateSection(preprocessor, thickness, name=None, overrideRho=None)
Return an elastic membrane plate section material appropriate

for example for shell elements.

Parameters
  • preprocessor – preprocessor of the finite element problem.

  • thickness – plate thickness.

  • name – name for the new material (if None compute a suitable name).

  • overrideRho – if defined (not None), override the value of the material density.

defMembranePlateFiberSection(preprocessor, thickness, name=None, overrideRho=None)
Return an elastic membrane plate section material appropriate

for example for shell elements.

Parameters
  • preprocessor – preprocessor of the finite element problem.

  • thickness – plate thickness.

  • name – name for the new material (if None compute a suitable name).

  • overrideRho – if defined (not None), override the value of the material density.

getDict()

Returns a dictionary whith the values of the internal forces. Makes easier export it to json.

setFromDict(dct)

Sets the internal forces from the dictionary argument.

class materials.typical_materials.BeamMaterialData(name, section, material)

Bases: materials.typical_materials.MaterialData

Elastic section appropriate for 3D beam analysis, including shear deformations.

Variables
  • name – name identifying the section.

  • section – instance of a class that defines the geometric and mechanical characteristiscs of a section e.g: RectangularSection, CircularSection, ISection, …

  • material – instance of a class that defines the elastic modulus, shear modulus and mass density of the material

EIy()

Returm the bending stiffness.

EIz()

Returm the bending stiffness.

defElasticShearSection2d(preprocessor, overrideRho=None)
Return an elastic section appropriate for 2D beam linear

elastic analysis.

Parameters

overrideRho – if defined (not None), override the value of the material density.

defElasticShearSection3d(preprocessor, overrideRho=None)
Return an elastic section appropriate for 3D beam linear

elastic analysis.

Parameters

overrideRho – if defined (not None), override the value of the material density.

getRho()

return the mass per unit length

setupElasticShear2DSection(preprocessor, overrideRho=None)
Return an elastic section appropriate for 2D beam linear

elastic analysis.

Parameters

overrideRho – if defined (not None), override the value of the material density.

setupElasticShear3DSection(preprocessor, overrideRho=None)
Return an elastic section appropriate for 3D beam linear

elastic analysis.

Parameters

overrideRho – if defined (not None), override the value of the material density.

class materials.typical_materials.DeckMaterialData(name, thickness, material)

Bases: materials.typical_materials.MaterialData

Material for Isotropic elastic sections

Variables
  • name – name identifying the section

  • thickness – overall depth of the section

  • material – instance of a class that defines the elastic modulus, shear modulus and mass density of the material

getAreaDensity()

return the mass per unit area

setupElasticSection(preprocessor, overrideRho=None)
create an elastic isotropic section appropriate for plate

and shell analysis.

Parameters
  • preprocessor – preprocessor of the finite element problem.

  • overrideRho – if defined (not None), override the value of the material density.

class materials.typical_materials.ElasticPerfectlyPlasticMaterial(E: float, fyp: float, fyn: float, rho=0.0, nu=0.3)

Bases: materials.typical_materials.BasicElasticMaterial

Elastic perperfectly-plastic material.

Variables
  • fyp – stress at which material reaches plastic state in tension.

  • fyn – stress at which material reaches plastic state in compression.

defElasticPPMaterial(preprocessor, name=None, overrideRho=None, initStrain=0.0)
Return an perfectly-plastic uniaxial material appropriate for

example for truss elements

Parameters
  • preprocessor – preprocessor of the finite element problem.

  • name – name for the new material (if None compute a suitable name).

  • overrideRho – if defined (not None), override the value of the material density.

  • initStrain – initial strain.

getDict()

Returns a dictionary whith the values of the internal forces. Makes easier export it to json.

setFromDict(dct)

Sets the internal forces from the dictionary argument.

class materials.typical_materials.MaterialData(name, E, nu, rho)

Bases: materials.typical_materials.BasicElasticMaterial

Base class to construct some material definition classes

Variables
  • name – name identifying the material

  • xc_material – pointer to XC material.

materials.typical_materials.defCableMaterial(preprocessor, name, E, prestress, rho)

Constructs a uniaxial bilinear prestressed material. The stress strain ranges from slack (large strain at zero stress) to taught (linear with modulus E).

Parameters
  • preprocessor – preprocessor of the finite element problem.

  • name – name identifying the material (if None compute a suitable name)

  • E – elastic modulus

  • prestress – prestress

  • rho – mass density

materials.typical_materials.defCompressionOnlyMaterial(preprocessor, name, materialToEncapsulate)

Constructs a compression-only material.

Parameters
  • preprocessor – preprocessor of the finite element problem.

  • name – name for the new material (if None compute a suitable name).

  • materialToEncapsulate – material that will name of the materials to be connected.

materials.typical_materials.defConcrete01(preprocessor, name, epsc0, fpc, fpcu, epscu)

‘Constructs an uniaxial Kent-Scott-Park concrete material object with degraded linear unloading/reloading stiffness according to the work of Karsan-Jirsa and no tensile strength

Parameters
  • preprocessor – preprocessor of the finite element problem.

  • name – name identifying the material (if None compute a suitable name)

  • epsc0 – concrete strain at maximum strength

  • fpc – concrete compressive strength at 28 days (compression is negative)

  • fpcu – concrete crushing strength

  • epscu – concrete strain at crushing strength

materials.typical_materials.defConcrete02(preprocessor, name, epsc0, fpc, fpcu, epscu, ratioSlope=0.1, ft=None, Ets=None)

‘Constructs an uniaxial concrete material with linear tension softening. Compressive concrete parameters should be input as negative values. The initial slope for this model is (2*fpc/epsc0)

Parameters
  • preprocessor – preprocessor of the finite element problem.

  • name – name identifying the material (if None compute a suitable name)

  • epsc0 – concrete strain at maximum strength

  • fpc – concrete compressive strength at 28 days (compression is negative)

  • fpcu – concrete crushing strength

  • epscu – concrete strain at crushing strength

  • ratioSlope – ratio between unloading slope at epscu and initial slope (defaults to 0.1).

  • ft – tensile strength (defaults to None in which case the value is set to -0.1*fpc)

  • Ets – tension softening stiffness (absolute value) (slope of the linear tension softening branch) (defaults to None in which case the value is set to 0.1*fpc/epsc0)

materials.typical_materials.defContactMaterial2D(preprocessor, name, mu, G, c, t)

Create a 2D conctact material.

Parameters
  • preprocessor – pre-processor or the finite element problem.

  • name – material identifier.

  • mu – interface frictional coefficient: tan(phi)

  • G – interface stiffness parameter

  • c – interface cohesive intercept

  • t – interface tensile strength

materials.typical_materials.defContactMaterial3D(preprocessor, name, mu, G, c, t)

Create a 2D conctact material.

Parameters
  • preprocessor – pre-processor or the finite element problem.

  • name – material identifier.

  • mu – interface frictional coefficient

  • G – interface stiffness parameter

  • c – interface cohesive intercept

  • t – interface tensile strength

materials.typical_materials.defDruckerPrager3d(preprocessor, name, k, G, sigY, mRho, mRhoBar, Kinf, Ko, delta1, H, theta, delta2, mDen, elastFlag=2, pAtm=101325.0)

Create Drucker-Prager material.

Parameters
  • preprocessor – pre-processor or the finite element problem.

  • name – material identifier.

  • k – bulk modulus (see https://en.wikipedia.org/wiki/Bulk_modulus).

  • G – shear modulus.

  • mRho – Drucker-Prager failure surface and associativity volumetric term.

  • mRhoBar – related to dilation? controls evolution of plastic volume change, 0 ≤ rhoBar ≤ rho

  • sigY – Drucker-Prager yield stress.

  • Kinf – isotropic hardening Kinf ≥ 0 (defaults to 0.0).

  • Ko – nonlinear isotropic strain hardening parameter, Ko ≥ 0 (defaults to 0).

  • delta1 – nonlinear isotropic strain hardening parameter, delta1 ≥ 0 (defaults to 0).

  • H – linear strain hardening parameter, H ≥ 0 (defaults to 0)

  • theta – controls relative proportions of isotropic and kinematic hardening, 0 ≤ theta ≤ 1 (defaults to 0).

  • delta2 – tension softening parameter, delta2 ≥ 0 (defaults to 0).

  • mDen – material mass density.

  • elastFlag – Flag to determine elastic behavior 0 = elastic+no param update; 1 = elastic+param update; 2 = elastoplastic+no param update (default)

  • pAtm – reference pressure (defaults to one atmosphere).

materials.typical_materials.defDruckerPragerPlaneStrain(preprocessor, name, k, G, sigY, mRho, mRhoBar, Kinf, Ko, delta1, H, theta, delta2, mDen, elastFlag=2, pAtm=101325.0)

Create Drucker-Prager material.

Parameters
  • preprocessor – pre-processor or the finite element problem.

  • name – material identifier.

  • k – bulk modulus (see https://en.wikipedia.org/wiki/Bulk_modulus).

  • G – shear modulus.

  • mRho – Drucker-Prager failure surface and associativity volumetric term.

  • mRhoBar – related to dilation? controls evolution of plastic volume change, 0 ≤ rhoBar ≤ rho

  • sigY – Drucker-Prager yield stress.

  • Kinf – isotropic hardening Kinf ≥ 0 (defaults to 0.0).

  • Ko – nonlinear isotropic strain hardening parameter, Ko ≥ 0 (defaults to 0).

  • delta1 – nonlinear isotropic strain hardening parameter, delta1 ≥ 0 (defaults to 0).

  • H – linear strain hardening parameter, H ≥ 0 (defaults to 0)

  • theta – controls relative proportions of isotropic and kinematic hardening, 0 ≤ theta ≤ 1 (defaults to 0).

  • delta2 – tension softening parameter, delta2 ≥ 0 (defaults to 0).

  • mDen – material mass density.

  • elastFlag – Flag to determine elastic behavior 0 = elastic+no param update; 1 = elastic+param update; 2 = elastoplastic+no param update (default)

  • pAtm – reference pressure (defaults to one atmosphere).

materials.typical_materials.defElastNoCompressionMaterial(preprocessor, name, E, a=0.0, b=1.0, overrideRho=None)
Constructs a uniaxial elastic - no compression material.This material

provides the abstraction of an elastic uniaxial material under tension i.e. stress = E*strain, under compression however it exhbits the following:

stress = a*(tanh(strain*b)) tangent = a*(1-tanh(strain*b)*tanh(strain*b));

Parameters
  • preprocessor – preprocessor of the finite element problem.

  • name – name identifying the material (if None compute a suitable name)

  • E – tangent in the elastic zone of the stress-strain diagram

  • a – parameter to define the compresion behaviour.

  • b – parameter to define the compresion behaviour.

  • overrideRho – if defined (not None), override the value of the material density.

materials.typical_materials.defElastNoTensMaterial(preprocessor, name, E, a=0.0, b=1.0, overrideRho=None)
Constructs a uniaxial elastic - no tension material. This material

provides the abstraction of an elastic uniaxial material under compression i.e. stress = E*strain, under tension however it exhbits the following:

stress = a*(tanh(strain*b)) tangent = a*(1-tanh(strain*b)*tanh(strain*b));

Parameters
  • preprocessor – preprocessor of the finite element problem.

  • name – name identifying the material (if None compute a suitable name)

  • E – tangent in the elastic zone of the stress-strain diagram

  • a – parameter to define the tension behaviour.

  • b – parameter to define the tension behaviour.

  • overrideRho – if defined (not None), override the value of the material density.

materials.typical_materials.defElasticIsotropic3d(preprocessor, name, E, nu, rho=0.0)

Constructs an linear elastic isotropic 3D material.

Parameters
  • preprocessor – preprocessor of the finite element problem.

  • name – name identifying the material (if None compute a suitable name)

  • E – Young’s modulus of the material

  • nu – Poisson’s ratio

  • rho – mass density, optional (defaults to 0.0)

materials.typical_materials.defElasticIsotropicPlaneStrain(preprocessor, name, E, nu, rho=0.0)

Constructs an linear elastic isotropic plane-strain material.

Parameters
  • preprocessor – preprocessor of the finite element problem.

  • name – name identifying the material (if None compute a suitable name)

  • E – Young’s modulus of the material

  • nu – Poisson’s ratio

  • rho – mass density, optional (defaults to 0.0)

materials.typical_materials.defElasticIsotropicPlaneStress(preprocessor, name, E, nu, rho=0.0)

Constructs an linear elastic isotropic plane-stress material.

Parameters
  • preprocessor – preprocessor of the finite element problem.

  • name – name identifying the material (if None compute a suitable name)

  • E – Young’s modulus of the material

  • nu – Poisson’s ratio

  • rho – mass density, optional (defaults to 0.0)

materials.typical_materials.defElasticMaterial(preprocessor, name: str, E: float, rho=0.0, nu=0.3, initStrain=0.0)

Constructs an elastic uniaxial material.

Parameters
  • preprocessor – preprocessor of the finite element problem.

  • name – name identifying the material

  • E – tangent in the stress-strain diagram

  • rho – mass density

  • nu – Poisson’s ratio

  • overrideRho – if defined (not None), override the value of the material density.

  • initStrain – initial strain.

materials.typical_materials.defElasticMembranePlateSection(preprocessor, name: str, E: float, nu: float, rho: float, h: float)
Constructs an elastic isotropic section material appropriate

for plate and shell analysis.

Parameters
  • preprocessor – preprocessor of the finite element problem.

  • name – name identifying the section

  • E – Young’s modulus of the material

  • nu – Poisson’s ratio

  • rho – mass density

  • h – overall depth of the section

materials.typical_materials.defElasticPPMaterial(preprocessor, name, E, fyp, fyn, rho=0.0, nu=0.3, initStrain=0.0)

Constructs an elastic perfectly-plastic uniaxial material.

Parameters
  • preprocessor – preprocessor of the finite element problem.

  • name – name identifying the material (if None compute a suitable name).

  • E – tangent in the elastic zone of the stress-strain diagram,

  • fyp – stress at which material reaches plastic state in tension.

  • fyn – stress at which material reaches plastic state in compression.

  • rho – mass density

  • nu – Poisson’s ratio

  • initStrain – initial strain.

materials.typical_materials.defElasticPlateSection(preprocessor, name, E, nu, rho, h)
Constructs an elastic isotropic section material appropriate

for plate analysis.

Parameters
  • preprocessor – preprocessor of the finite element problem.

  • name – name identifying the section

  • E – Young’s modulus of the material

  • nu – Poisson’s ratio

  • rho – mass density

  • h – overall depth of the section

materials.typical_materials.defElasticSection1d(preprocessor, name, A, E, linearRho=0.0, Iw=0.0)

Constructs an elastic section appropriate for 1D beam analysis.

Parameters
  • preprocessor – preprocessor of the finite element problem.

  • name – name identifying the section

  • A – cross-sectional area of the section

  • E – Young’s modulus of material

  • linearRho – mass per unit length.

  • Iw – warping constant.

materials.typical_materials.defElasticSection2d(preprocessor, name, A, E, I, linearRho=0.0, Iw=0.0)

Constructs an elastic section appropriate for 2D beam analysis.

Parameters
  • preprocessor – preprocessor of the finite element problem.

  • name – name identifying the section

  • A – cross-sectional area of the section

  • E – Young’s modulus of material

  • I – second moment of area about the local z-axis

  • linearRho – mass per unit length.

  • Iw – warping constant.

materials.typical_materials.defElasticSection3d(preprocessor, name, A, E, G, Iz, Iy, J, linearRho=0.0, Iw=0.0)

Constructs an elastic section appropriate for 3D beam analysis

Parameters
  • preprocessor – preprocessor of the finite element problem.

  • name – name identifying the section

  • A – cross-sectional area of the section

  • E – Young’s modulus of the material

  • G – Shear modulus of the material

  • Iz – second moment of area about the local z-axis

  • Iy – second moment of area about the local y-axis

  • J – torsional moment of inertia of the section

  • linearRho – mass per unit length.

  • Iw – warping constant.

materials.typical_materials.defElasticSectionFromMechProp1d(preprocessor, name, mechProp1d, overrideRho=None)

Constructs an elastic section appropriate for 1D beam analysis, taking mechanical properties of the section form a MechProp1d object.

Parameters
  • preprocessor – preprocessor of the finite element problem.

  • name – name identifying the section

  • mechProp1d – object of type MechProp1d that contains the mechanical properties of the section

  • overrideRho – if defined (not None), override the value of the material density.

materials.typical_materials.defElasticSectionFromMechProp2d(preprocessor, name, mechProp2d, overrideRho=None)

Constructs an elastic section appropriate for 2D beam analysis, taking mechanical properties of the section form a MechProp2d object.

Parameters
  • preprocessor – preprocessor of the finite element problem.

  • name – name identifying the section

  • mechProp2d – object of type MechProp2d that contains the mechanical properties of the section

  • overrideRho – if defined (not None), override the value of the material density.

materials.typical_materials.defElasticSectionFromMechProp3d(preprocessor, name, mechProp3d, overrideRho=None)

Constructs an elastic section appropriate for 3D beam analysis, taking mechanical properties of the section form a MechProp3d object.

Parameters
  • preprocessor – preprocessor of the finite element problem.

  • name – name identifying the section

  • mechProp2d – instance of the class MechProp3d that contains the mechanical properties of the section

  • overrideRho – if defined (not None), override the value of the material density.

materials.typical_materials.defElasticShearSection2d(preprocessor, name, A, E, G, I, alpha, linearRho=0.0, Iw=0.0)

Constructs an elastic section appropriate for 2D beam analysis, including shear deformations.

Parameters
  • preprocessor – preprocessor of the finite element problem.

  • name – name identifying the section

  • A – cross-sectional area of the section

  • E – Young’s modulus of the material

  • G – Shear modulus of the material

  • I – second moment of area about the local z-axis

  • alpha – shear shape factor

  • linearRho – mass per unit length.

  • Iw – warping constant.

materials.typical_materials.defElasticShearSection3d(preprocessor, name, A, E, G, Iz, Iy, J, alpha_y, alpha_z, linearRho=0.0, Iw=0.0)

Constructs an elastic section appropriate for 3D beam analysis, including shear deformations.

Parameters
  • preprocessor – preprocessor of the finite element problem.

  • name – name identifying the section

  • A – cross-sectional area of the section

  • E – Young’s modulus of the material

  • G – shear modulus of the material

  • Iz – second moment of area about the local z-axis

  • Iy – second moment of area about the local y-axis

  • J – torsional moment of inertia of the section

  • alpha_y – shear shape factor on y axis.

  • alpha_z – shear shape factor on z axis.

  • linearRho – mass per unit length.

  • Iw – warping constant.

materials.typical_materials.defElasticShearSectionFromMechProp2d(preprocessor, name, mechProp2d, overrideRho=None)

Constructs an elastic section appropriate for 2D beam analysis, taking mechanical properties of the section form a MechProp2d object.

Parameters
  • preprocessor – preprocessor of the finite element problem.

  • name – name identifying the section

  • mechProp2d – object of type MechProp2d that contains the mechanical properties of the section

  • overrideRho – if defined (not None), override the value of the material density.

materials.typical_materials.defElasticShearSectionFromMechProp3d(preprocessor, name, mechProp3d, overrideRho=None)

Constructs an elastic section appropriate for 3D beam analysis, taking mechanical properties of the section form a MechProp3d object.

Parameters
  • preprocessor – preprocessor of the finite element problem.

  • name – name identifying the section

  • mechProp2d – instance of the class MechProp3d that contains the mechanical properties of the section

  • overrideRho – if defined (not None), override the value of the material density.

materials.typical_materials.defHorizontalSoilReactionMaterial(preprocessor, name, samplePoints, initStrain, noTension=False)
Return a material that represents the force-displacement

diagram of the soil reaction in a point.

Parameters
  • preprocessor – preprocessor of the finite element problem.

  • name – name for the new material.

  • samplePoints – points defining the soil response diagram.

  • initStrain – initial strain of the soil.

materials.typical_materials.defInitStrainMaterial(preprocessor, name, materialToEncapsulate)

Constructs an initial strain uniaxial material.

Parameters
  • preprocessor – preprocessor of the finite element problem.

  • name – name for the new material (if None compute a suitable name).

  • materialToEncapsulate – material that will name of the materials to be connected.

materials.typical_materials.defInitStressMaterial(preprocessor, name, materialToEncapsulate)

Constructs an initial strain uniaxial material.

Parameters
  • preprocessor – preprocessor of the finite element problem.

  • name – name for the new material (if None compute a suitable name).

  • materialToEncapsulate – material that will name of the materials to be connected.

materials.typical_materials.defInitialStateAnalysisWrapper(preprocessor, name, ndim, encapsulatedMaterial)

Create a initial state analysis wrapper material.

Parameters
  • preprocessor – pre-processor or the finite element problem.

  • name – material identifier.

  • ndim – problem dimension (2 or 3).

  • encapsulatedMaterial – encapsulated material.

materials.typical_materials.defInvertMaterial(preprocessor, name, materialToEncapsulate)

Constructs an inverted uniaxial material.

Parameters
  • preprocessor – preprocessor of the finite element problem.

  • name – name for the new material (if None compute a suitable name).

  • materialToEncapsulate – material that will name of the materials to be connected.

materials.typical_materials.defJ2PlateFibre(preprocessor, name, E, nu, fy, alpha=0.01, rho=0.0, fyn=None)
Constructs a J2 (Von Mises) material with a linear-strain

hardening rule appropriate for plate analysis.

Parameters
  • preprocessor – preprocessor of the finite element problem.

  • name – name identifying the material (if None compute a suitable name).

  • E – Young’s modulus of the material.

  • nu – Poisson’s ratio.

  • fy – material yield stress.

  • alpha – strain hardening ratio (default: (0.01), range: 0 to 1).

  • rho – mass density (defaults to 0.0).

  • fyn – negative yiedl stress (defaults to -fy).

materials.typical_materials.defLayeredShellFiberSection(preprocessor, name: str, materialThicknessPairs)

Constructs a multiple layer section for shell elements.

Parameters
  • preprocessor – preprocessor of the finite element problem.

  • name – name identifying the section

  • materialThicknessPairs – pairs defining the material and thickness for each layer.

materials.typical_materials.defMembranePlateFiberSection(preprocessor, name: str, nDMaterial, h: float)
Constructs a membrane plate fiber section appropriate

for plate and shell analysis.

Parameters
  • preprocessor – preprocessor of the finite element problem.

  • name – name identifying the section

  • nDMaterial – material to put in the section fibers.

  • h – overall depth of the section

materials.typical_materials.defMultiLinearMaterial(preprocessor, name, points)

Constructs an elastic perfectly-plastic uniaxial material.

Parameters
  • preprocessor – preprocessor of the finite element problem.

  • name – name identifying the material (if None compute a suitable name)

  • points – list of tuples defining the (strain, stress) or (displacement, force) points.

materials.typical_materials.defPlasticDamageConcretePlaneStress(preprocessor, name, E, nu, ft, fc, beta=0.6, Ap=0.5, An=2.0, Bn=0.75)

Create plane stress concrete material.

Parameters
  • preprocessor – pre-processor or the finite element problem.

  • name – material identifier.

  • E – elastic modulus.

  • nu – Poisson’s ratio.

  • ft – tensile yield strength

  • fc – compressive yield strength

  • beta – plastic deformation rate. Parameter controlling plastic strain rate/post-yield hardening parameter

  • Ap – parameter controlling tensile fracture energy.

  • An – parameter controlling ductility of the compressive response.

  • Bn – parameter controlling ductility and peak strength of the compressive response.

materials.typical_materials.defPlateFromPlaneStress(preprocessor, name, underlyingMaterial, outOfPlaneShearModulus)

Create plane stress concrete material.

Parameters
  • preprocessor – pre-processor or the finite element problem.

  • name – material identifier.

  • outOfPlaneShearModulus – elastic modulus.

materials.typical_materials.defPlateRebar(preprocessor, name, uniaxialMaterial, angle)

Create material deriving from pre-defined uniaxial material.

Parameters
  • preprocessor – pre-processor or the finite element problem.

  • name – material identifier.

  • uniaxialMaterial – uniaxial material

  • angle – elastic modulus.

materials.typical_materials.defPressureDependentMultiYield02Material(preprocessor, name, nd, rho, refShearModul, refBulkModul, frictionAng, peakShearStra, refPress, pressDependCoe, phaseTransformAngle, contractionParam1, contractionParam3, dilationParam1, dilationParam3, numberOfYieldSurf=20, gredu=[], contractionParam2=5.0, dilationParam2=3.0, liquefactionParam1=1.0, liquefactionParam2=0.0, e=0.6, volLimit1=0.9, volLimit2=0.02, volLimit3=0.7, atm=101.0, cohesi=0.1, hv=0.0, pv=1.0)
Parameters
  • nd – Number of dimensions, 2 for plane-strain, and 3 for 3D analysis.

  • rho – Saturated soil mass density.

  • refShearModul – Reference low-strain shear modulus, specified at a reference mean effective confining pressure refPress.

  • refBulkModul – Reference bulk modulus, specified at a reference mean effective confining pressure refPress.

  • frictionAng – Friction angle at peak shear strength, in degrees.

  • peakShearStra – An octahedral shear strain at which the maximum shear strength is reached, specified at a reference mean effective confining pressure refPress.

  • refPress – reference mean effective confining pressure at which refShearModul, refBulModul, and peakShearStra are defined.

  • pressDependCoe – A positive constant defining variations of G and B as a function of instantaneous effective confinement p’.

  • phaseTransformAngle – Phase transformation angle, in degrees.

  • contractionParam1 – A non-negative constant defining the rate of shear-induced volume decrease (contraction) or pore pressure buildup. A larger value corresponds to faster contraction rate.

  • contractionParam3 – See contractionParam1.

  • dilationParam1 – Non-negative constants defining the rate of shear-induced volume increase (dilation). Larger values correspond to stronger dilation rate.

  • dilationParam2 – see dilationParam1.

  • numberOfYieldSurf – Number of yield surfaces, optional (must be less than 40, default is 20). The surfaces are generated based on the hyperbolic relation defined in Note 2 in https://opensees.github.io/OpenSeesDocumentation/user/manual/material/ndMaterials/PressureDependentMultiYield.html

  • liquefactionParam1 – Parameters controlling the mechanism of liquefaction-induced perfectly plastic shear strain accumulation, i.e., cyclic mobility. Set liquefac1 = 0 to deactivate this mechanism altogether.

  • liquefactionParam2 – see liquefactionParam1.

  • e – Initial void ratio, optional (default is 0.6).

  • cohesi – Cohesion.

materials.typical_materials.defPressureIndependentMultiYieldMaterial(preprocessor, name, nd, rho, refShearModul, refBulkModul, cohesi, peakShearStra, frictionAng=0.0, refPress=100, pressDependCoe=0.0, numberOfYieldSurf=20, gredu=[])

Define a pressure independent yield material for soil analysis.

Parameters
  • name – name identifying the material (if None compute a suitable name).

  • nd – number of dimensions, 2 for plane-strain, and 3 for 3D analysis.

  • rho – Saturated soil mass density.

  • refShearModul – Reference low-strain shear modulus, specified at a reference mean effective confining pressure refPress.

  • refBulkModul – Reference bulk modulus, specified at a reference mean effective confining pressure refPress.

  • cohesi – apparent cohesion at zero effective confinement.

  • peakShearStra – an octahedral shear strain at which the maximum shear strength is reached, specified at a reference mean effective confining pressure refPress.

  • frictionAng – friction angle at peak shear strength in degrees. (optional: default is 0.0).

  • refPress – reference mean effective confining pressure at which refShearModul, refBulModul, and peakShearStra are defined.

  • pressDependCoe – a positive constant defining variations of G and B as a function of instantaneous effective confinement p’(default is 0.0). see notes 4 and 5 in https://opensees.github.io/OpenSeesDocumentation/user/manual/material/ndMaterials/PressureIndependentMultiYield.html

  • numberOfYieldSurf – Number of yield surfaces, optional (must be less than 40: default is 20). The surfaces are generated based on the hyperbolic relation defined in https://opensees.github.io/OpenSeesDocumentation/user/manual/material/ndMaterials/PressureIndependentMultiYield.html

  • gredu – instead of automatic surfaces generation (Note 2), you can define yield surfaces directly based on desired shear modulus reduction curve. To do so, add a minus sign in front of numberOfYieldSurf, then provide numberOfYieldSurf pairs of shear strain (γ) and modulus ratio (Gs) values. For example, to define 10 surfaces: … -10γ1Gs1 … γ10Gs10 …

materials.typical_materials.defSeriesMaterial(preprocessor, name, materialsToConnect)

Constructs an series material.

Parameters
  • preprocessor – preprocessor of the finite element problem.

  • name – name for the new material (if None compute a suitable name).

  • materialsToConnect – name of the materials to be connected.

materials.typical_materials.defSteel01(preprocessor, name, E, fy, b)

Constructs a uniaxial bilinear steel material object with kinematic hardening

Parameters
  • preprocessor – preprocessor of the finite element problem.

  • name – name identifying the material (if None compute a suitable name)

  • E – initial elastic tangent

  • fy – yield strength

  • b – strain-hardening ratio: ratio between post-yield tangent and initial elastic tangent

materials.typical_materials.defSteel02(preprocessor, name, E, fy, b, initialStress=0.0, params=None, a1=None, a2=None, a3=None, a4=None)

Constructs a uniaxial bilinear Giuffre-Menegotto-Pinto steel material with isotropic strain hardening

Parameters
  • preprocessor – preprocessor of the finite element problem.

  • name – name identifying the material (if None compute a suitable name)

  • E – initial elastic tangent

  • fy – yield strength

  • b – strain-hardening ratio: ratio between post-yield tangent and initial elastic tangent

  • initialStress – initial stress

  • params – parameters to control the transition from elastic to plastic branches. params=[R0,cR1,cR2]. Recommended values: R0=between 10 and 20, cR1=0.925, cR2=0.15

  • a1 – increase of compression yield envelope as proportion of yield strength after a plastic strain of a2∗(Fy/E0) (optional)

  • a2 – coefficient for isotropic hardening in compression (see a1).

  • a3 – isotropic hardening parameter, increase of tension yield envelope as proportion of yield strength after a plastic strain of a4∗(Fy/E0). (optional)

  • a4 – coefficient for isotropic hardening in tension (see a3)

materials.typical_materials.defTDConcrete(preprocessor, name, fpc, ft, Ec, beta, age, epsshu, epssha, tcr, epscru, epscra, epscrd, tcast)
‘Constructs an uniaxial concrete material concrete is linear in

compression with nonlinear tension softening; creep and shrinkage ç evolution equations are based on ACI 209R-92 models.

Parameters
  • preprocessor – preprocessor of the finite element problem.

  • name – name identifying the material (if None compute a suitable name)

  • fpc – concrete compressive strength at 28 days (compression is negative)

  • ft – the tensile strength (splitting or axial tensile strength should be input, rather than the flexural).

  • Ec – modulus of elasticity (preferably at time of loading if there is a single loading age).

  • beta – tension softening parameter.

  • age – analysis time at initiation of drying (in days).

  • epsshu – ultimate shrinkage strain εsh,u, as per ACI 209R-92.

  • epssha – fitting parameter within the shrinkage time evolution function as per ACI 209R-92.

  • tcr – creep model age in days.

  • epscru – ultimate creep coefficient φu, as per ACI 209R-92.

  • epscra – fitting constant within the creep time evolution function as per ACI 209R-92.

  • epscrd – fitting constant within the creep time evolution function as per ACI 209R-92.

  • tcast – analysis time corresponding to concrete casting in days (note: concrete will not be able to take on loads until the age of 2 days).

materials.typical_materials.defTDConcreteMC10(preprocessor, name, fc, ft, Ec, Ecm, beta, age, epsba, epsbb, epsda, epsdb, phiba, phibb, phida, phidb, tcast, cem)

Defines a TDConcreteMC10 uniaxial material.

Parameters
  • preprocessor – preprocessor of the finite element problem.

  • name – name identifying the new material

  • fc – cylinder compressive strength (this is a dummy parameter since compression behavior is linear).

  • epscu – strain at crushing strength.

  • ft – the tensile strength (splitting or axial tensile strength should be input, rather than the flexural).

  • Ec – modulus of elasticity (preferably at time of loading if there is a single loading age).

  • Ecm – 28-day modulus, necessary for normalizing creep coefficient.

  • beta – tension softening parameter.

  • age – analysis time at initiation of drying (in days).

  • epsba – ultimate basic shrinkage strain, εcbs,0, as per Model Code 2010.

  • epsbb – fitting parameter within the basic shrinkage time evolution function as per Model Code 2010 and prEN1992-1-1:2017.

  • epsda – product of εcds,0 and βRH, as per Model Code 2010.

  • epsdb – fitting parameter within the drying shrinkage time evolution function as per Model Code 2010 and prEN1992-1-1:2017.

  • phiba – parameter for the effect of compressive strength on basic creep βbc(fcm), as per Model Code 2010.

  • phibb – fitting parameter within the basic creep time evolution function as per Model Code 2010 and prEN1992-1-1:2017.

  • phida – product of βdc(fcm) and β(RH), as per Model Code 2010.

  • phidb – fitting constant within the drying creep time evolution function as per Model Code 2010.

  • tcast – analysis time corresponding to concrete casting in days (note: concrete will not be able to take on loads until the age of 2 days).

  • cem – coefficient dependent on the type of cement: –1 for 32.5N, 0 for 32.5R and 42.5N and 1 for 42.5R, 52.5N and 52.5R.

materials.typical_materials.defTDConcreteMC10NL(preprocessor, name, fc, fcu, epscu, ft, Ec, Ecm, beta, age, epsba, epsbb, epsda, epsdb, phiba, phibb, phida, phidb, tcast, cem)
Parameters
  • preprocessor – preprocessor of the finite element problem.

  • name – name identifying the new material.

  • fc – cylinder compressive strength (this is a dummy parameter since compression behavior is linear).

  • fcu – stress at ultimate (crushing) strain.

  • epscu – strain at crushing strength.

  • ft – the tensile strength (splitting or axial tensile strength should be input, rather than the flexural).

  • Ec – modulus of elasticity (preferably at time of loading if there is a single loading age).

  • Ecm – 28-day modulus, necessary for normalizing creep coefficient.

  • beta – tension softening parameter.

  • age – analysis time at initiation of drying (in days).

  • epsba – ultimate basic shrinkage strain, εcbs,0, as per Model Code 2010.

  • epsbb – fitting parameter within the basic shrinkage time evolution function as per Model Code 2010 and prEN1992-1-1:2017.

  • epsda – product of εcds,0 and βRH, as per Model Code 2010.

  • epsdb – fitting parameter within the drying shrinkage time evolution function as per Model Code 2010 and prEN1992-1-1:2017.

  • phiba – parameter for the effect of compressive strength on basic creep βbc(fcm), as per Model Code 2010.

  • phibb – fitting parameter within the basic creep time evolution function as per Model Code 2010 and prEN1992-1-1:2017.

  • phida – product of βdc(fcm) and β(RH), as per Model Code 2010.

  • phidb – fitting constant within the drying creep time evolution function as per Model Code 2010.

  • tcast – analysis time corresponding to concrete casting in days (note: concrete will not be able to take on loads until the age of 2 days).

  • cem – coefficient dependent on the type of cement: –1 for 32.5N, 0 for 32.5R and 42.5N and 1 for 42.5R, 52.5N and 52.5R.

materials.typical_materials.defTemplate3Dep(preprocessor, name, elasticMaterial, yieldSurface, potentialSurface, elasticPlasticState, scalarEvolutionLaws, tensorialEvolutionLaws)

Constructs an linear elastic isotropic 3D material.

Parameters
  • preprocessor – preprocessor of the finite element problem.

  • name – name identifying the material (if None compute a suitable name)

  • elasticMaterial – elastic material.

  • yieldSurface – yield surface.

  • potentialSurface – potential surface.

  • elasticPlasticState – elastic-plastic state.

  • scalarEvolutionLaws – list with up to four scalar evolution laws.

  • tensorialEvolutionLaws – list with up to four tensorial evolution laws.

materials.typical_materials.defTensionOnlyMaterial(preprocessor, name, materialToEncapsulate)

Constructs a compression-only material.

Parameters
  • preprocessor – preprocessor of the finite element problem.

  • name – name for the new material (if None compute a suitable name).

  • materialToEncapsulate – material that will name of the materials to be connected.

materials.typical_materials.defViscousMaterial(preprocessor, name, C, Alpha=1.0)

Constructs a viscous material.

Parameters
  • preprocessor – preprocessor of the finite element problem.

  • name – name for the new material (if None compute a suitable name).

  • C – damping coeficient.

  • Alpha – power factor (=1 means linear damping).

Concrete base

Base classes for reinforced concrete materials.

class materials.concrete_base.CEB_EHE_PrestressingSteel(steelName, fpk, fmax=1860000000.0, alpha=0.75, steelRelaxationClass=1, tendonClass='strand', Es=190000000000.0)

Bases: materials.concrete_base.PrestressingSteel

Prestressing steel base class for EHE and CEB standards.

Variables

alpha – stress-to-strength ratio.

getKRelaxation()

Return the value of k factor for the relaxation expression from the relaxation class. See Model Code 1990 paragraph 2.3.4.5.

ptsShortTermRelaxation = <scipy.interpolate._interpolate.interp1d object>
tInic()
class materials.concrete_base.Concrete(nmbConcrete, fck, gammaC, alphacc=1.0)

Bases: materials.sections.material_with_DK_diagrams.MaterialWithDKDiagrams

Concrete model base class.

Variables
  • matTagD – tag of the uni-axial material in the design diagram

  • fck – characteristic (5%) cylinder strength of the concrete [Pa]

  • gmmC – partial safety factor for concrete

  • nuc – Poisson coefficient

  • cemType

    type of cement

    • R for cement of strength Classes CEM 42,5 R, CEM 52,5 Nand CEM 52,5 R (Class R) [cementos de alta resistencia en EHE]

    • N for cement of strength Classes CEM 32,5 R, CEM 42,5 N (Class N) [cementos normales en EHE]

    • S for cement of strength Classes CEM 32,5 N (Class S) [cementos de endurecimiento lento en EHE]

  • alfacc – factor which takes account of the fatigue in the concrete when it is subjected to high levels of compression stress due to long duration loads. Normally alfacc=1 (default value)

  • tensionStiffparam – variable to determine the behaviour of concrete

under tension. If tensionStiffparam is an instance of the class paramTensStiffness, tension stiffness of concrete is considered in the constitutive model to take into account the tensile capacity of the intact concrete between cracks. The stress strain relationship corresponds to a concrete02 material (linear tension softening), based on the tension-stiffening constitutive model proposed by Stramandinoli & La Rovere (ref. article: Engineering Structures 30 (2008) 2069-2080).

Variables

initTensStiff – variable that also determines the behaviour of concrete under tension. If initTensStiff==True a concrete02 material model is initialized with a tension capacity almost equal to 0 (equivalent to the concrete01 diagram). Defaults to False

If tensionStiffparam is None and initTensStiff==False (default values) no tensile strength is considered; the stress strain relationship corresponds to a concrete01 material (zero tensile strength).

E0()

Tangent in the origin point of concrete01 and concrete02 diagrams

Ecm()

longitudinal secant modulus of deformation, at 28 days (slope of the secant of the actual stress-strain curve)) [Pa] [+]

Ect()

Elastic modulus in the tensile linear-elastic range of concrete [Pa] [+]

Gcm()

Shear elactic modulus [Pa][+]

cemType = 'N'
clearDiagD()

Clear previously defined diagram.

clearDiagE()

Clear previously defined diagram.

clearDiagK()

Clear previously defined diagram.

clearDiagTD()

Clear previously defined diagram.

Parameters

preprocessor – pre-processor for the finite element problem.

clearDiagrams()

Clear previously defined material diagrams.

defDiag(preprocessor, matDiagType)
Returns an XC uniaxial material corresponding to the stress-strain

diagram of the concrete.

Parameters
  • preprocessor – pre-processor for the finite element problem.

  • matDiagType – diagram type; if “k” return the diagram corresponding to characteristic values of the material, if “d” return the design values one.

defDiagD(preprocessor)

Defines a uniaxial material to represent the design stress-strain diagram

  • If tensionStiffparam is an instance of the class paramTensStiffness, tension stiffness of concrete is considered in the constitutive model

to take into account tensile capacity of the intact concrete between cracks. The stress strain relationship corresponds to a concrete02 material (linear tension softening), based on the tension-stiffening constitutive model proposed by Stramandinoli & La Rovere (ref. article: Engineering Structures 30 (2008) 2069-2080)

-If initTensStiff==True a concrete02 material model is initialized with a tension capacity almost equal to 0 (equivalent to the concrete01 diagram). Defaults to False

-If tensionStiffparam is None and initTensStiff==False (default values)

no tensile strength is considered; the stress strain relationship corresponds to a concrete01 material (zero tensile strength).

defDiagE(preprocessor, overrideRho=None)

Returns and XC linear elastic uniaxial material.

Parameters

preprocessor – pre-processor for the finite element problem.

defDiagK(preprocessor)

Defines a uniaxial material to represent the characteristic stress-strain diagram

  • If tensionStiffparam is an instance of the class paramTensStiffness, tension stiffness of concrete is considered in the constitutive model

to take into account tensile capacity of the intact concrete between cracks. The stress strain relationship corresponds to a concrete02 material (linear tension softening), based on the tension-stiffening constitutive model proposed by Stramandinoli & La Rovere (ref. article: Engineering Structures 30 (2008) 2069-2080)

-If initTensStiff==True a concrete02 material model is initialized with a tension capacity almost equal to 0 (equivalent to the concrete01 diagram). Defaults to False

-If tensionStiffparam is None and initTensStiff==False (default value)

no tensile strength is considered; the stress strain relationship corresponds to a concrete01 material (zero tensile strength).

defDiagTD(preprocessor)

Returns and XC TDConcreteMC10 uniaxial material.

Parameters

preprocessor – pre-processor for the finite element problem.

defElasticIsotropicPlaneStrain(preprocessor, name: Optional[str] = None, overrideRho=None)
Constructs an elastic uniaxial material appropriate

for analysis of trusses.

Parameters
  • preprocessor – preprocessor of the finite element problem.

  • name – name for the new material.

  • overrideRho – if defined (not None), override the value of the material density.

defElasticIsotropicPlaneStress(preprocessor, name: Optional[str] = None, overrideRho=None)

Defines an elastic isotropic plane stress material.

Parameters
  • preprocessor – pre-processor for the finite element problem.

  • name – name for the new material.

  • overrideRho – if defined (not None), override the value of the material density.

defElasticMaterial(preprocessor, name: Optional[str] = None, overrideRho=None)
Constructs an elastic uniaxial material appropriate

for analysis of trusses.

Parameters
  • preprocessor – preprocessor of the finite element problem.

  • name – name for the new material.

  • overrideRho – if defined (not None), override the value of the material density.

defElasticMembranePlateSection(preprocessor, name, thickness, overrideRho=None)
Constructs an elastic isotropic section material appropriate

for elastic analysis of plate and shell elements

Parameters
  • preprocessor – preprocessor of the finite element problem.

  • name – name identifying the section

  • thickness – section thickness.

  • overrideRho – if defined (not None), override the value of the material density.

defElasticNoTensMaterial(preprocessor, name: Optional[str] = None, a=0.0, b=1.0, overrideRho=None)
Constructs a no tension elastic uniaxial material appropriate

for analysis of trusses.

Parameters
  • preprocessor – preprocessor of the finite element problem.

  • name – name for the new material.

  • a – parameter to define the tension behaviour.

  • b – parameter to define the tension behaviour.

  • overrideRho – if defined (not None), override the value of the material density.

defElasticPlateSection(preprocessor, name, thickness, overrideRho=None)
Constructs an elastic isotropic section material appropriate

for elastic analysis of plate elements.

Parameters
  • preprocessor – preprocessor of the finite element problem.

  • name – name identifying the new section.

  • thickness – section thickness.

  • overrideRho – if defined (not None), override the value of the material density.

defElasticSection2d(preprocessor, sectionProperties, overrideRho=None)

Constructs an elastic section material appropriate for elastic analysis of 2D beam elements.

Parameters
  • preprocessor – preprocessor of the finite element problem.

  • sectionProperties – mass properties of the section.

  • overrideRho – if defined (not None), override the value of the material density.

defElasticSection3d(preprocessor, sectionProperties, overrideRho=None)

Constructs an elastic section material appropriate for elastic analysis of 3D beam elements.

Parameters
  • preprocessor – preprocessor of the finite element problem.

  • sectionProperties – mass properties of the section.

  • overrideRho – if defined (not None), override the value of the material density.

defElasticShearSection2d(preprocessor, sectionProperties, overrideRho=None)

Constructs an elastic section material appropriate for elastic analysis of 2D beam elements including shear deformations.

Parameters
  • preprocessor – preprocessor of the finite element problem.

  • sectionProperties – mass properties of the section.

  • overrideRho – if defined (not None), override the value of the material density.

defElasticShearSection3d(preprocessor, sectionProperties, overrideRho=None)

Constructs an elastic section material appropriate for elastic analysis of 3D beam elements including shear deformations.

Parameters
  • preprocessor – preprocessor of the finite element problem.

  • sectionProperties – mass properties of the section.

  • overrideRho – if defined (not None), override the value of the material density.

defTDConcreteMC10(preprocessor)

Defines a TDConcreteMC10 uniaxial material.

Parameters

preprocessor – pre-processor for the finite element problem.

density(reinforced=True)

Return concrete density in kg/m3.

epsilon0()

strain at peak stress at parabola-rectangle diagram

epsilonU()

nominal ultimate strain at parabola-rectangle diagram

expnPR()

exponent n for the parabola-rectangle diagram

fcd()

concrete design strength [Pa][-]

fckMPa()

Characteristic (5%) cylinder strength of the concrete in MPa (absolute value)

fctd()

Design mean tensile strength [Pa][+].

fctk()

characteristic tensile strength [Pa] (5% fractile)

fctm()

mean tensile strength [Pa][+] (table 3.1 EC2)

fmaxD()
fmaxK()

maximum characteristic strength of the concrete [Pa][-]

getBetaCC(t=28)

beta_cc: coefficient (EC2:2004: sect. 3.1.2 paragraph (6) expression (3.2), EHE-08: art. 31.3).

Parameters

t – age of the concrete in days

getCDepth()

Return the depth of the concrete rectangular compression block (see figure 12 SIA 262:2013 or figure 39.5b of clause 39.5 b of EHE).

getCreepAlfa1()

Coefficient for the calculation of the creep coefficient (Annex B Eurocode 2 part 1-1 : 2004 - Eq. B.8c)

getCreepAlfa2()

Coefficient for the calculation of the creep coefficient (Annex B Eurocode 2 part 1-1 : 2004 - Eq. B.8c)

getCreepAlfa3()

Coefficient for the calculation of the creep coefficient (Annex B Eurocode 2 part 1-1 : 2004 - Eq. B.8c)

getCreepBetaH(RH, h0)
coefficient coefficient depending on the relative humidity (RH)

and the notional member size

(Annex B Eurocode 2 part 1-1 : 2004 - Eq. B.8a and B8b)

Parameters
  • RH – ambient relative humidity(%)

  • h0 – notional size of the member. - h0=2*Ac/u, where: - Ac= cross sectional area - u = perimeter of the member in contact with the atmosphere

getCreepBetactt0(t, t0, RH, h0, gamma_t0=0.3)

coefficient to describe the development of creep with time after loading, used to calculate the creep coefficient (Annex B Eurocode 2 part 1-1 : 2004 - Eq. B.7)

Parameters
  • t – age of concrete in days at the moment considered.

  • t0 – age of concrete in days at loading.

  • RH – ambient relative humidity(%)

  • h0

    notional size of the member.

    • h0=2*Ac/u, where:

    • Ac= cross sectional area

    • u = perimeter of the member in contact with the atmosphere

  • gamma_t0 – exponent of the expression (B.7) of EN 1992-1-1:2004. This equation is identical to the equation 5.1-71a of the fib Model Code 2010 except for this exponent that is computed there with equation 5.1-71b. The exponent is introduced here as a parameter to allowing use the expression of the Model Code 2010.

getCreepBetafcm()

factor to allow for the effect of concrete strength on the notational creep coefficient (Annex B Eurocode 2 part 1-1 : 2004 - Eq. B.4)

getCreepBetat0(t0)

factor to allow for the effect of concrete age at loading on the notational creep coefficient (Annex B Eurocode 2 part 1-1 : 2004 - Eq. B.5)

Parameters

t0 – age of concrete in days at loading

getCreepFi0(t0, RH, h0)

notational creep coefficient for the calculation of the creep coefficient (Annex B Eurocode 2 part 1-1 : 2004)

Parameters
  • t0 – age of concrete in days at loading

  • RH – ambient relative humidity(%)

  • h0

    notional size of the member.

    • h0= 2*Ac/u, where:

    • Ac= cross sectional area

    • u= perimeter of the member in contact with the atmosphere

getCreepFiRH(RH, h0)

factor to allow for the effect of relative humidity on the notional creep coefficient (Annex B Eurocode 2 part 1-1 : 2004 - Eq. B.2)

Parameters
  • RH – ambient relative humidity(%)

  • h0

    notional size of the member.

    • h0= 2*Ac/u, where:

    • Ac= cross sectional area

    • u = perimeter of the member in contact with the atmosphere

getCreepFitt0(t, t0, RH, h0, gamma_t0=0.3)

Creep coefficient (Annex B Eurocode 2 part 1-1 : 2004 - Eq. B.1)

Parameters
  • t – age of concrete in days at the moment considered

  • t0 – age of concrete in days at loading

  • RH – ambient relative humidity(%)

  • h0

    notional size of the member in mm

    • h0= 2*Ac/u, where:

    • Ac= cross sectional area

    • u = perimeter of the member in contact with the atmosphere

  • gamma_t0 – exponent of the expression (B.7) of EN 1992-1-1:2004. This equation is identical to the equation 5.1-71a of the fib Model Code 2010 except for this exponent that is computed there with equation 5.1-71b. The exponent is introduced here as a parameter to allowing use the expression of the Model Code 2010.

getDict()

Return a dictionary with the values of the object members.

getElasticMaterialData(overrideRho=None)

Return the elastic material constitutive model.

Parameters

overrideRho – if defined (not None), override the value of the material density.

getFckt(t=28)
Fckt: concrete compressive strength [Pa][-] at time t (for stages)

(sect. 3.1.2 EC2)

Parameters

t – age of the concrete in days

getFcm()

Fcm: mean compressive strength [Pa][-] at 28 days (table 3.1 EC2, art. 39.6 EHE-08)

getFcmT(t=28)

FcmT: mean concrete compressive strength [Pa][-] at an age of t days (sect. 3.1.2 EC2, art. 31.3 EHE-08)

Parameters

t – age of the concrete in days.

getFctk005()

Fctk005: tensile strength [Pa][+] 5% fractile (table 3.1 EC2).

getFctk095()

Fctk095: tensile strength [Pa][+] 95% fractile (table 3.1 EC2).

getShrAlfads1()

Coefficient for the calculation of the basic drying shrinkage strain (Annex B Eurocode 2 part 1-1)

getShrAlfads2()

Coefficient for the calculation of the basic drying shrinkage strain (Annex B Eurocode 2 part 1-1)

getShrBetaRH(RH)
Coefficient for the calculation of the basic drying shrinkage

strain according to equation B.12 of clause B.2 (Annex B Eurocode 2:2004 part 1-1). DEPRECATED by Eurocode2:2021

Parameters

RH – ambient relative humidity(%)

getShrBetaast(t, t0=0.0)

coefficient for calculating the autogenous shrinkage strain according to expression 3.13 of clause 3.1.4 Eurocode 2:2004 part 1-1 and to expression B.27 of clause B.6 Eurocode 2:2021 part 1-1

Parameters
  • t – age of concrete in days at the moment considered

  • t0 – minimum age of concrete for loading (see SOFiSTiK Benchmark No. 21. Real Creep and Shrinkage Calculation of a T-Beam Prestressed CS page 7).

getShrBetadstts(t, ts, h0)

coefficient for the calculation of the drying shrinkage strain according to expression 3.10 of clause 3.1.4 of Eurocode 2:2004 part 1-1. DEPRECATED in Eurocode 2:2021.

Parameters
  • t – age of concrete in days at the moment considered

  • ts – age of concrete in days at the beginning of drying shrinkage (or swelling) Normally this is at the end of curing

  • h0

    notional size of the member.

    • h0= 2*Ac/u, where:

    • Ac= cross sectional area

    • u= perimeter of the member in contact with the atmosphere

getShrEpsca(t, t0=0.0)
Autogenous shrinkage strain according to expression 3.11 of

clause 3.1.4 Eurocode 2:2004 part 1-1. DEPRECATED in Eurocode 2:2021

Parameters
  • t – age of concrete in days at the moment considered

  • t0 – minimum age of concrete for loading (see SOFiSTiK Benchmark No. 21. Real Creep and Shrinkage Calculation of a T-Beam Prestressed CS page 7).

getShrEpscainf(t)
coefficient for calculating the autogenous shrinkage strain [-]

according to expression 3.12 of clause 3.1.4 Eurocode 2:2004 part 1-1. DEPRECATED in Eurocode 2:2021

Parameters

t – age of concrete in days at the moment considered

getShrEpscd(t, ts, RH, h0)

Drying shrinkage strain[-] (art. 3.1.4 Eurocode 2 part 1-1)

Parameters
  • t – age of concrete in days at the moment considered

  • ts – age of concrete in days at the beginning of drying shrinkage (or swelling). Normally this is at the end of curing

  • RH – ambient relative humidity(%)

  • h0

    notional size of the member.

    • h0=``2*Ac/u``, where:

    • Ac= cross sectional area

    • u = perimeter of the member in contact with the atmosphere

getShrEpscd0(RH)

Basic drying shrinkage strain [-] for the calculation of the drying shrinkage strain according to equattion B.11 of clause B.2 (Annex B Eurocode 2:2004 part 1-1)

Parameters

RH – ambient relative humidity(%)

getShrEpscs(t: float, ts: float, RH: float, h0: float, t0=0)

Total shrinkage strain = autogenous + drying shrinkages

Parameters
  • t – age of concrete in days at the moment considered

  • ts – age of concrete in days at the beginning of drying shrinkage (or swelling) Normally this is at the end of curing

  • RH – ambient relative humidity(%)

  • h0

    notional size of the member.

    • h0= 2*Ac/u, where:

    • Ac= cross sectional area

    • u = perimeter of the member in contact with the atmosphere

  • t0 – minimum age of concrete for loading (see SOFiSTiK Benchmark No. 21. Real Creep and Shrinkage Calculation of a T-Beam Prestressed CS page 7).

getShrKh(h0)

coefficient depending on the notional size h0 for the calculation of the drying shrinkage strain (table 3.3 Eurocode 2 part 1-1)

Parameters

h0

notional size of the member. - h0=``2*Ac/u``, where:

  • Ac= cross sectional area

  • u = perimeter of the member in contact with

    the atmosphere.

nuc = 0.2
plotDesignStressStrainDiagram(preprocessor, path='')
setFromDict(dct)

Set the member values from those in the given dictionary.

setupName(matName)

Material setup.

Parameters

matName – material name.

sigmaPR(eps)

stress as function of strain according to parabola-rectangle diagram

sigmac(eps)

Stress [Pa][-] from parabola-rectangle diagram

Parameters

eps – strain [-]

tangc(eps)

Tangent of the parabola-rectangle diagram

Parameters

eps – strain [-]

tensionStiffparam = None
class materials.concrete_base.CreepParameters(beta, age, epsba, epsbb, epsda, epsdb, phiba, phibb, phida, phidb, tcast, cem)

Bases: object

Parameters that define concrete creep for TD concrete materials.

Variables
  • beta – tension softening parameter.

  • age – analysis time at initiation of drying (in days).

  • epsba – ultimate basic shrinkage strain, εcbs,0, as per Model Code 2010.

  • epsbb – fitting parameter within the basic shrinkage time evolution function as per Model Code 2010 and prEN1992-1-1:2017.

  • epsda – product of εcds,0 and βRH, as per Model Code 2010.

  • epsdb – fitting parameter within the drying shrinkage time evolution function as per Model Code 2010 and prEN1992-1-1:2017.

  • phiba – parameter for the effect of compressive strength on basic creep βbc(fcm), as per Model Code 2010.

  • phibb – fitting parameter within the basic creep time evolution function as per Model Code 2010 and prEN1992-1-1:2017.

  • phida – product of βdc(fcm) and β(RH), as per Model Code 2010.

  • phidb – fitting constant within the drying creep time evolution function as per Model Code 2010.

  • tcast – analysis time corresponding to concrete casting in days (note: concrete will not be able to take on loads until the age of 2 days).

  • cem – coefficient dependent on the type of cement: –1 for 32.5N, 0 for 32.5R and 42.5N and 1 for 42.5R, 52.5N and 52.5R.

class materials.concrete_base.PrestressingSteel(steelName, fpk, fmax=1860000000.0, alpha=0.75, steelRelaxationClass=1, tendonClass='strand', Es=190000000000.0)

Bases: materials.sections.material_with_DK_diagrams.MaterialWithDKDiagrams

Prestressing steel parameters

Variables
  • fpk – Elastic limit.

  • fmax – Tenslile strength.

  • steelRelaxationClass – Relaxation class 1: normal, 2: improved, and 3: relaxation for bars.

  • tendonClass – Tendon class wire, strand or bar.

defDiagD(preprocessor, initialStress)

Design stress-strain diagram.

defDiagK(preprocessor, initialStress)

Characteristic stress-strain diagram.

fpd()

Return the design value of the yield stress.

getDesignUltimateStress()

Return the desing value of the steel ultimate stress.

getUltimateStress()

Return steel ultimate stress.

class materials.concrete_base.ReinforcedConcreteLimitStrains(EpsCU=- 0.0035, EpsC0=- 0.002, SMaxStrain=0.01)

Bases: object

Limit strains for reinforced concrete material.

Variables
  • EpsC0 – Average of the initial minimum compressive strain in the concrete (see figure 42.1.3 in EHE-08).

  • EpsCU – Ultimate bending strain in the concrete (see figure 42.1.3 in EHE-08).

  • SMaxStrain – maximum allowable strain for passive reinforcement.

bendingOK(epsCMin, epsSMax)

Check for flexural.

Parameters
  • epsCMin – minimum strain for concrete.

  • epsSMax – maximum strain for reinforcing steel.

compressiveBendingOK(epsCMin, epsCMax)

Check for compressive or flexural compressive strength.

Parameters
  • epsCMin – minimum strain for concrete.

  • epsCMax – maximum strain for concrete.

getBendingEfficiency(epsCMin, epsSMax)

Return efficiency in flexural bending.

Parameters
  • epsCMin – minimum strain for concrete.

  • epsSMax – maximum strain for reinforcing steel.

getCompressiveBendingEfficiency(epsCMin, epsCMax)

Return efficiency for compressive or flexural compressive strength..

Parameters
  • epsCMin – minimum strain for concrete.

  • epsCMax – maximum strain for concrete.

getNormalStressesEfficiency(tipoSol, epsCMin, epsCMax, epsSMax)

Return efficiency under normal stresses.

getTensileBendingEfficiency(epsSMax)

Return efficiency for tensile or flexural tensile stress.

Parameters

epsSMax – maximum strain for reinforcing steel.

tensileBendingOK(epsSMax)

Check for tensile or flexural tensile stress.

Parameters

epsSMax – maximum strain for reinforcing steel.

class materials.concrete_base.ReinforcingSteel(steelName=None, fyk=0.0, emax=0.0, gammaS=1.15, k=1.05)

Bases: materials.sections.material_with_DK_diagrams.MaterialWithDKDiagrams

Reinforcing steel parameters

Variables
  • fyk – Characteristic value of the yield strength.

  • emax – maximum strain in tension

  • gammaS – Partial factor for material.

  • k – fmaxk/fyk ratio (Annex C of EC2: class A k>=1,05, class B k>=1,08)

Es = 200000000000.0
Esh()

Slope of the curve in the yielding region.

bsh()

Ratio between post-yield tangent and initial elastic tangent.

clearDiagD()

Clear previously defined diagram.

clearDiagE()

Clear previously defined diagram.

clearDiagK()

Clear previously defined diagram.

clearDiagrams()

Clear the previously defined diagrams.

defDiag(preprocessor, matDiagType)
Returns an XC uniaxial material corresponding to the stress-strain

diagram of the reinforcing steel.

Parameters
  • preprocessor – pre-processor for the finite element problem.

  • matDiagType – diagram type; if “k” return the diagram corresponding to characteristic values of the material, if “d” return the design values one.

defDiagD(preprocessor)
Returns and XC uniaxial material corresponding to the design values

of the stress-strain diagram of the reinforcing steel.

Parameters

preprocessor – pre-processor for the finite element problem.

defDiagE(preprocessor)

Returns and XC linear elastic uniaxial material.

Parameters

preprocessor – pre-processor for the finite element problem.

defDiagK(preprocessor)
Returns an XC uniaxial material corresponding to the characteristic

values of the stress-strain diagram of the reinforcing steel.

Parameters

preprocessor – pre-processor for the finite element problem.

defElasticMaterial(preprocessor, name=None, overrideRho=None, initStrain=0.0)
Return an elastic uniaxial material appropriate for example for

truss elements

Parameters
  • preprocessor – preprocessor of the finite element problem.

  • name – name for the new material (if None compute a suitable name).

  • overrideRho – if defined (not None), override the value of the material density.

  • initStrain – initial strain.

defElasticNoCompressionMaterial(preprocessor, name: Optional[str] = None, a=0.0, b=1.0)
Constructs a no tension elastic uniaxial material appropriate

for analysis of trusses.

Parameters
  • preprocessor – preprocessor of the finite element problem.

  • a – parameter to define the compresion behaviour.

  • b – parameter to define the compresion behaviour.

  • name – name for the new material.

epsilon_ud()

Return the steel strain limit.

eyd()

Design strain at yield point.

eyk()

Caracteristic strain at yield point.

fmaxk()

Characteristic ultimate strength.

fyd()

Design yield stress.

getDict()

Return a dictionary with the object values.

getStressD(eps)

Return the stress corresponding to the characterístic diagram.

Parameters

eps – deformation.

getStressK(eps)

Return the stress corresponding to the characterístic diagram.

Parameters

eps – deformation.

k = 1.05
plotDesignStressStrainDiagram(preprocessor, path='')

Draws the steel design diagram.

rho = 7850
setFromDict(dct)

Set the member values from those in the given dictionary.

materials.concrete_base.concreteDesignDiagramTest(preprocessor, concreteRecord)
Calculates the differece between the stresses obtained from the

Concrete01 uniaxial material (getStress() ) and the theoretical law defined in Python (see sigmac()).

Parameters
  • preprocessor – pre-processor of the finite element model.

  • concreteRecord – concrete data.

materials.concrete_base.concreteDesignTangentTest(preprocessor, concreteRecord)
Calculates the differece between the values of the tangent obtained

from de Concrete01 uniaxial material (getTangent() ) and the theoretical law defined in Python (see tangc()).

Parameters
  • preprocessor – pre-processor of the finite element model.

  • concreteRecord – concrete data.

materials.concrete_base.createInteractionDiagram(materialHandler, concreteDiagram, steelDiagram, concreteSection)

Return the three-dimensional interaction Diagram for the section.

Parameters
  • materiaHandler – material handler.

  • concreteDiagram – diagram for concrete material.

  • concreteSection – concrete section to compute the interaction diagram for.

Parma steelDiagram

diagram for steel material.

materials.concrete_base.defDiagDConcrete(preprocessor, concreteRecord)

Define concrete stress-strain design diagram.

Parameters
  • preprocessor – pre-processor of the finite element model.

  • concreteRecord – concrete material data.

materials.concrete_base.defDiagKConcrete(preprocessor, concreteRecord)

Define concrete stress-strain characteristic diagram.

Parameters
  • preprocessor – pre-processor of the finite element model.

  • concreteRecord – concrete material data.

materials.concrete_base.defReinfSteelCharacteristicDiagram(preprocessor, steelRecord)

Characteristic stress-strain diagram.

materials.concrete_base.defReinfSteelDesignDiagram(preprocessor, steelRecord)

Design stress-strain diagram.

class materials.concrete_base.paramTensStiffness(concrMat, reinfMat, reinfRatio, diagType)

Bases: object

Parameters to generate a concrete02 material based on the tension-stiffening constitutive

model of concrete proposed by Stramandinoli & La Rovere (ref. article: Engineering Structures 30 (2008) 2069-2080).

Variables
  • concrMat – concrete material of the RC section

  • reinfMat – reinforcing steel material of the RC section

  • reinfRatio – section reinforcement ratio, obtained as: -ro=As/Ac for members subjected to direct tension. -roef=As/Acef for members under bending, where Acef is the effective area, that corresponds to the tensile zone in the member section. Aef can be obtained as (see CEB-FIP MC-90) Aef = 2.5b(h-d) < b(h-x)/3, where x is the neutral axis depth. Aef can be estimated as Aef~=bh/4

  • nPoints – number of (strain,stress) pairs of values to approximate the exponential decay curve adopted for the post-cracking range (defaults to 50)

  • diagType – type of diagram: ‘K’ or ‘k’ for characteristic, ‘D’ or ‘d’ for design (defaults to characteristic)

  • E_c – concrete elastic modulus [Pa] [+] (defaults to concrMat.Ecm())

  • f_ct – concrete tensile strength [Pa][+] (defaults to concrMat.fctd() or concrMat.fctk())

  • E_ct – concrete elastic modulus [Pa] [+] in the tensile linear-elastic range (defaults to concrMat.Ect())

  • E_s – steel elastic modulus [Pa] [+] (defaults to reinfMat.Es)

  • eps_y – reinforcing steel strain at yield point [Pa][+] (defaults to reinfMat.eyd() or reinfMat.eyk())

E_s

Reinforcing steel strain at yield point [Pa][+]

alfa()

returns the parameter for the exponential decay curve adopted for the post-cracking range, until yielding of reinforcement takes place

nu()

return steel-to-concrete elastic modulus ratio nu = Es/Ec

pointOnsetCracking()

return the calculated (strain,stress) point of the concrete diagram where cracking starts. It’s obtained as the intersection of the straight line thas reproduces the linear-elastic range in tension (before cracking) with the regression line that approaches the exponential decay curve adopted for the post-cracking range

ptosExpCurvPostCracking()

return a list of strains and the list of their corresponding stresses in exponential decay curve adopted for the post-cracking range, until yielding of reinforcement takes place

regresLine()

return the slope [a] and interceptY [b] (the value of y when x=0) of the regression line y=ax+b that approaches the exponential decay curve adopted for the post-cracking range. It also returns interceptX (the value of x when y=0)

slopeRegresLineFixedPoint()

return the slope of the regression line that approaches the exponential decay curve adopted for the post-cracking range, passings through the point (eps_ct,f_ct) [point of concrete onset cracking]

materials.concrete_base.sigmaDReinfSteel(eps, matRecord)
Design stress-strain diagram for reinforcing steel,

according to EC2.

Parameters
  • eps – steel strain.

  • matRecord – material data.

materials.concrete_base.sigmaKReinfSteel(eps, matRecord)
Characteristic stress-strain diagram for reinforcing steel,

according to EC2.

Parameters
  • eps – steel strain.

  • matRecord – material data.

materials.concrete_base.sigmas(eps, fy, ey, Es, Esh)
Stress-strain diagram of reinforcing steel, according to EC2

(the same one is adopted by EHE and SIA).

Parameters
  • eps – steel strain.

  • fy – steel yield tensile strength.

  • ey – steel strain at yield (ey= fyd/Es).

  • Es – modulus of elasticity of the reinforcing steel.

  • Esh – slope of the inclined top branch of the diagram.

materials.concrete_base.testReinfSteelCharacteristicDiagram(preprocessor, matRecord)

Checking of characteristic stress-strain diagram.

Parameters
  • preprocessor – pre-processor of the finite element model.

  • matRecord – material data.

materials.concrete_base.testReinfSteelDesignDiagram(preprocessor, matRecord)

Checking of design stress-strain diagram.

Parameters
  • preprocessor – pre-processor of the finite element model.

  • matRecord – material data.

Limit state checking base

Base classes for limit state control.

class materials.limit_state_checking_base.BiaxialBendingNormalStressControllerBase(limitStateLabel, solutionProcedureType=<class 'solution.predefined_solutions.SimpleStaticLinear'>)

Bases: materials.limit_state_checking_base.LimitStateControllerBase

Base class for object that controls normal stresses limit state.

ControlVars

alias of postprocess.control_vars.BiaxialBendingControlVars

check(elements, combName)

Launch checking.

Parameters
  • elements – elements to check.

  • combName – load case name.

class materials.limit_state_checking_base.CrackControlBaseParameters(limitStateLabel, solutionProcedureType=<class 'solution.predefined_solutions.SimpleStaticLinear'>)

Bases: materials.limit_state_checking_base.LimitStateControllerBase

Basic parameters for crack control.

printParams(os=<_io.TextIOWrapper name='<stdout>' mode='w' encoding='utf-8'>)
class materials.limit_state_checking_base.EURebarController(concreteCover, spacing, compression, alpha_1=1.0, alpha_3=1.0, alpha_4=1.0, alpha_5=1.0)

Bases: materials.limit_state_checking_base.RebarController

Base class for Eurocode based rebar controllers.

getConcreteMinimumCoverEffect(rebarDiameter, barShape='bent', lateralConcreteCover=None)
Return the value of the alpha_2 factor that introduces the effect

of concrete minimum cover according to figure 8.3 and table 8.2 of EC2:2004.

Parameters
  • rebarDiameter – nominal diameter of the bar.

  • barShape – ‘straight’ or ‘bent’ or ‘looped’.

  • lateralConcreteCover – lateral concrete cover (c1 in figure 8.3 of EC2:2004). If None make it equal to the regular concrete cover.

class materials.limit_state_checking_base.FibSectLSProperties(sct)

Bases: object

Class that sets up basic properties associatted to a fiber section in order to be used in the checking of different limit states.

calcCover(setSteelFibers, setSteelFibersName)

Return the mean concrete cover in the set of reinforcing steel fibers setSteelFibers

getAverageReinforcementTensileStrain()

Return the average value of the tensile strain in the reinforcement.

getAverageReinforcementTensileStrainAndStress()

Return the average value of the tensile strain in the reinforcement.

getAverageReinforcementTensileStress()

Return the average value of the tensile stress in the reinforcement.

getAverageSigmaSR()

Return the average value of the stress in the reinforcement in the cracked section at the moment when the concrete cracks, which is assumed to happen when the tensile stress in the most tensioned fibre in the concrete reaches a value of fctm,fl. See clause 49.2.4 of EHE-08.

getMaxReinforcementTensileStress()

Return the average value of the tensile stress in the reinforcement.

getReinforcementElasticModulus()

Return the elastic modulus of the reinforcement.

setupSets()
setupStrghCrackDist()

Set some parameters that are going to be used to calculate the tension stiffening properties of concrete and the cracking distance.

class materials.limit_state_checking_base.LimitStateControllerBase(limitStateLabel, fakeSection=True, solutionProcedureType=<class 'solution.predefined_solutions.SimpleStaticLinear'>)

Bases: object

Basic parameters for limit state control (normal stresses, shear, crack,…) .

Variables
  • limitStateLabel – property name in the check results file (something like ‘ULS_shear’ or ‘SLS_crack_freq’ or …).

  • fakeSection – true if a fiber section model of the section is not needed to perform control. In that case a fake section of type ‘xc.ElasticShearSection3d’ is generated for each element of the phantom model. Otherwise, when fakeSection is set to False (shear and cracking LS checking), a true fiber section of type ‘xc.FiberSectionShear3d’ is generated.

  • preprocessor – only used to perform the crack straight control.

  • solutionProcedureType – type of the solution procedure to use when computing load combination results.

  • exhaustedSectionsThresholdCF – value of the capacity factor above which the section will be considered exhausted. It is used when building the a non-linear phantom model to avoid the solver to crash (see phantom model module).

check(elements, nmbComb)

Limit state control.

checkSolverAdequacy()

Check if the solver is adequate for the materials.

expectsTensionStiffeningModel()

Return true if a tension-stiffening concrete fiber model must be used for this limit state.

initControlVars(elements)

Initialize control variables over elements.

Parameters

elements – elements to define control variables in.

readInternalForces(intForcCombFileName, setCalc=None)

Launch checking.

Parameters

intForcCombFileName – Name of the file containing the internal forces on the element sections.

tensionedRebarsFiberSetName = 'tensionedReinforcement'
updateEfficiency(elem, elementInternalForces)
Compute the efficiency of the element material

subjected to the internal forces argument and update its value if its bigger than the previous one.

Parameters
  • elem – finite element whose section will be checked.

  • elementInternalForces – internal forces acting on the element sections.

updateEfficiencyForSet(intForcCombFileName, setCalc=None)
Update the efficiency value (and the corresponding control vars)

for the elements in the argument set, under the internal forces stored in the file argument.

Parameters
  • intForcCombFileName – Name of the file containing the internal forces on the element sections.

  • setCalc – set of elements to check

class materials.limit_state_checking_base.LimitStateControllerBase2Sections(limitStateLabel, fakeSection=True, elementSections=['Sect1', 'Sect2'], solutionProcedureType=<class 'solution.predefined_solutions.SimpleStaticLinear'>)

Bases: materials.limit_state_checking_base.LimitStateControllerBase

Limit state controller 2 sections for each element..

getSectionLabel(idSection)

Return the label that corresponds to the index argument.

initControlVars(setCalc)

Initialize control variables over elements.

Parameters
  • setCalc – set of elements to which define control variables.

  • elementSections – element sections to initialize.

class materials.limit_state_checking_base.RebarController(concreteCover=0.035, spacing=0.15)

Bases: object

Base class for rebar controllers (control of some parameters as anchorage length minimum reinforcement and so on.

Variables
  • concreteCover – the distance from center of a bar or wire to nearest concrete surface.

  • spacing – center-to-center spacing of bars or wires being developed, in.

class materials.limit_state_checking_base.ShearControllerBase(limitStateLabel, fakeSection, solutionProcedureType=<class 'solution.predefined_solutions.SimpleStaticLinear'>)

Bases: materials.limit_state_checking_base.LimitStateControllerBase

Base class for shear controller classes.

ControlVars

alias of postprocess.control_vars.RCShearControlVars

check(elements, combName)

Shear control.

extractFiberData(scc, concrete, reinfSteel)

Extract basic parameters from the fiber model of the section

Parameters
  • scc – fiber model of the section.

  • concrete – parameters to modelize concrete.

  • reinfSteel – parameters to modelize reinforcement steel.

getShearForce(Vy, Vz, elementDimension)
Return the shear internal force to use when checking shear

strength.

Parameters
  • Vy – shear force on “Y” axis.

  • Vz – shear force on “Z” axis.

  • elementDimension – dimension of the element (1, 2 or 3).

class materials.limit_state_checking_base.TensionedRebarsBasicProperties

Bases: object

Basic properties of tensioned rebars (used in shear checking).

class materials.limit_state_checking_base.TensionedRebarsProperties

Bases: materials.limit_state_checking_base.TensionedRebarsBasicProperties

Properties of tensioned rebars that are useful for crack control analysis.

printParams(os=<_io.TextIOWrapper name='<stdout>' mode='w' encoding='utf-8'>)
setup(tensionedReinforcement)

Get the parameter values from the fiber set.

Parameters

tensionedReinforcement – fibers that represent tensioned rebars.

class materials.limit_state_checking_base.UniaxialBendingNormalStressControllerBase(limitStateLabel, solutionProcedureType=<class 'solution.predefined_solutions.SimpleStaticLinear'>)

Bases: materials.limit_state_checking_base.LimitStateControllerBase

Base class for object that controls normal stresses limit state (uniaxial bending).

ControlVars

alias of postprocess.control_vars.UniaxialBendingControlVars

check(elements, combName)

Check the normal stresses

Parameters
  • elements – elements to check

  • combName – name of the load combination being treated.

Steel base

Base classes and function for structural steel.

class materials.steel_base.BasicSteel(E, nu, fy, fu, gammaM)

Bases: materials.typical_materials.BasicElasticMaterial

Base class for structural steels.

Variables
  • fy – yield stress.

  • fu – ultimate stress.

  • gammaM – material partial safety factor.

alpha = 1.2e-05
defJ2PlateFibre(preprocessor, name, alpha=0.05)
Constructs a J2 (Von Mises) material with a linear-strain

hardening rule appropriate for plate analysis.

Parameters
  • preprocessor – preprocessor of the finite element problem.

  • name – name identifying the material.

  • alpha – strain hardening ratio (default: (0.01), range: 0 to 1).

fmaxk()

Characteristic ultimate strength. This method is added for compatibility with ReinforcingSteel material as defined in concrete base.

fyd()

Return the design value of the yield strength.

getDict()

Returns a dictionary whith the values of the internal forces. Makes easier export it to json.

setFromDict(dct)

Sets the internal forces from the dictionary argument.

Buckling base

Bridge bearings

Classes for modelling bridge bearings.

This module provides some classes that allow modelling elastomeric and pot type bridge bearings. For now they are modelized as linear joints that connect two nodes with springs that introduce translational and/or rotational stiffness that are approximately equal to those of the real bearing.

Examples:
Examples of the use of these classes are given in the following verification tests:
  • ./verif/tests/elements/test_elastomeric_bearing_01.py

  • ./verif/tests/elements/test_pot_bearing_01.py

  • ./verif/tests/elements/test_pot_bearing_02.py

  • ./verif/tests/elements/test_pot_bearing_03.py

  • ./verif/tests/materials/test_elastomeric_bearing_stiffness.py

Args:
  • x2 (list): Abcissae of the points that define the values of V2 as a function of b/a.

  • y2 (list): Ordinates of the points that define the values of V2 as a function of b/a.

  • x3 (list): Abcissae of the points that define the values of V3 as a function of b/a.

  • y3 (list): Ordinates of the points that define the values of V3 as a function of b/a.

  • x4 (list): Abcissae of the points that define the values of V4 as a function of b/a.

  • y4 (list): Ordinates of the points that define the values of V4 as a function of b/a.

  • xBeta (list): Abcissae of the points that define the values of beta (alpha in the book) as a function of b/a.

  • yBeta (list): Ordinates of the points that define the values of beta (alpha in the book) as a function of h/b.

Todo:
  • Extend the module to cover other bearing types.

class materials.bridge_bearings.Bearing(bearing_type=None)

Bases: object

Bearings base class.

Variables
  • materials – material list (one material for each degree of freedom).

  • materialHandler – XC material handler.

  • id – object identifier (auto).

getDict()

Return a dictionary with the values of the object members.

getMaterial(i)

Returns the i-th uniaxial material that modelizes the response in the i-th direction.

getMaterialNames()

Return material names for each DOF in a list.

getTypeId()

Return the string that identifies the bearing type.

setFromDict(dct)

Set the member values from those in the given dictionary.

class materials.bridge_bearings.ElastomericBearing(G: float, a: float, b: float, e: float, bearing_type=None)

Bases: materials.bridge_bearings.Bearing

Rectangular elastomeric bearing.

Reference:
“Puentes”

book from Javier Manterola Armisén pagea 591 and 592.

Class-wide members:

v2table: interpolation function for the V2 shape factor. v3table: interpolation function for the V3 shape factor. v4table: interpolation function for the V4 shape factor. betaTable: interpolation function for the beta shape factor.

Attributes:

Variables
  • G – (float) Elastomer shear modulus.

  • a – (float) Width of the bearing (parallel to bridge longitudinal axis).

  • b – (float) Length of the bearing (parallel to the bridge transverse axis)

  • e – (float) Net thickness of the bearing (without steel plates).

betaTable = <scipy.interpolate._interpolate.interp1d object>
defineMaterials(preprocessor)

Define the following six materials to modelize the elastomeric bearing: KX: translation along the element X axis, that must match the

bridge longitudinal axis direction

KY: translation along the element Y axis, that must match the

bridge transverse axis direction

KZ: translation along vertical direction THX: rotation about the element X axis, that must match the

bridge longitudinal axis direction

THY: rotation about the element Y axis, that must match the

bridge transverse axis direction

THZ: rotation about vertical direction

Parameters

preprocessor – (:obj:’Preprocessor’) preprocessor to use.

getBeta()

Return the value of the beta factor.

static getDescriptions()

Return the descriptions of the object members.

getDict()

Return a dictionary with the values of the object members.

getEbearing()

Return the elastic modulus with respect to the vertical displacement.

getKhoriz()

Return horizontal stiffness of the bearing.

getKrotationLongBridgeAxis()

Stiffness with respect to the rotation around the longitudinal bridge axis by the center of the bearing.

getKrotationTransvBridgeAxis()

Stiffness with respect to the rotation around an axis parallel to the transverse bridge direction by the center of the bearing.

getKrotationVerticalAxis()

Stiffness with respect to the rotation around a vertical axis.

getKvert()

Return the vertical stiffness.

getV2()

Return the V2 shape factor of the bearing.

getV3()

Return the V3 shape factor of the bearing.

getV4()

Return the v4 shape factor of the bearing.

putAsSupport(modelSpace, iNod: int, orientation=None)

Puts the bearing between the nodes.

Parameters
  • modelSpace – PredefinedSpace object used to create the FE model (see predefined_spaces.py).

  • (int) (iNod) –

    node to support. :param orientation: (list) of two vectors [x,yp] used to orient

    the zero length element, where: x: are the vector components in global coordinates defining

    local x-axis (optional)

    yp: vector components in global coordinates defining a vector

    that lies in the local x-y plane of the element (optional).

    If the optional orientation vector are not specified, the local element axes coincide with the global axes. Otherwise, the local z-axis is defined by the cross product between the vectors x and yp specified in the command line.

putBetweenNodes(modelSpace, iNodA: int, iNodB: int, orientation=None)

Puts the bearing between the nodes. The element must be oriented so that its local x axis is in the direction of the longitudinal axis of the bridge and its local y axis parallel to the transverse axis of the transverse axis of the bridge.

Parameters
  • modelSpace – PredefinedSpace object used to create the FE model (see predefined_spaces.py).

  • (int) (iNodB) – first node identifier (tag).

  • (int) – second node identifier (tag).

  • orientation

    (list) of two vectors [x,yp] used to orient the zero length element, where: x: are the vector components in global coordinates defining

    local x-axis, that must be parallel to the bridge longitudinal axis (optional)

    yp: vector components in global coordinates defining a vector

    that lies in the local x-y plane of the element (optional). If the optional orientation vector are not specified, the local element axes coincide with the global axes

setFromDict(dct)

Set the member values from those in the given dictionary.

v2table = <scipy.interpolate._interpolate.interp1d object>
v3table = <scipy.interpolate._interpolate.interp1d object>
v4table = <scipy.interpolate._interpolate.interp1d object>
x2 = [1, 1.5, 2, 3, 4, 6, 8, 10, 10000]
x3 = [1, 1.5, 2, 3, 4, 6, 8, 10, 10000]
x4 = [1, 2, 4, 8, 10000]
xBeta = [1.0, 1.25, 1.5, 2.0, 3.0, 4.0, 6.0, 10.0, 10000]
y2 = [0.208, 0.231, 0.246, 0.267, 0.282, 0.299, 0.307, 0.313, 0.3333333333333333]
y3 = [0.14, 0.196, 0.229, 0.263, 0.281, 0.299, 0.307, 0.313, 0.3333333333333333]
y4 = [85.7, 71.4, 64.5, 61.2, 60]
yBeta = [0.14, 0.171, 0.196, 0.229, 0.263, 0.281, 0.299, 0.313, 0.3333333333333333]
class materials.bridge_bearings.PTFEPotBearingMat(d, unidirX=False, unidirY=False, factStiff=100000.0, deltaFrict=0.02, Fperp=None, bearing_type=None, rotStiff=1e-05)

Bases: materials.bridge_bearings.Bearing

PTFE slide bearing material.

Attibutes:

Variables
  • d – (float) Pot diameter.

  • unidirX – unidirectional POT in local-X direction (uY constrained) (defaults to False)

  • unidirY – unidirectional POT in local-Y direction (uX constrained) (defaults to False)

  • factStiff – factor to increase stiffness in constrained locad directions (defaults to 1e5)

defineMaterials(preprocessor)

Define the materials to modelize the pot (Teflon).

Parameters

preprocessor – (:obj:’Preprocessor’) preprocessor to use.

getHorizontalStiffness()

Returns the fictitious stiffness with respect to the horizontal displacement of a PTFE slide bearing.

getMeanStress()
getMu()
teflonMuTable = <scipy.interpolate._interpolate.interp1d object>
class materials.bridge_bearings.PotBearing(potMat, nodA, nodB, orientation=None)

Bases: object

POT structural bearing

Variables
  • potMat – : (:obj:’PTFEPotBearingMat’) POT material.

  • nodA – first node.

  • nodB – second node .

  • orientation

    (list) of two vectors [x,yp] used to orient the zero length element, where: x: are the vector components in global coordinates defining

    local x-axis

    yp: vector components in global coordinates defining a vector

    that lies in the local x-y plane of the element.

    If the optional orientation vector are not specified, the local element axes coincide with the global axes

createPotElement()

Create the zero length element that represents the pot bearing.

getElongXlocal()

Returns the elongation of the bearing in local-X direction

getElongYlocal()

Returns the elongation of the bearing in local-Y direction

getElongZlocal()

Returns the elongation of the bearing in local-Z direction

getFXlocal()

Returns the force in local-X direction

getFYlocal()

Returns the force in local-Y direction

getFZlocal()

Returns the force in local-Z direction

getMatTHXlocal()
getMatTHYlocal()
getMatXlocal()
getMatYlocal()
getMatZlocal()
getReaction()

Return the reaction in the fixed node.

getRotXlocal()

Return the rotation around local -X direction

getRotYlocal()

Return the rotation around local -Y direction

getUxUyUzNodA()

Return the displacement components of nodA displacement vector

getUxUyUzNodB()

Return the displacement components of nodB displacement vector

getVdispNodA()

Return the nodA displacement vector

getVdispNodB()

Return the nodB displacement vector

materials.bridge_bearings.get_reaction_on_pot(preprocessor, iElem, inclInertia=False)

Return the element reaction.

Parameters
  • preprocessor – (:obj:’Preprocessor’) preprocessor to use.

  • iElem – (int) new zero length elem identifier (tag).

  • inclInertia – (bool) true if the reaction must include inertia forces.