problem = xc.FEProblem() # necesary to create this instance of # the class xc.FEProblem() preprocessor = problem.getPreprocessor nodes = preprocessor.getNodeHandler # nodes container modelSpace = predefined_spaces.StructuralMechanics3D( nodes ) # Defines the dimension of nodes three coordinates (x,y,z) and six DOF for each node (Ux,Uy,Uz,thetaX,thetaY,thetaZ) nodes.defaultTag = 1 # First node number. nod = nodes.newNodeXYZ(1.0, 0, 0) # node 1 defined by its (x,y,z) global coordinates nod = nodes.newNodeXYZ(1.0 + l, 0, 0) # node 2 defined by its (x,y,z) global coordinates # Materials definition concrete = EC2_materials.EC2Concrete( "C33", -33e6, 1.5) # concrete according to EC2 fck=33 MPa # Reinforcing steel. rfSteel = EC2_materials.S450C # reinforcing steel according to EC2 fyk=450 MPa steelDiagram = rfSteel.defDiagK( preprocessor) # Definition of steel stress-strain diagram in XC. # Parameters for tension stiffening of concrete paramTS = concrete_base.paramTensStiffness(concrMat=concrete, reinfMat=rfSteel, reinfRatio=ro_s_eff, diagType='K') concrete.tensionStiffparam = paramTS # parameters for tension stiffening are assigned to concrete concrDiagram = concrete.defDiagK( preprocessor) # Definition of concrete stress-strain diagram in XC.
#"Bridge design to Eurocodes. Worked examples" from __future__ import print_function from __future__ import division __author__ = "Ana Ortega (AOO) and Luis C. Pérez Tato (LCPT)" __copyright__ = "Copyright 2015, AOO and LCPT" __license__ = "GPL" __version__ = "3.0" __email__ = "*****@*****.**" from materials.ec2 import EC2_materials #Data #Type of concrete used in the deck slab concrDeck = EC2_materials.EC2Concrete("C35/45", -35e6, 1.5) Ac = 3.9 #area of the concrete slab (m2) u = 11.6 #perimeter exposed to drying (m) h0 = 2 * Ac / u #notional size of the member h0. RH = 80 #ambient relative humidity(%) t = 1e6 #long term #age of concrete in days at loading t0concreting = 22 #mean value t0 of all the slab concreting phases t0shrinkage = 1 #shrinkage is assumed to begin at the age of 1 day t0equipments = 88 #age of concrete when non-structural bridge equipments are loaded t0settlement = 50 #a settlement is assumed to occur at t0=50 days t0 = t0settlement #age of concrete in days at loading alfa1 = concrDeck.getCreepAlfa1( ) #Coefficient for the calculation of the creep coefficient
#Data for comparison from the JRC technical report: #"Bridge design to Eurocodes. Worked examples" #Sect. 4.5.3 from __future__ import division __author__ = "Ana Ortega (AOO) and Luis C. Pérez Tato (LCPT)" __copyright__ = "Copyright 2015, AOO and LCPT" __license__ = "GPL" __version__ = "3.0" __email__ = "*****@*****.**" from materials.ec2 import EC2_materials #Data #Type of concrete used in the deck slab concrDeck = EC2_materials.EC2Concrete("C25/30", -25e6, 1.5) concrDeck.cemType = 'N' #class N cement RH = 50 #ambient relative humidity(%) #Shrinkage deformation at traffic openning t = 100 * 365.25 #age of the concrete ts = 1 #drying shrinkage begins at the age 1 day Ac = 2.99 #area of the concrete slab (m2) u = (17.79 - 5.19) #perimeter exposed to drying (m) h0mm = 2 * Ac / u * 1000 #notional size of the member h0 (mm) # autogenous shrinkage Epscainf = concrDeck.getShrEpscainf( t) #coefficient for calculating the autogenous shrinkage strain Betaast = concrDeck.getShrBetaast( t) #coefficient for calculating the autogenous shrinkage strain Epsca = concrDeck.getShrEpsca(t) #Autogenous shrinkage strain
fctmCalc = [] fctk005Calc = [] fctk095Calc = [] EcmCalc = [] Epsc1Calc = [] Epscu1Calc = [] Epsc2Calc = [] Epscu2Calc = [] ExpNCalc = [] Epsc3Calc = [] Epscu3Calc = [] for i in range(len(fckDat)): name = 'C' + str(fckDat[i]) fck = -1 * fckDat[i] * 1e6 #[Pa][-] concr = EC2_materials.EC2Concrete(name, fck, 1.5) fcm = concr.getFcm() / (-1e6) fcmCalc.append(fcm) fctm = round(concr.getFctm() / 1e6, 1) fctmCalc.append(fctm) fctk005 = round(concr.getFctk005() / 1e6, 1) fctk005Calc.append(fctk005) fctk095 = round(concr.getFctk095() / 1e6, 1) fctk095Calc.append(fctk095) concr.typeAggregate = 'Q' Ecm = round(concr.getEcm() / 1e9, 0) EcmCalc.append(Ecm) Epsc1 = round(concr.getEpsc1() * (-1e3), 1) Epsc1Calc.append(Epsc1) Epscu1 = round(concr.getEpscu1() * (-1e3), 1) Epscu1Calc.append(Epscu1)
# -*- coding: utf-8 -*- from __future__ import division from materials.ec2 import EC2_materials import math area_deck = cantoLosa * anchoLosa + 2 * maxCantoVoladz * anchoCartab + ( cantoLosa - maxCantoVoladz) * anchoCartab + (minCantoVoladz + maxCantoVoladz) * anchoVoladz perim_deck = anchoTot + 2 * minCantoVoladz + 2 * math.sqrt( anchoVoladz**2 + (maxCantoVoladz - minCantoVoladz)**2) + 2 * math.sqrt( anchoCartab**2 * (cantoLosa - maxCantoVoladz)**2) + anchoLosa #Data #Type of concrete used in the deck slab concrDeck = EC2_materials.EC2Concrete("C30/37", -30e6, 1.5) concrDeck.cemType = 'N' #class N cement RH = 70 #ambient relative humidity(%) #Shrinkage deformation at traffic openning t = 10000 #age of the concrete t infinito ts = 1 #drying shrinkage begins at the age 1 day Ac = area_deck #area of the concrete slab (m2) u = perim_deck #perimeter exposed to drying (m) h0mm = 2 * Ac / u * 1000 #notional size of the member h0 (mm) # autogenous shrinkage Epscainf = concrDeck.getShrEpscainf( t) #coefficient for calculating the autogenous shrinkage strain #print 'Epscainf=',Epscainf Betaast = concrDeck.getShrBetaast( t) #coefficient for calculating the autogenous shrinkage strain #print 'Betaast=',Betaast Epsca = concrDeck.getShrEpsca(t) #Autogenous shrinkage strain