from abaqus import * from abaqusConstants import * #Create a model model1 = mdb.Model(name='Model') #---------------------------------------------------------- import part Laenge = 100 Breite=200 Dicke=12 #Vertices PG1 = {'X1':-Laenge/2,'Y1':-Breite/2} PG2={'X2':Laenge/2,'Y2':Breite/2} #Vertices PS1 = {'X1':-Laenge/2,'Y1':-Breite/2} PS2={'X2':Laenge/2,'Y2':Breite/2} #Vertices PZ1 = {'X1':-Laenge/2,'Y1':-Breite/2} PZ2={'X2':Laenge/2,'Y2':Breite/2} #Create a sketch sketch1 = model1.Sketch(name='1',sheetSize=800) sketch2 = model1.Sketch(name='2',sheetSize=800) sketch3 = model1.Sketch(name='3',sheetSize=800) #Create the rectangle sketch1.rectangle(point1=(PG1['X1'],PG1['Y1']), point2=(PG2['X2'],PG2['Y2'])) sketch2.rectangle(point1=(PS1['X1'],PS1['Y1']), point2=(PS2['X2'],PS2['Y2'])) sketch3.rectangle(point1=(PZ1['X1'],PZ1['Y1']), point2=(PZ2['X2'],PZ2['Y2'])) #Create a three dimensional,deformable part p1=model1.Part(name='p1',dimensionality=THREE_D, type=DEFORMABLE_BODY) p2=model1.Part(name='p2',dimensionality=THREE_D, type=DEFORMABLE_BODY) p3=model1.Part(name='p3',dimensionality=THREE_D, type=DEFORMABLE_BODY) #Create the parts' base feature by extruding the sketch p1.BaseSolidExtrude(sketch=sketch1, depth=Dicke) p2.BaseSolidExtrude(sketch=sketch2, depth=Dicke) p3.BaseSolidExtrude(sketch=sketch3, depth=1) #Create DatumPoints p1.DatumPointByMidPoint(point1=(PG1['X1'],PG1['Y1'],Dicke), point2=(PG2['X2'],PG2['Y2'],Dicke)) p2.DatumPointByMidPoint(point1=(PS1['X1'],PS1['Y1'],0), point2=(PS2['X2'],PS2['Y2'],0)) p3.DatumPointByMidPoint(point1=(PZ1['X1'],PZ1['Y1'],1), point2=(PZ2['X2'],PZ2['Y2'],1)) p3.DatumPointByMidPoint(point1=(PZ1['X1'],PZ1['Y1'],0), point2=(PZ2['X2'],PZ2['Y2'],0)) f, e, d = p2.faces, p2.edges, p2.datums t = p2.MakeSketchTransform(sketchPlane=f[4], sketchUpEdge=e[10], sketchPlaneSide=SIDE1, origin=(0.0, 0.0, 10.0)) sketchLast = model1.Sketch(name='Lastflaeche', sheetSize=400.0, gridSpacing=10.0, transform=t) g, v, d1 = sketchLast.geometry, sketchLast.vertices, sketchLast.dimensions #sketchLast.setPrimaryObject(option=SUPERIMPOSE) p2.projectReferencesOntoSketch(sketch=sketchLast, filter=COPLANAR_EDGES) r, r1 = sketchLast.referenceGeometry, sketchLast.referenceVertices sketchLast.rectangle(point1=(-10.0, -10.0), point2=(10.0, 10.0)) f = p2.faces pickedFaces = f[4:5] e, d = p2.edges, p2.datums p2.PartitionFaceBySketch(sketchUpEdge=e[10], faces=pickedFaces, sketch=sketchLast) #----------------------------------------------------------- import material import section #Create Material. Material1=model1.Material(name='m1') Material1.Elastic(table=((210000.0, 0.3), )) Material2=model1.Material(name='m2') Material2.Elastic(table=((4500.0, 0.4), )) QS1=model1.HomogeneousSolidSection(name='p1', material='m1', thickness=Dicke) QS2=model1.HomogeneousSolidSection(name='p2', material='m1', thickness=Dicke) QS3=model1.HomogeneousSolidSection(name='p3', material='m2', thickness=1.0) p1.SectionAssignment(region=(p1.cells,),sectionName='p1') p2.SectionAssignment(region=(p2.cells,),sectionName='p2') p3.SectionAssignment(region=(p3.cells,),sectionName='p3') #Mesh import mesh p1.seedPart(size=Dicke) elemType1 = mesh.ElemType(elemCode=C3D20R) p1.setElementType(regions=(p1.cells,), elemTypes=(elemType1,)) p1.generateMesh() p2.seedPart(size=Dicke) elemType2 = mesh.ElemType(elemCode=C3D20R) p2.setElementType(regions=(p2.cells,), elemTypes=(elemType2,)) p2.generateMesh() p3.seedPart(size=1) elemType3 = mesh.ElemType(elemCode=C3D20R) p3.setElementType(regions=(p3.cells,), elemTypes=(elemType3,)) p3.generateMesh() f = p1.faces side1Faces = f[4:5] oben1=model1.parts['p1'].Surface(side1Faces=side1Faces, name='Surface1') f =p2.faces side1Faces = f[5:6] p2.Surface(side1Faces=side1Faces, name='Surface2') f = p3.faces side1Faces = f[4:5] side2Faces = f[5:6] p3.Surface(side1Faces=side1Faces, name='ObenSurface3') p3.Surface(side2Faces=side2Faces, name='UntenSurface3') #model1.parts['p2'].getCoordinates(entity=MeshNode) #Assembly Modul import assembly #Teile Verbindung = model1.rootAssembly Verbindung.Instance(name='p1', part=p1, dependent=ON) Verbindung.Instance(name='p2', part=p2, dependent=ON) Verbindung.Instance(name='p3', part=p3, dependent=ON) #Bezugspunkte 1,2 Datumpoint1 = Verbindung.instances['p1'].datums Verbindung.ReferencePoint(point=Datumpoint1[2]) Datumpoint2 = Verbindung.instances['p3'].datums Verbindung.ReferencePoint(point=Datumpoint2[3]) #Verbinden Verbindung.setValues(regenerateConstraintsTogether=OFF) r1 = Verbindung.referencePoints Verbindung.CoincidentPoint(movablePoint=r1[8], fixedPoint=r1[7]) #Bezugspunkte 3,4 Datumpoint3 = Verbindung.instances['p3'].datums Verbindung.ReferencePoint(point=Datumpoint3[2]) Datumpoint4 = Verbindung.instances['p2'].datums Verbindung.ReferencePoint(point=Datumpoint4[2]) #Verbinden Verbindung.setValues(regenerateConstraintsTogether=OFF) r1 = Verbindung.referencePoints Verbindung.CoincidentPoint(movablePoint=r1[10], fixedPoint=r1[11]) #Kontakt Eigenschaften model1.ContactProperty('1_3') model1.interactionProperties['1_3'].TangentialBehavior(formulation=LAGRANGE, directionality=ISOTROPIC, slipRateDependency=OFF, pressureDependency=OFF, temperatureDependency=OFF, dependencies=0, table=((0.34, ), ), shearStressLimit=None) model1.interactionProperties['1_3'].NormalBehavior(pressureOverclosure=HARD, allowSeparation=ON, augmentedLagrange=OFF) model1.ContactProperty('2_3') model1.interactionProperties['2_3'].TangentialBehavior(formulation=LAGRANGE, directionality=ISOTROPIC, slipRateDependency=OFF, pressureDependency=OFF, temperatureDependency=OFF, dependencies=0, table=((0.34, ), ), shearStressLimit=None) model1.interactionProperties['2_3'].NormalBehavior(pressureOverclosure=HARD, allowSeparation=ON, augmentedLagrange=OFF) #: Interaktion 1_3 region1=Verbindung.instances['p1'].surfaces['Surface1'] region2=Verbindung.instances['p3'].surfaces['UntenSurface3'] model1.SurfaceToSurfaceContactStd(name='1_3', createStepName='Initial', master=region1, slave=region2, sliding=FINITE, interactionProperty='1_3', adjustMethod=OVERCLOSED) #: Interaktion 2_3 region1=Verbindung.instances['p2'].surfaces['Surface2'] region2=Verbindung.instances['p3'].surfaces['ObenSurface3'] model1.SurfaceToSurfaceContactStd(name='2_3', createStepName='Initial', master=region1, slave=region2, sliding=FINITE, interactionProperty='2_3', adjustMethod=OVERCLOSED) #Lagerung import regionToolset f = Verbindung.instances['p1'].faces faces1 = f[5:6] region = regionToolset.Region(faces=faces1) model1.EncastreBC(name='BC-1', createStepName='Initial', region=region) mdb.models['Model'].StaticStep(name='Step-1', previous='Initial', description='vorverf') f1 = Verbindung.instances['p2'].faces faces1 = f1[6:7] region = regionToolset.Region(faces=faces1) mdb.models['Model'].DisplacementBC(name='BC-2', createStepName='Step-1', region=region, u1=0.0, u2=0.0, u3=-1.0, ur1=UNSET, ur2=UNSET, ur3=UNSET, amplitude=UNSET, fixed=OFF, distribution=UNIFORM, localCsys=None) f1 = Verbindung.instances['p3'].faces faces1 = f1[5:6] region = regionToolset.Region(faces=faces1) mdb.models['Model'].DisplacementBC(name='BC-3', createStepName='Step-1', region=region, u1=0.0, u2=0.0, u3=-1.0, ur1=UNSET, ur2=UNSET, ur3=UNSET, amplitude=UNSET, fixed=OFF, distribution=UNIFORM, localCsys=None) mdb.models['Model'].boundaryConditions['BC-2'].setValues(u3=-2.0) mdb.models['Model'].StaticStep(name='Step-2', previous='Step-1', description='s2') mdb.models['Model'].boundaryConditions['BC-2'].deactivate('Step-2') mdb.models['Model'].boundaryConditions['BC-3'].deactivate('Step-2') s1 = Verbindung.instances['p2'].faces side1Faces1 = s1[0:1] region = regionToolset.Region(side1Faces=side1Faces1) mdb.models['Model'].Pressure(name='Load-1', createStepName='Step-2', region=region, distribution=UNIFORM, magnitude=193.0, amplitude=UNSET) mdb.Job(name='Job-1', model='Model', type=ANALYSIS, explicitPrecision=SINGLE, nodalOutputPrecision=SINGLE, description='we', parallelizationMethodExplicit=DOMAIN, multiprocessingMode=DEFAULT, numDomains=1, userSubroutine='', numCpus=1, preMemory=600.0, standardMemory=256.0, standardMemoryPolicy=MODERATE, scratch='', echoPrint=OFF, modelPrint=OFF, contactPrint=OFF, historyPrint=OFF)