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