__author__= "Luis C. Pérez Tato (LCPT)" __copyright__= "Copyright 2014, LCPT" __license__= "GPL" __version__= "3.0" __email__= "*****@*****.**" CooMaxX= 2 CooMaxY= 1 old_stderr= sys.stderr # Problem type feProblem= xc.FEProblem() preprocessor= feProblem.getPreprocessor nodes= preprocessor.getNodeHandler modelSpace= predefined_spaces.SolidMechanics2D(nodes)# Model space definition # Definition of points. points= preprocessor.getMultiBlockTopology.getPoints pt1= points.newPoint(geom.Pos3d(0.0,0.0,0.0)) pt2= points.newPoint(geom.Pos3d(CooMaxX/2,0.0,0.0)) pt3= points.newPoint(geom.Pos3d(CooMaxX,0.0,0.0)) pt4= points.newPoint(geom.Pos3d(0.0,CooMaxY,0.0)) pt5= points.newPoint(geom.Pos3d(CooMaxX/2,CooMaxY,0.0)) pt6= points.newPoint(geom.Pos3d(CooMaxX,CooMaxY,0.0)) # Definition of quadrilateral surfaces. surfaces= preprocessor.getMultiBlockTopology.getSurfaces s1= surfaces.newQuadSurfacePts(pt1.tag,pt2.tag,pt5.tag,pt4.tag) s2= surfaces.newQuadSurfacePts(pt2.tag,pt3.tag,pt6.tag,pt5.tag)
F2= 1000/2 # Force magnitude 2 (pounds) import xc_base import geom import xc from model import predefined_spaces from solution import predefined_solutions from materials import typical_materials # 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(0.0,l-a-b) nod= nodes.newNodeXY(0.0,l-a) nod= nodes.newNodeXY(0.0,l) # Materials definition elast= typical_materials.defElasticMaterial(preprocessor, "elast",E) ''' 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
CooMaxY = 1 E = 30e6 # Young modulus (psi) nu = 0.3 # Coeficiente de Poison rho = 0.0 # Densidad old_stderr = sys.stderr numNodes = 0 numElem = 0 # Problem type feProblem = xc.FEProblem() feProblem.logFileName = "/tmp/borrar.log" # Ignore warning messages feProblem.errFileName = "/tmp/borrar.err" # Ignore warning messages preprocessor = feProblem.getPreprocessor nodes = preprocessor.getNodeHandler modelSpace = predefined_spaces.SolidMechanics2D(nodes) # Materials definition elast = typical_materials.defElasticMaterial(preprocessor, "elast", 3000) nodes.newSeedNode() elast2d = typical_materials.defElasticIsotropicPlaneStress( preprocessor, "elast2d", E, nu, rho) seedElemHandler = preprocessor.getElementHandler.seedElemHandler seedElemHandler.defaultMaterial = "elast2d" elem = seedElemHandler.newElement("FourNodeQuad", xc.ID([0, 0, 0, 0])) points = preprocessor.getMultiBlockTopology.getPoints pt = points.newPntIDPos3d(1, geom.Pos3d(0.0, 0.0, 0.0)) pt = points.newPntIDPos3d(2, geom.Pos3d(CooMaxX / 2, 0.0, 0.0)) pt = points.newPntIDPos3d(3, geom.Pos3d(CooMaxX, 0.0, 0.0))