Typical materials¶
-
class
materials.typical_materials.
BasicElasticMaterial
(E, nu, rho=0.0)¶ Bases:
object
Basic elastic material
Variables: -
G
()¶ shear modulus.
-
defElasticMaterial
(preprocessor, name=None, overrideRho=None)¶ - Return an elastic material appropiate for example for
- truss elements
Parameters: - preprocessor – preprocessor of the finite element problem.
- 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 appropiate 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
-
getRho
()¶ return the mass per unit length
-
setupElasticShear3DSection
(preprocessor, overrideRho=None)¶ - Return an elastic section appropiate 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 appropiate 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.
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
- E – elastic modulus
- prestress – prestress
- rho – mass density
-
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
- 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
- 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.
defElastNoTensMaterial
(preprocessor, name, E)¶ Constructs a uniaxial elastic - no tension material.
Parameters: - preprocessor – preprocessor of the finite element problem.
- name – name identifying the material
- E – tangent in the elastic zone of the stress-strain diagram
-
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
- 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
- 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
- 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)¶ 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
- overrideRho – if defined (not None), override the value of the material density.
-
materials.typical_materials.
defElasticMembranePlateSection
(preprocessor, name: str, E: float, nu: float, rho: float, h: float)¶ - Constructs an elastic isotropic section material appropiate
- 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)¶ Constructs an elastic perfectly-plastic uniaxial material.
Parameters: - preprocessor – preprocessor of the finite element problem.
- name – name identifying the material
- 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
-
materials.typical_materials.
defElasticPlateSection
(preprocessor, name, E, nu, rho, h)¶ - Constructs an elastic isotropic section material appropiate
- 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)¶ Constructs an elastic section appropiate 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.
-
materials.typical_materials.
defElasticSection2d
(preprocessor, name, A, E, I, linearRho=0.0)¶ Constructs an elastic section appropiate 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.
-
materials.typical_materials.
defElasticSection3d
(preprocessor, name, A, E, G, Iz, Iy, J, linearRho=0.0)¶ Constructs an elastic section appropiate 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.
-
materials.typical_materials.
defElasticSectionFromMechProp1d
(preprocessor, name, mechProp1d, overrideRho=None)¶ Constructs an elastic section appropiate 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 appropiate 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 appropiate 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)¶ Constructs an elastic section appropiate 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.
-
materials.typical_materials.
defElasticShearSection3d
(preprocessor, name, A, E, G, Iz, Iy, J, alpha_y, alpha_z, linearRho=0.0)¶ Constructs an elastic section appropiate 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.
-
materials.typical_materials.
defElasticShearSectionFromMechProp2d
(preprocessor, name, mechProp2d, overrideRho=None)¶ Constructs an elastic section appropiate 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 appropiate 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.
defJ2PlateFibre
(preprocessor, name, E, nu, fy, alpha=0.01, rho=0.0)¶ - Constructs a J2 (Von Mises) material with a linear-strain
- hardening rule appropiate for plate analysis.
Parameters: - preprocessor – preprocessor of the finite element problem.
- name – name identifying the material.
- 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).
-
materials.typical_materials.
defMembranePlateFiberSection
(preprocessor, name: str, nDMaterial, h: float)¶ - Constructs a membrane plate fiber section appropiate
- 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.
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
- 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)¶ 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
- E – initial elastic tangent
- fy – yield strength
- b – strain-hardening ratio: ratio between post-yield tangent and initial elastic tangent
- initialStress – initial stress
Concrete base¶
-
class
materials.concrete_base.
Concrete
(nmbConcrete, fck, gammaC)¶ Bases:
materials.sections.material_with_DK_diagrams.MaterialWithDKDiagrams
Concrete model according to Eurocode 2 - 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 =’Y’ a concrete02 material model is initialized with a tension capacity almost equal to 0 (equivalent to the concrete01 diagram). Defaults to ‘N’ If tensionStiffparam==None and initTensStiff==’N’ (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][+]
-
alfacc
= 1¶
-
cemType
= 'N'¶
-
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 =’Y’ a concrete02 material model is initialized with a tension capacity almost equal to 0 (equivalent to the concrete01 diagram). Defaults to ‘N’
-If tensionStiffparam==None and initTensStiff==’N’ (default values) no tensile strength is considered; the stress strain relationship corresponds to a concrete01 material (zero tensile strength).
-
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 =’Y’ a concrete02 material model is initialized with a tension capacity almost equal to 0 (equivalent to the concrete01 diagram). Defaults to ‘N’
-If tensionStiffparam==None and initTensStiff==’N’ (default values) no tensile strength is considered; the stress strain relationship corresponds to a concrete01 material (zero tensile strength).
-
defElasticMaterial
(preprocessor, name: str = None, overrideRho=None)¶ - Constructs an elastic uniaxial material appropiate
- 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 appropiate
- 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.
-
defElasticPlateSection
(preprocessor, name, thickness, overrideRho=None)¶ - Constructs an elastic isotropic section material appropiate
- 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 appropiate 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 appropiate 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 appropiate 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 appropiate 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.
-
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 (sect. 3.1.2 EC2, art. 31.3 EHE-08)
Parameters: t – age of the concrete in days
-
getCreepAlfa1
()¶ Coefficient for the calculation of the creep coefficient (Annex B Eurocode 2 part 1-1)
-
getCreepAlfa2
()¶ Coefficient for the calculation of the creep coefficient (Annex B Eurocode 2 part 1-1)
-
getCreepAlfa3
()¶ Coefficient for the calculation of the creep coefficient (Annex B Eurocode 2 part 1-1)
-
getCreepBetactt0
(t, t0, RH, h0)¶ coefficient to describe the development of creep with time after loading, used to calculate the creep coefficient (Annex B Eurocode 2 part 1-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.
- h0=2*Ac/u, where:
- Ac= cross sectional area
- u = perimeter of the member in contact with the atmosphere
-
getCreepBetafcm
()¶ factor to allow for the effect of concrete strength on the notational creep coefficient (Annex B Eurocode 2 part 1-1)
-
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)
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)
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)
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)¶ Creep coefficient (Annex B Eurocode 2 part 1-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
-
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
(t=28)¶ Fctk005: tensile strength [Pa][+] 5% fractile (table 3.1 EC2)
Parameters: t – age of the concrete in days
-
getFctk095
(t=28)¶ Fctk095: tensile strength [Pa][+] 95% fractile (table 3.1 EC2)
Parameters: t – age of the concrete in days
-
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 (Annex B Eurocode 2 part 1-1)
Parameters: RH – ambient relative humidity(%)
-
getShrBetaast
(t)¶ coefficient for calculating the autogenous shrinkage strain (art. 3.1.4 Eurocode 2 part 1-1)
Parameters: t – age of concrete in days at the moment considered
-
getShrBetadstts
(t, ts, h0)¶ coefficient for the calculation of the drying shrinkage strain (table 3.3 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
- 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)¶ Autogenous shrinkage strain (art. 3.1.4 Eurocode 2 part 1-1)
Parameters: t – age of concrete in days at the moment considered
-
getShrEpscainf
(t)¶ coefficient for calculating the autogenous shrinkage strain [-] (art. 3.1.4 Eurocode 2 part 1-1)
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 (Annex B Eurocode 2 part 1-1)
Parameters: RH – ambient relative humidity(%)
-
getShrEpscs
(t, ts, RH, h0)¶ 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
-
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='')¶
-
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.
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 – Steel strength.
- alpha – stress-to-strength ratio.
- 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
()¶
-
getDesignUltimateStress
()¶ Return steel design ultimate stress.
-
getKRelaxation
()¶ Return the value of k factor for the relaxation expression from the relaxation class. See Model Code 1990 paragraph 2.3.4.5.
-
getUltimateStress
()¶ Return steel ultimate stress.
-
ptsShortTermRelaxation
= <scipy.interpolate.interpolate.interp1d object>¶
-
tInic
()¶
-
class
materials.concrete_base.
ReinforcedConcreteLimitStrains
(EpsCU=-0.0035, EpsC0=-0.002, SMaxStrain=0.01)¶ Bases:
object
-
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, fyk, emax, gammaS, 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.
-
defDiagD
(preprocessor)¶ Returns XC uniaxial material (design values).
-
defDiagK
(preprocessor)¶ Returns XC uniaxial material (characteristic values).
-
eyd
()¶ Design strain at yield point.
-
eyk
()¶ Caracteristic strain at yield point.
-
fmaxk
()¶ Characteristic ultimate strength.
-
fyd
()¶ Design yield stress.
-
k
= 1.05¶
-
plotDesignStressStrainDiagram
(preprocessor, path='')¶ Draws the steel design diagram.
-
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()).
-
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()).
-
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)¶
-
materials.concrete_base.
defDiagKConcrete
(preprocessor, concreteRecord)¶
-
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
= None¶ 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.
-
materials.concrete_base.
sigmaKReinfSteel
(eps, matRecord)¶ Characteristic stress-strain diagram for reinforcing steel, according to EC2.
-
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).
-
materials.concrete_base.
testReinfSteelCharacteristicDiagram
(preprocessor, matRecord)¶ Checking of characteristic stress-strain diagram.
-
materials.concrete_base.
testReinfSteelDesignDiagram
(preprocessor, matRecord)¶ Checking of design stress-strain diagram.
Limit state checking base¶
Base classes for limit state control.
-
class
materials.limit_state_checking_base.
BiaxialBendingNormalStressControllerBase
(limitStateLabel)¶ Bases:
materials.limit_state_checking_base.LimitStateControllerBase
Base class for object that controls normal stresses limit state.
-
check
(elements, nmbComb)¶ Launch checking.
Parameters: - elements – elements to check.
- nmbComb – load case name.
-
initControlVars
(elements)¶ Initialize control variables over elements.
Parameters: elements – elements to define control variables in
-
-
class
materials.limit_state_checking_base.
CrackControlBaseParameters
(limitStateLabel)¶ Bases:
materials.limit_state_checking_base.LimitStateControllerBase
Basic parameters for crack control.
-
printParams
()¶
-
-
class
materials.limit_state_checking_base.
LimitStateControllerBase
(limitStateLabel, fakeSection=True)¶ Bases:
object
Basic parameters for limit state control (normal stresses, shear, crack,…) .
-
check
(elements, nmbComb)¶ Limit state control.
-
tensionedRebarsFiberSetName
= 'tensionedReinforcement'¶
-
-
class
materials.limit_state_checking_base.
ShearControllerBase
(limitStateLabel, fakeSection=True)¶ Bases:
materials.limit_state_checking_base.LimitStateControllerBase
Base class for shear controller classes.
-
check
(elements, combName)¶ Shear control.
-
initControlVars
(elements)¶ Initialize control variables over elements.
Parameters: elements – elements to define control variables in
-
-
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
()¶
-
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)¶ Bases:
materials.limit_state_checking_base.LimitStateControllerBase
Base class for object that controls normal stresses limit state (uniaxial bending).
-
check
(elements, combName)¶ Check the normal stresses
Parameters: - elements – elements to check
- combName – name of the load combination being treated.
-
initControlVars
(elements)¶ Initialize control variables over elements.
Parameters: elements – elements to define control variables in
-
-
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
-
setupSets
()¶
-
setupStrghCrackDist
()¶ Set some parameters that are going to be used to calculate the tension stiffening properties of concrete and the cracking distance.
-
Steel base¶
-
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¶
-
fmaxk
()¶ Characteristic ultimate strength. This method is added for compatibility with ReinforcingSteel material as defined in concrete base.
-
fyd
()¶
-
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
¶ Bases:
object
Bearings base class.
Variables: - materials – material list (one material for each degree of freedom).
- materialHandler – XC material handler.
- id – object identifier (auto).
-
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.
-
setBearing
(predefinedSpace, iNodA, orientation=None)¶ Modelize a bearing on X, XY or XYZ directions.
Parameters: - predefinedSpace – model space (object).
- iNod – (int) node identifier (tag).
- (list) (bearingMaterials) – material names for the zero length element.
Return rtype: (int, int) new node tag, new element tag.
-
setBearingBetweenNodes
(predefinedSpace, iNodA, iNodB, orientation=None)¶ Modelize a bearing between the nodes and return newly created zero length element that represents the bearing.
Parameters: - predefinedSpace – model space (object).
- iNodA – (int) first node identifier (tag).
- iNodB – (int) second node identifier (tag).
-
class
materials.bridge_bearings.
ElastomericBearing
(G: float, a: float, b: float, e: float)¶ 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: -
betaTable
= <scipy.interpolate.interpolate.interp1d object>¶
-
defineMaterials
(preprocessor)¶ Define the materials to modelize the elastomeric bearing.
Parameters: preprocessor – (:obj:’Preprocessor’) preprocessor to use.
-
getBeta
()¶ Return the value of the beta factor.
-
getEbearing
()¶ Return the elastic modulus with respect to the vertical displacement.
-
getKhoriz
()¶ Return horizontal stiffness of the bearing.
-
getKrotationBridgeAxis
()¶ Stiffness with respect to the rotation around an axis parallel to the bridge by the center of the bearing.
-
getKrotationLintelAxis
()¶ Stiffness with respect to the rotation around an axis parallel to the lintel 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: - (:obj:'PredefinedSpace') (modelSpace) – space dimension and number of DOFs.
- (int) (iNod) – node to support.
-
putBetweenNodes
(modelSpace, iNodA: int, iNodB: int, orientation=None)¶ Puts the bearing between the nodes.
Parameters: - (:obj:'PredefinedSpace') (modelSpace) – space dimension and number of DOFs.
- (int) (iNodB) – first node identifier (tag).
- (int) – second node identifier (tag).
-
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.
PTFEPotBearing
(d)¶ Bases:
materials.bridge_bearings.Bearing
PTFE slide bearing.
- Attibutes:
d: (float) Pot diameter.
-
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.
Stiffness is calculated so that when the displacement reach 20 mm the spring reaction equals the force of friction.
sg_media= 35 MPa mean compressive stress. mov= 20e-3 Displacement when the friction force is reached.
-
putBetweenNodes
(modelSpace, iNodA, iNodB)¶ Puts the bearing between the nodes.
Parameters: - modelSpace – (:obj:’PredefinedSpace’) space dimension and number of DOFs.
- iNodA – (int) first node identifier (tag).
- iNodB – (int) second node identifier (tag).
-
putOnXBetweenNodes
(modelSpace, iNodA, iNodB)¶ Puts the bearing between the nodes only in direction X.
Parameters: - modelSpace – (:obj:’PredefinedSpace’) space dimension and number of DOFs.
- iNodA – (int) first node identifier (tag).
- iNodB – (int) second node identifier (tag).
-
putOnYBetweenNodes
(modelSpace, iNodA, iNodB)¶ Puts the bearing between the nodes only in direction Y.
Parameters: - modelSpace – (:obj:’PredefinedSpace’) space dimension and number of DOFs.
- iNodA – (int) first node identifier (tag).
- iNodB – (int) second node identifier (tag).
-
teflonMuTable
= <scipy.interpolate.interpolate.interp1d object>¶
-
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.