# a value of the hardening radio alpha=0.01 (there must be an error in # page 55 where it's written "five percent strain hardening parameter # is taken", the stress-strain slope in figure 3.12 corresponds # approximately to 0.01E # Problem type feProblem = xc.FEProblem() preprocessor = feProblem.getPreprocessor nodes = preprocessor.getNodeHandler modelSpace = predefined_spaces.StructuralMechanics3D(nodes) # Material definition j2plate = typical_materials.defJ2PlateFibre(preprocessor, "j2plate", E, nu, fy=sg_yield, alpha=alpha, rho=7850.0) plateFiber = typical_materials.defMembranePlateFiberSection(preprocessor, name="plateFiber", h=thickness, nDMaterial=j2plate) # Problem geometry # The “bottom-up method” generates the geometry of the system # going from key points (0D) to lines (1D) and areas (2D) # up to volumes (3D). p1 = modelSpace.newKPoint(0.0, width / 2)
import xc_base import geom import xc from materials import typical_materials __author__ = "Luis C. Pérez Tato (LCPT) and Ana Ortega (AOO)" __copyright__ = "Copyright 2015, LCPT and AOO" __license__ = "GPL" __version__ = "3.0" __email__ = "*****@*****.**" feProblem = xc.FEProblem() preprocessor = feProblem.getPreprocessor j2plate = typical_materials.defJ2PlateFibre(preprocessor, 'j2plate', E, nu, fy, alpha, rho) EE = j2plate.E V = j2plate.nu Fy = j2plate.fy h = alpha * E / (1 - alpha) Hiso = j2plate.Hiso Hkin = j2plate.Hkin ''' print('h= ', h) print('Hiso= ', Hiso) print('Hkin= ', Hkin) ''' import os from misc_utils import log_messages as lmsg fname = os.path.basename(__file__)
elements.dimElem = 3 modelSpace = predefined_spaces.StructuralMechanics3D(nodes) gridGeom = gm.GridModel(prep, rList, angList, zList, xCentCoo=0, yCentCoo=0) gridGeom.generateCylZPoints() ring = gridGeom.genSurfOneXYZRegion([(r1, 0, 0), (r2, angList[-1], 0)], setName='ring', closeCyl='Y') #out=outHndl.OutputHandler(modelSpace) #out.displayBlocks() steel = tm.defJ2PlateFibre(preprocessor=preprocessor, name='steel', E=172e9, nu=0.3, fy=250e6, alpha=1e-6, rho=matRho) ring_mat = tm.defMembranePlateFiberSection(preprocessor, name='ring_mat', h=t, nDMaterial=steel) ring_mesh = fem.SurfSetToMesh(surfSet=ring, matSect=ring_mat, elemSize=0.5, elemType='ShellMITC4') fem.multi_mesh(prep, [ring_mesh]) # Constraints
feProblem = xc.FEProblem() preprocessor = feProblem.getPreprocessor nodes = preprocessor.getNodeHandler modelSpace = predefined_spaces.StructuralMechanics3D(nodes) nodes.defaultTag = 1 # First node number. nod1 = nodes.newNodeXYZ(0.0, 0.0, 0.0) nod2 = nodes.newNodeXYZ(L, 0.0, 0.0) nod3 = nodes.newNodeXYZ(L, h, 0.0) nod4 = nodes.newNodeXYZ(0, h, 0.0) # Materials definition steel = typical_materials.defJ2PlateFibre(preprocessor=preprocessor, name='steel', E=E, nu=0.3, fy=250e6, alpha=1e-6, rho=0.0) memb1 = typical_materials.defMembranePlateFiberSection(preprocessor, name='memb1', h=h, nDMaterial=steel) # Elements definition elements = preprocessor.getElementHandler elements.defaultMaterial = memb1.name elements.defaultTag = 1 elem1 = elements.newElement("ShellMITC4", xc.ID([nod1.tag, nod2.tag, nod3.tag, nod4.tag]))