def defDiagK(self, preprocessor, initialStress): '''Characteristic stress-strain diagram.''' steel = typical_materials.defSteel02(preprocessor, self.nmbDiagK, self.Es, self.fpk, self.bsh, initialStress) self.matTagK = steel.tag return steel
def defDiagD(self, preprocessor, initialStress): '''Design stress-strain diagram.''' steel = typical_materials.defSteel02(preprocessor, self.nmbDiagD, self.Es, self.fpd(), self.bsh, initialStress) self.matTagD = steel.tag return steel
] # Model definition feProblem = xc.FEProblem() preprocessor = feProblem.getPreprocessor nodes = preprocessor.getNodeHandler # Problem type modelSpace = predefined_spaces.SolidMechanics2D(nodes) nodes.defaultTag = 1 #First node number. nod = nodes.newNodeXY(0, 0) nod = nodes.newNodeXY(l, 0.0) # Materials definition steel = typical_materials.defSteel02(preprocessor, "steel", E, fy, 0.001, 0.0) ''' We define nodes at the points where loads will be applied. We will not compute stresses so we can use an arbitrary cross section of unit area.''' # Elements definition elements = preprocessor.getElementHandler elements.defaultMaterial = steel.name elements.dimElem = 2 # Dimension of element space elements.defaultTag = 1 #Tag for the next element. spring = elements.newElement("Spring", xc.ID([1, 2])) # Constraints constraints = preprocessor.getBoundaryCondHandler # spc = constraints.newSPConstraint(1, 0, 0.0) # Node 1
nod5 = nodes.newNodeXYZ(0, 1, 0) nod6 = nodes.newNodeXYZ(1, 1, 0) nod7 = nodes.newNodeXYZ(2, 1, 0) nod8 = nodes.newNodeXYZ(3, 1, 0) nod9 = nodes.newNodeXYZ(0, 2, 0) nod10 = nodes.newNodeXYZ(1, 2, 0) nod11 = nodes.newNodeXYZ(2, 2, 0) nod12 = nodes.newNodeXYZ(3, 2, 0) # Materials definition deckMat = typical_materials.defElasticMembranePlateSection( preprocessor, "deckMat", Ec, nuC, densLosa, deckThk) prestressingSteel = typical_materials.defSteel02(preprocessor, "prestressingSteel", Ep, fy, 0.001, tInic) elements = preprocessor.getElementHandler # Reinforced concrete deck elements.defaultMaterial = deckMat.name elements.defaultTag = 1 elem = elements.newElement("ShellMITC4", xc.ID([1, 2, 6, 5])) elem = elements.newElement("ShellMITC4", xc.ID([2, 3, 7, 6])) elem = elements.newElement("ShellMITC4", xc.ID([3, 4, 8, 7])) elem = elements.newElement("ShellMITC4", xc.ID([5, 6, 10, 9])) elem = elements.newElement("ShellMITC4", xc.ID([6, 7, 11, 10])) elem = elements.newElement("ShellMITC4", xc.ID([7, 8, 12, 11])) # active reinforcement
elements.defaultMaterial = 'beamMat' elements.defaultTag = 1 for nn in range(1, nnodesBeam): elem = elements.newElement("ElasticBeam3d", xc.ID([nn, nn + 1])) beamSet.elements.append(elem) #Boundary conditions modelSpace.fixNode000_FFF(1) #modelSpace.fixNode(DOFpattern='F00_FFF',nodeTag=nnodesBeam) modelSpace.fixNode000_FFF(nnodesBeam) #TENDONS #Material prestressingSteel = tm.defSteel02(preprocessor=preprocessor, name="prestressingSteel", E=Ep, fy=fy, b=0.001, initialStress=fpi) #Geometry n_points_rough = 5 #number of points provided to the interpolation algorithm n_points_fine = 91 #number of points interpolated #Exact parabola from model.geometry import geom_utils a, b, c = geom_utils.fit_parabola(np.array([0, span / 2.0, span]), np.array([eEnds, eMidspan, eEnds])) x_parab_rough, y_parab_rough, z_parab_rough = geom_utils.eq_points_parabola( 0, span, n_points_rough, a, b, c, 0) #Tendon1 definition, layout tendon1 = presconc.PrestressTendon([])
] # Model definition prueba = xc.ProblemaEF() preprocessor = prueba.getPreprocessor nodes = preprocessor.getNodeLoader # Problem type modelSpace = predefined_spaces.SolidMechanics2D(nodes) nodes.defaultTag = 1 #First node number. nod = nodes.newNodeXY(0, 0) nod = nodes.newNodeXY(l, 0.0) # Materials definition mat = typical_materials.defSteel02(preprocessor, "acero", E, fy, 0.001, 0.0) ''' Se definen nodes en los puntos de aplicación de la carga. Puesto que no se van a determinar tensiones se emplea una sección arbitraria de área unidad ''' # Elements definition elementos = preprocessor.getElementLoader elementos.defaultMaterial = "acero" elementos.dimElem = 2 elementos.defaultTag = 1 #Tag for the next element. spring = elementos.newElement("spring", xc.ID([1, 2])) # Constraints coacciones = preprocessor.getConstraintLoader # spc = coacciones.newSPConstraint(1, 0, 0.0) # Node 1
__version__= "3.0" __email__= "*****@*****.**" # Problem type prueba= xc.ProblemaEF() preprocessor= prueba.getPreprocessor nodes= preprocessor.getNodeLoader modelSpace= predefined_spaces.SolidMechanics2D(nodes) nodes.defaultTag= 1 #First node number. nod= nodes.newNodeXY(0.0,0.0) nod= nodes.newNodeXY(L,0.0) # Materials definition typical_materials.defSteel02(preprocessor, "aceroPret",E,fy,0.001,tInic) # Elements definition elementos= preprocessor.getElementLoader elementos.defaultMaterial= "aceroPret" elementos.dimElem= 2 elementos.defaultTag= 1 #Tag for the next element. truss= elementos.newElement("truss",xc.ID([1,2])); truss.area= A # Constraints coacciones= preprocessor.getConstraintLoader # spc= coacciones.newSPConstraint(1,0,0.0)
nod4= nodes.newNodeXYZ(3,0,0) nod5= nodes.newNodeXYZ(0,1,0) nod6= nodes.newNodeXYZ(1,1,0) nod7= nodes.newNodeXYZ(2,1,0) nod8= nodes.newNodeXYZ(3,1,0) nod9= nodes.newNodeXYZ(0,2,0) nod10= nodes.newNodeXYZ(1,2,0) nod11= nodes.newNodeXYZ(2,2,0) nod12= nodes.newNodeXYZ(3,2,0) # Materials definition hLosa= typical_materials.defElasticMembranePlateSection(preprocessor, "hLosa",Ec,nuC,densLosa,hLosa) typical_materials.defSteel02(preprocessor, "prestressingSteel",Ep,fy,0.001,tInic) elements= preprocessor.getElementHandler # Reinforced concrete deck elements.defaultMaterial= "hLosa" elements.defaultTag= 1 elem= elements.newElement("ShellMITC4",xc.ID([1,2,6,5])) elem= elements.newElement("ShellMITC4",xc.ID([2,3,7,6])) elem= elements.newElement("ShellMITC4",xc.ID([3,4,8,7])) elem= elements.newElement("ShellMITC4",xc.ID([5,6,10,9])) elem= elements.newElement("ShellMITC4",xc.ID([6,7,11,10])) elem= elements.newElement("ShellMITC4",xc.ID([7,8,12,11])) # active reinforcement elements.defaultMaterial= "prestressingSteel"
def defDiagD(self,preprocessor,initialStress): # Diagrama tensión-deformación de cálculo. acero= typical_materials.defSteel02(preprocessor,self.nmbDiagD,self.Es,self.fpd(),self.bsh,initialStress) self.matTagD= acero.tag return acero #30160925 was 'self.matTagD'
def defDiagK(self,preprocessor,initialStress): # Diagrama tensión-deformación característico. acero= typical_materials.defSteel02(preprocessor,self.nmbDiagK,self.Es,self.fpk,self.bsh,initialStress) self.matTagK= acero.tag return acero #30160925 was 'return self.matTagK'
# Model definition feProblem= xc.FEProblem() preprocessor= feProblem.getPreprocessor nodes= preprocessor.getNodeHandler # Problem type modelSpace= predefined_spaces.SolidMechanics2D(nodes) nodes.defaultTag= 1 #First node number. nod= nodes.newNodeXY(0,0) nod= nodes.newNodeXY(l,0.0) # Materials definition mat= typical_materials.defSteel02(preprocessor, "steel",E,fy,0.001,0.0) ''' We define nodes at the points where loads will be applied. We will not compute stresses so we can use an arbitrary cross section of unit area.''' # Elements definition elements= preprocessor.getElementHandler elements.defaultMaterial= "steel" elements.dimElem= 2 # Dimension of element space elements.defaultTag= 1 #Tag for the next element. spring= elements.newElement("Spring",xc.ID([1,2])) # Constraints constraints= preprocessor.getBoundaryCondHandler #
def defDiagD(self,preprocessor,initialStress): '''Design stress-strain diagram.''' steel= typical_materials.defSteel02(preprocessor,self.nmbDiagD,self.Es,self.fpd(),self.bsh,initialStress) self.matTagD= steel.tag return steel
def defDiagK(self,preprocessor,initialStress): '''Characteristic stress-strain diagram.''' steel= typical_materials.defSteel02(preprocessor,self.nmbDiagK,self.Es,self.fpk,self.bsh,initialStress) self.matTagK= steel.tag return steel