#BLUNT NOTCH--C3D8R--15 degree-viscosity 0.001 #import modules from abaqus import * import testUtils testUtils.setBackwardCompatibility() from abaqusConstants import * import part, material, section, assembly, step, interaction import regionToolset, displayGroupMdbToolset as dgm, mesh, load, job #create a model--myModel Mdb() modelName = 'BluntNotch' myModel = mdb.Model(name=modelName) #create a new viewport myViewport = session.Viewport(name=modelName) myViewport.makeCurrent() myViewport.maximize() #create the main part--blunt notch sheet--myPart1 #create a sketch for the main part--mySketch mySketch = myModel.Sketch(name='glaresheet',sheetSize=400.0) mySketch.sketchOptions.setValues(viewStyle=REGULAR) mySketch.setPrimaryObject(option=STANDALONE) mySketch.Spot(point=(2.4, 0.0)) mySketch.Spot(point=(0.0, 2.4)) mySketch.ArcByCenterEnds(center=(0.0, 0.0), point1=(2.4, 0.0), point2=(0.0, 2.4), direction=COUNTERCLOCKWISE) mySketch.Spot(point=(150.0, 0.0)) mySketch.Spot(point=(150.0, 25.0)) mySketch.Spot(point=(0.0, 25.0)) mySketch.Line(point1=(2.4, 0.0), point2=(150.0, 0.0)) mySketch.Line(point1=(150.0, 0.0), point2=(150.0, 25.0)) mySketch.Line(point1=(150.0, 25.0), point2=(0.0, 25.0)) mySketch.Line(point1=(0.0, 25.0), point2=(0.0, 2.4)) #sketch completed; to create myPart1 (three dimensional deformable body) myPart1 = myModel.Part(name='Part-1', dimensionality=THREE_D, type=DEFORMABLE_BODY) myPart1.BaseSolidExtrude(sketch=mySketch, depth=0.703) mySketch.unsetPrimaryObject() myViewport.setValues(displayedObject=myPart1) del myModel.sketches['glaresheet'] #create partition #in-plane partition myPart1.DatumPlaneByPrincipalPlane(principalPlane=YZPLANE, offset=10.0) myPart1.DatumPlaneByPrincipalPlane(principalPlane=XZPLANE, offset=10.0) pickedCells = myPart1.cells.findAt((5,5,0.15)) d1 = myPart1.datums myPart1.PartitionCellByDatumPlane(datumPlane=d1[2], cells=pickedCells) pickedCells = myPart1.cells.findAt(((5,5,0.15),),((80,5,0.15),)) d1 = myPart1.datums myPart1.PartitionCellByDatumPlane(datumPlane=d1[3], cells=pickedCells) #through thickness partition myPart1.DatumPlaneByPrincipalPlane(principalPlane=XYPLANE, offset=0.3) myPart1.DatumPlaneByPrincipalPlane(principalPlane=XYPLANE, offset=0.301) myPart1.DatumPlaneByPrincipalPlane(principalPlane=XYPLANE, offset=0.426) myPart1.DatumPlaneByPrincipalPlane(principalPlane=XYPLANE, offset=0.427) myPart1.DatumPlaneByPrincipalPlane(principalPlane=XYPLANE, offset=0.552) myPart1.DatumPlaneByPrincipalPlane(principalPlane=XYPLANE, offset=0.553) #partition 1 pickedCells = myPart1.cells.findAt(((5,5,0.15),),((80,5,0.15),),((5,15,0.15),),((80,15,0.15),)) d1 = myPart1.datums myPart1.PartitionCellByDatumPlane(datumPlane=d1[6], cells=pickedCells) #partition 2 pickedCells = myPart1.cells.findAt(((5,5,0.3005),),((80,5,0.3005),),((5,15,0.3005),),((80,15,0.3005),)) d1 = myPart1.datums myPart1.PartitionCellByDatumPlane(datumPlane=d1[7], cells=pickedCells) #partition 3 pickedCells = myPart1.cells.findAt(((5,5,0.4),),((80,5,0.4),),((5,15,0.4),),((80,15,0.4),)) d1 = myPart1.datums myPart1.PartitionCellByDatumPlane(datumPlane=d1[8], cells=pickedCells) #partition 4 pickedCells = myPart1.cells.findAt(((5,5,0.4265),),((80,5,0.4265),),((5,15,0.4265),),((80,15,0.4265),)) d1 = myPart1.datums myPart1.PartitionCellByDatumPlane(datumPlane=d1[9], cells=pickedCells) #partition 5 pickedCells = myPart1.cells.findAt(((5,5,0.5),),((80,5,0.5),),((5,15,0.5),),((80,15,0.5),)) d1 = myPart1.datums myPart1.PartitionCellByDatumPlane(datumPlane=d1[10], cells=pickedCells) #partition 6 pickedCells = myPart1.cells.findAt(((5,5,0.5525),),((80,5,0.5525),),((5,15,0.5525),),((80,15,0.5525),)) d1 = myPart1.datums myPart1.PartitionCellByDatumPlane(datumPlane=d1[11], cells=pickedCells) #create part-2 single reference node for equation--myPart2 myPart2 = myModel.Part(name='Part-2', dimensionality=THREE_D, type=DEFORMABLE_BODY) myPart2.ReferencePoint(point=(151.0, 0.0, 0.0)) #create material definitions myModel.Material(name='aluminum') myModel.materials['aluminum'].Elastic(table=((73800.0, 0.33), )) myModel.materials['aluminum'].Plastic(table=((300.0, 0.0), ( 320.0, 0.00016), (340.0, 0.00047), (355.0, 0.00119), (375.0, 0.00449), ( 390.0, 0.01036), (410.0, 0.0213), (430.0, 0.03439), (450.0, 0.05133), ( 470.0, 0.08), (484.0, 0.1471))) myModel.Material(name='composite') myModel.materials['composite'].UserMaterial(unsymm=ON, mechanicalConstants=(55000.0, 9500.0, 5500.0, 3000.0, 0.33, 0.45, 2500.0, 2000.0, 50.0, 150.0, 50.0, 1.0, 12.5, 0.001)) myModel.materials['composite'].Depvar(n=10) myModel.Material(name='cohesive') myModel.materials['cohesive'].Elastic(table=((2000.0, 0.33), )) #creating sections myModel.HomogeneousSolidSection(name='aluminum_sec_ext', material='aluminum', thickness=0.3) myModel.HomogeneousSolidSection(name='aluminum_sec_int', material='aluminum', thickness=0.15) myModel.CohesiveSection(name='cohesive_sec_int', material='cohesive', response=TRACTION_SEPARATION, initialThicknessType=SPECIFY, initialThickness=1.0, outOfPlaneThickness=None) myModel.CohesiveSection(name='cohesive_sec_middle', material='cohesive', response=TRACTION_SEPARATION, initialThicknessType=SPECIFY, initialThickness=1.0, outOfPlaneThickness=None) myModel.CohesiveSection(name='cohesive_sec_ext', material='cohesive', response=TRACTION_SEPARATION, initialThicknessType=SPECIFY, initialThickness=1.0, outOfPlaneThickness=None) myModel.HomogeneousSolidSection(name='composite_sec_int', material='composite', thickness=0.125) myModel.HomogeneousSolidSection(name='composite_sec_ext', material='composite', thickness=0.125) #assigning sections myPart1.DatumCsysByThreePoints(name='ori-1', coordSysType=CARTESIAN, origin=(0.0, 0.0, 0.0), point1=(0.0, -1.0, 0.0), point2=(1.0, 0.0, 0.0)) myPart1.DatumCsysByThreePoints(name='ori-2', coordSysType=CARTESIAN, origin=(0.0, 0.0, 0.0), point1=(1.0, 0.0, 0.0), point2=(0.0, 1.0, 0.0)) #aluminum ext cells=myPart1.cells.findAt(((5,5,0.15),),((80,5,0.15),),((80,15,0.15),),((5,15,0.15),)) myPart1.Set(cells=cells,name='aluminum_ext') region=myPart1.sets['aluminum_ext'] myPart1.SectionAssignment(region=region, sectionName='aluminum_sec_ext') #coheisve ext cells=myPart1.cells.findAt(((5,5,0.3005),),((80,5,0.3005),),((80,15,0.3005),),((5,15,0.3005),)) myPart1.Set(cells=cells,name='cohesive_ext') region=myPart1.sets['cohesive_ext'] myPart1.SectionAssignment(region=region, sectionName='cohesive_sec_ext') #composite ext cells=myPart1.cells.findAt(((5,5,0.4),),((80,5,0.4),),((80,15,0.4),),((5,15,0.4),)) myPart1.Set(cells=cells,name='composite_ext') region=myPart1.sets['composite_ext'] myPart1.SectionAssignment(region=region, sectionName='composite_sec_ext') datums=myPart1.datums[18] myPart1.MaterialOrientation(region=region, localCsys=datums, axis=AXIS_3,angle=15) #cohesive middle cells=myPart1.cells.findAt(((5,5,0.4265),),((80,5,0.4265),),((80,15,0.4265),),((5,15,0.4265),)) myPart1.Set(cells=cells,name='cohesive_middle') region=myPart1.sets['cohesive_middle'] myPart1.SectionAssignment(region=region, sectionName='cohesive_sec_middle') #composite int cells=myPart1.cells.findAt(((5,5,0.5),),((80,5,0.5),),((80,15,0.5),),((5,15,0.5),)) myPart1.Set(cells=cells,name='composite_int') region=myPart1.sets['composite_int'] myPart1.SectionAssignment(region=region, sectionName='composite_sec_int') datums=myPart1.datums[19] myPart1.MaterialOrientation(region=region, localCsys=datums, axis=AXIS_3,angle=15) #cohesive int cells=myPart1.cells.findAt(((5,5,0.5525),),((80,5,0.5525),),((80,15,0.5525),),((5,15,0.5525),)) myPart1.Set(cells=cells,name='cohesive_int') region=myPart1.sets['cohesive_int'] myPart1.SectionAssignment(region=region, sectionName='cohesive_sec_int') #aluminum int cells=myPart1.cells.findAt(((5,5,0.6),),((80,5,0.6),),((80,15,0.6),),((5,15,0.6),)) myPart1.Set(cells=cells,name='aluminum_int') region=myPart1.sets['aluminum_int'] myPart1.SectionAssignment(region=region, sectionName='aluminum_sec_int') #create assembly myAssembly = myModel.rootAssembly myViewport.setValues(displayedObject=myAssembly) myAssembly.DatumCsysByDefault(CARTESIAN) myInstance1 = myAssembly.Instance(name='Part-1-1', part=myPart1, dependent=OFF) myInstance2 = myAssembly.Instance(name='Part-2-1', part=myPart2, dependent=OFF) #step module myModel.StaticStep(name='Step-1', previous='Initial', description='uniaxial loading', maxNumInc=1000, initialInc=0.01,timePeriod=0.273, maxInc=0.01, matrixSolver=DIRECT_UNSYMMETRIC, nlgeom=ON) myViewport.assemblyDisplay.setValues(step='Step-1') #load and boundary conditions #xsymm bc faces=myInstance1.faces.findAt(((0,5,0.15),),((0,5,0.3005),),((0,5,0.4),),((0,5,0.4265),),((0,5,0.5),),((0,5,0.5525),),((0,5,0.6),),((0,15,0.15),),((0,15,0.3005),),((0,15,0.4),),((0,15,0.4265),),((0,15,0.5),),((0,15,0.5525),),((0,15,0.6),)) myAssembly.Set(faces=faces,name='x-symm') region=myAssembly.sets['x-symm'] myModel.XsymmBC(name='bc-xsymm', createStepName='Initial', region=region) #ysymm bc faces=myInstance1.faces.findAt(((5,0,0.15),),((5,0,0.3005),),((5,0,0.4),),((5,0,0.4265),),((5,0,0.5),),((5,0,0.5525),),((5,0,0.6),),((8,0,0.15),),((80,0,0.3005),),((80,0,0.4),),((80,0,0.4265),),((80,0,0.5),),((80,0,0.5525),),((80,0,0.6),)) myAssembly.Set(faces=faces,name='y-symm') region=myAssembly.sets['y-symm'] myModel.YsymmBC(name='bc-ysymm', createStepName='Initial', region=region) #zsymm bc faces=myInstance1.faces.findAt(((5,5,0.703),),((80,5,0.703),),((5,15,0.703),),((80,15,0.703),)) myAssembly.Set(faces=faces,name='z-symm') region=myAssembly.sets['z-symm'] myModel.ZsymmBC(name='bc-zsymm', createStepName='Initial', region=region) #displacement bc faces=myInstance1.faces.findAt(((150,5,0.15),),((150,5,0.3005),),((150,5,0.4),),((150,5,0.4265),),((150,5,0.5),),((150,5,0.5525),),((150,5,0.6),),((150,15,0.15),),((150,15,0.3005),),((150,15,0.4),),((150,15,0.4265),),((150,15,0.5),),((150,15,0.5525),),((150,15,0.6),)) myAssembly.Set(faces=faces,name='x-load') r1 = myInstance2.referencePoints.findAt((151.0,0,0)) refPoints1=(r1,) myAssembly.Set(referencePoints = refPoints1, name='x-ref') ##node set for qa test myAssembly.Set(referencePoints = refPoints1, name='QA_TEST_RF') myModel.Equation(name='Constraint-1', terms=((1.0, 'x-load', 1), (-1.0, 'x-ref', 1))) region=myAssembly.sets['x-ref'] myModel.TabularAmplitude(name='disp-amp', timeSpan=TOTAL, smooth=SOLVER_DEFAULT, data=((0.0, 0.0), (1.0, 1.0))) myModel.DisplacementBC(name='xload', createStepName='Step-1', region=region, u1=10.0, u2=UNSET, u3=UNSET, ur1=UNSET, ur2=UNSET, ur3=UNSET, amplitude='disp-amp', fixed=OFF, distributionType=UNIFORM, localCsys=None) #output request #defining assembly level sets for output request #aluminum ext cells=myInstance1.cells.findAt(((5,5,0.15),),((80,5,0.15),),((80,15,0.15),),((5,15,0.15),)) myAssembly.Set(cells=cells,name='aluminum_ext') #coheisve ext cells=myInstance1.cells.findAt(((5,5,0.3005),),((80,5,0.3005),),((80,15,0.3005),),((5,15,0.3005),)) myAssembly.Set(cells=cells,name='cohesive_ext') #composite ext cells=myInstance1.cells.findAt(((5,5,0.4),),((80,5,0.4),),((80,15,0.4),),((5,15,0.4),)) myAssembly.Set(cells=cells,name='composite_ext') #cohesive middle cells=myInstance1.cells.findAt(((5,5,0.4265),),((80,5,0.4265),),((80,15,0.4265),),((5,15,0.4265),)) myAssembly.Set(cells=cells,name='cohesive_middle') #composite int cells=myInstance1.cells.findAt(((5,5,0.5),),((80,5,0.5),),((80,15,0.5),),((5,15,0.5),)) myAssembly.Set(cells=cells,name='composite_int') #cohesive int cells=myInstance1.cells.findAt(((5,5,0.5525),),((80,5,0.5525),),((80,15,0.5525),),((5,15,0.5525),)) myAssembly.Set(cells=cells,name='cohesive_int') #aluminum int cells=myInstance1.cells.findAt(((5,5,0.6),),((80,5,0.6),),((80,15,0.6),),((5,15,0.6),)) myAssembly.Set(cells=cells,name='aluminum_int') #output request myModel.fieldOutputRequests['F-Output-1'].setValues( variables=('S', 'LE', 'U', 'RF')) regionDef=myAssembly.sets['aluminum_ext'] myModel.FieldOutputRequest(name='F-Output-2', createStepName='Step-1', variables=('PEEQ', 'PE'), region=regionDef, sectionPoints=DEFAULT, rebar=EXCLUDE) regionDef=myAssembly.sets['aluminum_int'] myModel.FieldOutputRequest(name='F-Output-3', createStepName='Step-1', variables=('PEEQ', 'PE'), region=regionDef, sectionPoints=DEFAULT, rebar=EXCLUDE) regionDef=myAssembly.sets['cohesive_ext'] myModel.FieldOutputRequest(name='F-Output-4', createStepName='Step-1', variables=('SDEG', 'NE'), region=regionDef, sectionPoints=DEFAULT, rebar=EXCLUDE) regionDef=myAssembly.sets['cohesive_int'] myModel.FieldOutputRequest(name='F-Output-5', createStepName='Step-1', variables=('SDEG', 'NE'), region=regionDef, sectionPoints=DEFAULT, rebar=EXCLUDE) regionDef=myAssembly.sets['cohesive_middle'] myModel.FieldOutputRequest(name='F-Output-6', createStepName='Step-1', variables=('SDEG', 'NE'), region=regionDef, sectionPoints=DEFAULT, rebar=EXCLUDE) regionDef=myAssembly.sets['composite_ext'] myModel.FieldOutputRequest(name='F-Output-7', createStepName='Step-1', variables=('SDV', 'STH'), region=regionDef, sectionPoints=DEFAULT, rebar=EXCLUDE) regionDef=myAssembly.sets['composite_int'] myModel.FieldOutputRequest(name='F-Output-8', createStepName='Step-1', variables=('SDV', 'STH'), region=regionDef, sectionPoints=DEFAULT, rebar=EXCLUDE) myModel.historyOutputRequests['H-Output-1'].setValues( frequency=10) regionDef=myAssembly.sets['x-ref'] myModel.HistoryOutputRequest(name='H-Output-2', createStepName='Step-1', variables=('U1', 'RF1'), region=regionDef, sectionPoints=DEFAULT, rebar=EXCLUDE) regionDef=myAssembly.sets['QA_TEST_RF'] myModel.HistoryOutputRequest(name='H-Output-3', createStepName='Step-1', variables=('RF1', ), frequency=10, region=regionDef, sectionPoints=DEFAULT, rebar=EXCLUDE) #mesh #seed #biased edge 1 e1 = myInstance1.edges.findAt(((0,11,0),)) myAssembly.seedEdgeByBias(end2Edges=e1, ratio=3.0, number=6) e1 = myInstance1.edges.findAt(((0,11,0.3),)) myAssembly.seedEdgeByBias(end2Edges=e1, ratio=3.0, number=6) e1 = myInstance1.edges.findAt(((0,11,0.301),)) myAssembly.seedEdgeByBias(end2Edges=e1, ratio=3.0, number=6) e1 = myInstance1.edges.findAt(((0,11,0.426),)) myAssembly.seedEdgeByBias(end2Edges=e1, ratio=3.0, number=6) e1 = myInstance1.edges.findAt(((0,11,0.427),)) myAssembly.seedEdgeByBias(end2Edges=e1, ratio=3.0, number=6) e1 = myInstance1.edges.findAt(((0,11,0.552),)) myAssembly.seedEdgeByBias(end2Edges=e1, ratio=3.0, number=6) e1 = myInstance1.edges.findAt(((0,11,0.553),)) myAssembly.seedEdgeByBias(end2Edges=e1, ratio=3.0, number=6) e1 = myInstance1.edges.findAt(((0,11,0.703),)) myAssembly.seedEdgeByBias(end1Edges=e1, ratio=3.0, number=6) #biased edge 2 e1 = myInstance1.edges.findAt(((10,11,0),)) myAssembly.seedEdgeByBias(end1Edges=e1, ratio=3.0, number=6) e1 = myInstance1.edges.findAt(((10,11,0.3),)) myAssembly.seedEdgeByBias(end1Edges=e1, ratio=3.0, number=6) e1 = myInstance1.edges.findAt(((10,11,0.301),)) myAssembly.seedEdgeByBias(end1Edges=e1, ratio=3.0, number=6) e1 = myInstance1.edges.findAt(((10,11,0.426),)) myAssembly.seedEdgeByBias(end1Edges=e1, ratio=3.0, number=6) e1 = myInstance1.edges.findAt(((10,11,0.427),)) myAssembly.seedEdgeByBias(end1Edges=e1, ratio=3.0, number=6) e1 = myInstance1.edges.findAt(((10,11,0.552),)) myAssembly.seedEdgeByBias(end1Edges=e1, ratio=3.0, number=6) e1 = myInstance1.edges.findAt(((10,11,0.553),)) myAssembly.seedEdgeByBias(end1Edges=e1, ratio=3.0, number=6) e1 = myInstance1.edges.findAt(((10,11,0.703),)) myAssembly.seedEdgeByBias(end2Edges=e1, ratio=3.0, number=6) #biased edge 3 e1 = myInstance1.edges.findAt(((150,11,0),)) myAssembly.seedEdgeByBias(end1Edges=e1, ratio=3.0, number=6) e1 = myInstance1.edges.findAt(((150,11,0.3),)) myAssembly.seedEdgeByBias(end1Edges=e1, ratio=3.0, number=6) e1 = myInstance1.edges.findAt(((150,11,0.301),)) myAssembly.seedEdgeByBias(end1Edges=e1, ratio=3.0, number=6) e1 = myInstance1.edges.findAt(((150,11,0.426),)) myAssembly.seedEdgeByBias(end1Edges=e1, ratio=3.0, number=6) e1 = myInstance1.edges.findAt(((150,11,0.427),)) myAssembly.seedEdgeByBias(end1Edges=e1, ratio=3.0, number=6) e1 = myInstance1.edges.findAt(((150,11,0.552),)) myAssembly.seedEdgeByBias(end1Edges=e1, ratio=3.0, number=6) e1 = myInstance1.edges.findAt(((150,11,0.553),)) myAssembly.seedEdgeByBias(end1Edges=e1, ratio=3.0, number=6) e1 = myInstance1.edges.findAt(((150,11,0.703),)) myAssembly.seedEdgeByBias(end2Edges=e1, ratio=3.0, number=6) #uniform seeding vertical edge 1 e1 = myInstance1.edges.findAt(((0,2.5,0.0),)) myAssembly.seedEdgeByNumber(edges=e1, number=15) e1 = myInstance1.edges.findAt(((0,2.5,0.3),)) myAssembly.seedEdgeByNumber(edges=e1, number=15) e1 = myInstance1.edges.findAt(((0,2.5,0.301),)) myAssembly.seedEdgeByNumber(edges=e1, number=15) e1 = myInstance1.edges.findAt(((0,2.5,0.426),)) myAssembly.seedEdgeByNumber(edges=e1, number=15) e1 = myInstance1.edges.findAt(((0,2.5,0.427),)) myAssembly.seedEdgeByNumber(edges=e1, number=15) e1 = myInstance1.edges.findAt(((0,2.5,0.552),)) myAssembly.seedEdgeByNumber(edges=e1, number=15) e1 = myInstance1.edges.findAt(((0,2.5,0.553),)) myAssembly.seedEdgeByNumber(edges=e1, number=15) e1 = myInstance1.edges.findAt(((0,2.5,0.703),)) myAssembly.seedEdgeByNumber(edges=e1, number=15) #uniform seeding vertical edge 2 e1 = myInstance1.edges.findAt(((10,2.5,0.0),)) myAssembly.seedEdgeByNumber(edges=e1, number=15) e1 = myInstance1.edges.findAt(((10,2.5,0.3),)) myAssembly.seedEdgeByNumber(edges=e1, number=15) e1 = myInstance1.edges.findAt(((10,2.5,0.301),)) myAssembly.seedEdgeByNumber(edges=e1, number=15) e1 = myInstance1.edges.findAt(((10,2.5,0.426),)) myAssembly.seedEdgeByNumber(edges=e1, number=15) e1 = myInstance1.edges.findAt(((10,2.5,0.427),)) myAssembly.seedEdgeByNumber(edges=e1, number=15) e1 = myInstance1.edges.findAt(((10,2.5,0.552),)) myAssembly.seedEdgeByNumber(edges=e1, number=15) e1 = myInstance1.edges.findAt(((10,2.5,0.553),)) myAssembly.seedEdgeByNumber(edges=e1, number=15) e1 = myInstance1.edges.findAt(((10,2.5,0.703),)) myAssembly.seedEdgeByNumber(edges=e1, number=15) #uniform seeding vertical edge 3 e1 = myInstance1.edges.findAt(((150,2.5,0.0),)) myAssembly.seedEdgeByNumber(edges=e1, number=15) e1 = myInstance1.edges.findAt(((150,2.5,0.3),)) myAssembly.seedEdgeByNumber(edges=e1, number=15) e1 = myInstance1.edges.findAt(((150,2.5,0.301),)) myAssembly.seedEdgeByNumber(edges=e1, number=15) e1 = myInstance1.edges.findAt(((150,2.5,0.426),)) myAssembly.seedEdgeByNumber(edges=e1, number=15) e1 = myInstance1.edges.findAt(((150,2.5,0.427),)) myAssembly.seedEdgeByNumber(edges=e1, number=15) e1 = myInstance1.edges.findAt(((150,2.5,0.552),)) myAssembly.seedEdgeByNumber(edges=e1, number=15) e1 = myInstance1.edges.findAt(((150,2.5,0.553),)) myAssembly.seedEdgeByNumber(edges=e1, number=15) e1 = myInstance1.edges.findAt(((150,2.5,0.703),)) myAssembly.seedEdgeByNumber(edges=e1, number=15) #uniform seeding horizontal edge 1 e1 = myInstance1.edges.findAt(((5,0,0.0),)) myAssembly.seedEdgeByNumber(edges=e1, number=15) e1 = myInstance1.edges.findAt(((5,0,0.3),)) myAssembly.seedEdgeByNumber(edges=e1, number=15) e1 = myInstance1.edges.findAt(((5,0,0.301),)) myAssembly.seedEdgeByNumber(edges=e1, number=15) e1 = myInstance1.edges.findAt(((5,0,0.426),)) myAssembly.seedEdgeByNumber(edges=e1, number=15) e1 = myInstance1.edges.findAt(((5,0,0.427),)) myAssembly.seedEdgeByNumber(edges=e1, number=15) e1 = myInstance1.edges.findAt(((5,0,0.552),)) myAssembly.seedEdgeByNumber(edges=e1, number=15) e1 = myInstance1.edges.findAt(((5,0,0.553),)) myAssembly.seedEdgeByNumber(edges=e1, number=15) e1 = myInstance1.edges.findAt(((5,0,0.703),)) myAssembly.seedEdgeByNumber(edges=e1, number=15) #uniform seeding horizontal edge 2 e1 = myInstance1.edges.findAt(((5,10,0.0),)) myAssembly.seedEdgeByNumber(edges=e1, number=15) e1 = myInstance1.edges.findAt(((5,10,0.3),)) myAssembly.seedEdgeByNumber(edges=e1, number=15) e1 = myInstance1.edges.findAt(((5,10,0.301),)) myAssembly.seedEdgeByNumber(edges=e1, number=15) e1 = myInstance1.edges.findAt(((5,10,0.426),)) myAssembly.seedEdgeByNumber(edges=e1, number=15) e1 = myInstance1.edges.findAt(((5,10,0.427),)) myAssembly.seedEdgeByNumber(edges=e1, number=15) e1 = myInstance1.edges.findAt(((5,10,0.552),)) myAssembly.seedEdgeByNumber(edges=e1, number=15) e1 = myInstance1.edges.findAt(((5,10,0.553),)) myAssembly.seedEdgeByNumber(edges=e1, number=15) e1 = myInstance1.edges.findAt(((5,10,0.703),)) myAssembly.seedEdgeByNumber(edges=e1, number=15) #uniform seeding horizontal edge 3 e1 = myInstance1.edges.findAt(((5,25,0.0),)) myAssembly.seedEdgeByNumber(edges=e1, number=15) e1 = myInstance1.edges.findAt(((5,25,0.3),)) myAssembly.seedEdgeByNumber(edges=e1, number=15) e1 = myInstance1.edges.findAt(((5,25,0.301),)) myAssembly.seedEdgeByNumber(edges=e1, number=15) e1 = myInstance1.edges.findAt(((5,25,0.426),)) myAssembly.seedEdgeByNumber(edges=e1, number=15) e1 = myInstance1.edges.findAt(((5,25,0.427),)) myAssembly.seedEdgeByNumber(edges=e1, number=15) e1 = myInstance1.edges.findAt(((5,25,0.552),)) myAssembly.seedEdgeByNumber(edges=e1, number=15) e1 = myInstance1.edges.findAt(((5,25,0.553),)) myAssembly.seedEdgeByNumber(edges=e1, number=15) e1 = myInstance1.edges.findAt(((5,25,0.703),)) myAssembly.seedEdgeByNumber(edges=e1, number=15) #uniform seeding horizontal edge 4 e1 = myInstance1.edges.findAt(((12,0,0.0),)) myAssembly.seedEdgeByNumber(edges=e1, number=52) e1 = myInstance1.edges.findAt(((12,0,0.3),)) myAssembly.seedEdgeByNumber(edges=e1, number=52) e1 = myInstance1.edges.findAt(((12,0,0.301),)) myAssembly.seedEdgeByNumber(edges=e1, number=52) e1 = myInstance1.edges.findAt(((12,0,0.426),)) myAssembly.seedEdgeByNumber(edges=e1, number=52) e1 = myInstance1.edges.findAt(((12,0,0.427),)) myAssembly.seedEdgeByNumber(edges=e1, number=52) e1 = myInstance1.edges.findAt(((12,0,0.552),)) myAssembly.seedEdgeByNumber(edges=e1, number=52) e1 = myInstance1.edges.findAt(((12,0,0.553),)) myAssembly.seedEdgeByNumber(edges=e1, number=52) e1 = myInstance1.edges.findAt(((12,0,0.703),)) myAssembly.seedEdgeByNumber(edges=e1, number=52) #uniform seeding horizontal edge 5 e1 = myInstance1.edges.findAt(((12,10,0.0),)) myAssembly.seedEdgeByNumber(edges=e1, number=52) e1 = myInstance1.edges.findAt(((12,10,0.3),)) myAssembly.seedEdgeByNumber(edges=e1, number=52) e1 = myInstance1.edges.findAt(((12,10,0.301),)) myAssembly.seedEdgeByNumber(edges=e1, number=52) e1 = myInstance1.edges.findAt(((12,10,0.426),)) myAssembly.seedEdgeByNumber(edges=e1, number=52) e1 = myInstance1.edges.findAt(((12,10,0.427),)) myAssembly.seedEdgeByNumber(edges=e1, number=52) e1 = myInstance1.edges.findAt(((12,10,0.552),)) myAssembly.seedEdgeByNumber(edges=e1, number=52) e1 = myInstance1.edges.findAt(((12,10,0.553),)) myAssembly.seedEdgeByNumber(edges=e1, number=52) e1 = myInstance1.edges.findAt(((12,10,0.703),)) myAssembly.seedEdgeByNumber(edges=e1, number=52) #uniform seeding horizontal edge 6 e1 = myInstance1.edges.findAt(((12,25,0.0),)) myAssembly.seedEdgeByNumber(edges=e1, number=52) e1 = myInstance1.edges.findAt(((12,25,0.3),)) myAssembly.seedEdgeByNumber(edges=e1, number=52) e1 = myInstance1.edges.findAt(((12,25,0.301),)) myAssembly.seedEdgeByNumber(edges=e1, number=52) e1 = myInstance1.edges.findAt(((12,25,0.426),)) myAssembly.seedEdgeByNumber(edges=e1, number=52) e1 = myInstance1.edges.findAt(((12,25,0.427),)) myAssembly.seedEdgeByNumber(edges=e1, number=52) e1 = myInstance1.edges.findAt(((12,25,0.552),)) myAssembly.seedEdgeByNumber(edges=e1, number=52) e1 = myInstance1.edges.findAt(((12,25,0.553),)) myAssembly.seedEdgeByNumber(edges=e1, number=52) e1 = myInstance1.edges.findAt(((12,25,0.703),)) myAssembly.seedEdgeByNumber(edges=e1, number=52) #uniform seeding acr e1 = myInstance1.edges.findAt(((1.697056,1.697056,0.0),)) myAssembly.seedEdgeByNumber(edges=e1, number=15) e1 = myInstance1.edges.findAt(((1.697056,1.697056,0.3),)) myAssembly.seedEdgeByNumber(edges=e1, number=15) e1 = myInstance1.edges.findAt(((1.697056,1.697056,0.301),)) myAssembly.seedEdgeByNumber(edges=e1, number=15) e1 = myInstance1.edges.findAt(((1.697056,1.697056,0.426),)) myAssembly.seedEdgeByNumber(edges=e1, number=15) e1 = myInstance1.edges.findAt(((1.697056,1.697056,0.427),)) myAssembly.seedEdgeByNumber(edges=e1, number=15) e1 = myInstance1.edges.findAt(((1.697056,1.697056,0.552),)) myAssembly.seedEdgeByNumber(edges=e1, number=15) e1 = myInstance1.edges.findAt(((1.697056,1.697056,0.553),)) myAssembly.seedEdgeByNumber(edges=e1, number=15) e1 = myInstance1.edges.findAt(((1.697056,1.697056,0.703),)) myAssembly.seedEdgeByNumber(edges=e1, number=15) #control 1 element through the thickness for each layer #through thickness edge 1 e1 = myInstance1.edges.findAt(((0,2.4,0.15),)) myAssembly.seedEdgeByNumber(edges=e1, number=1, constraint=FIXED) e1 = myInstance1.edges.findAt(((0,2.4,0.3005),)) myAssembly.seedEdgeByNumber(edges=e1, number=1, constraint=FIXED) e1 = myInstance1.edges.findAt(((0,2.4,0.4),)) myAssembly.seedEdgeByNumber(edges=e1, number=1, constraint=FIXED) e1 = myInstance1.edges.findAt(((0,2.4,0.4265),)) myAssembly.seedEdgeByNumber(edges=e1, number=1, constraint=FIXED) e1 = myInstance1.edges.findAt(((0,2.4,0.5),)) myAssembly.seedEdgeByNumber(edges=e1, number=1, constraint=FIXED) e1 = myInstance1.edges.findAt(((0,2.4,0.6),)) myAssembly.seedEdgeByNumber(edges=e1, number=1, constraint=FIXED) #through thickness edge 2 e1 = myInstance1.edges.findAt(((0,10,0.15),)) myAssembly.seedEdgeByNumber(edges=e1, number=1, constraint=FIXED) e1 = myInstance1.edges.findAt(((0,10,0.3005),)) myAssembly.seedEdgeByNumber(edges=e1, number=1, constraint=FIXED) e1 = myInstance1.edges.findAt(((0,10,0.4),)) myAssembly.seedEdgeByNumber(edges=e1, number=1, constraint=FIXED) e1 = myInstance1.edges.findAt(((0,10,0.4265),)) myAssembly.seedEdgeByNumber(edges=e1, number=1, constraint=FIXED) e1 = myInstance1.edges.findAt(((0,10,0.5),)) myAssembly.seedEdgeByNumber(edges=e1, number=1, constraint=FIXED) e1 = myInstance1.edges.findAt(((0,10,0.6),)) myAssembly.seedEdgeByNumber(edges=e1, number=1, constraint=FIXED) #through thickness edge 3 e1 = myInstance1.edges.findAt(((0,25,0.15),)) myAssembly.seedEdgeByNumber(edges=e1, number=1, constraint=FIXED) e1 = myInstance1.edges.findAt(((0,25,0.3005),)) myAssembly.seedEdgeByNumber(edges=e1, number=1, constraint=FIXED) e1 = myInstance1.edges.findAt(((0,25,0.4),)) myAssembly.seedEdgeByNumber(edges=e1, number=1, constraint=FIXED) e1 = myInstance1.edges.findAt(((0,25,0.4265),)) myAssembly.seedEdgeByNumber(edges=e1, number=1, constraint=FIXED) e1 = myInstance1.edges.findAt(((0,25,0.5),)) myAssembly.seedEdgeByNumber(edges=e1, number=1, constraint=FIXED) e1 = myInstance1.edges.findAt(((0,25,0.6),)) myAssembly.seedEdgeByNumber(edges=e1, number=1, constraint=FIXED) #through thickness edge 4 e1 = myInstance1.edges.findAt(((2.4,0,0.15),)) myAssembly.seedEdgeByNumber(edges=e1, number=1, constraint=FIXED) e1 = myInstance1.edges.findAt(((2.4,0,0.3005),)) myAssembly.seedEdgeByNumber(edges=e1, number=1, constraint=FIXED) e1 = myInstance1.edges.findAt(((2.4,0,0.4),)) myAssembly.seedEdgeByNumber(edges=e1, number=1, constraint=FIXED) e1 = myInstance1.edges.findAt(((2.4,0,0.4265),)) myAssembly.seedEdgeByNumber(edges=e1, number=1, constraint=FIXED) e1 = myInstance1.edges.findAt(((2.4,0,0.5),)) myAssembly.seedEdgeByNumber(edges=e1, number=1, constraint=FIXED) e1 = myInstance1.edges.findAt(((2.4,0,0.6),)) myAssembly.seedEdgeByNumber(edges=e1, number=1, constraint=FIXED) #through thickness edge 5 e1 = myInstance1.edges.findAt(((10,0,0.15),)) myAssembly.seedEdgeByNumber(edges=e1, number=1, constraint=FIXED) e1 = myInstance1.edges.findAt(((10,0,0.3005),)) myAssembly.seedEdgeByNumber(edges=e1, number=1, constraint=FIXED) e1 = myInstance1.edges.findAt(((10,0,0.4),)) myAssembly.seedEdgeByNumber(edges=e1, number=1, constraint=FIXED) e1 = myInstance1.edges.findAt(((10,0,0.4265),)) myAssembly.seedEdgeByNumber(edges=e1, number=1, constraint=FIXED) e1 = myInstance1.edges.findAt(((10,0,0.5),)) myAssembly.seedEdgeByNumber(edges=e1, number=1, constraint=FIXED) e1 = myInstance1.edges.findAt(((10,0,0.6),)) myAssembly.seedEdgeByNumber(edges=e1, number=1, constraint=FIXED) #through thickness edge 6 e1 = myInstance1.edges.findAt(((10,10,0.15),)) myAssembly.seedEdgeByNumber(edges=e1, number=1, constraint=FIXED) e1 = myInstance1.edges.findAt(((10,10,0.3005),)) myAssembly.seedEdgeByNumber(edges=e1, number=1, constraint=FIXED) e1 = myInstance1.edges.findAt(((10,10,0.4),)) myAssembly.seedEdgeByNumber(edges=e1, number=1, constraint=FIXED) e1 = myInstance1.edges.findAt(((10,10,0.4265),)) myAssembly.seedEdgeByNumber(edges=e1, number=1, constraint=FIXED) e1 = myInstance1.edges.findAt(((10,10,0.5),)) myAssembly.seedEdgeByNumber(edges=e1, number=1, constraint=FIXED) e1 = myInstance1.edges.findAt(((10,10,0.6),)) myAssembly.seedEdgeByNumber(edges=e1, number=1, constraint=FIXED) #through thickness edge 7 e1 = myInstance1.edges.findAt(((10,25,0.15),)) myAssembly.seedEdgeByNumber(edges=e1, number=1, constraint=FIXED) e1 = myInstance1.edges.findAt(((10,25,0.3005),)) myAssembly.seedEdgeByNumber(edges=e1, number=1, constraint=FIXED) e1 = myInstance1.edges.findAt(((10,25,0.4),)) myAssembly.seedEdgeByNumber(edges=e1, number=1, constraint=FIXED) e1 = myInstance1.edges.findAt(((10,25,0.4265),)) myAssembly.seedEdgeByNumber(edges=e1, number=1, constraint=FIXED) e1 = myInstance1.edges.findAt(((10,25,0.5),)) myAssembly.seedEdgeByNumber(edges=e1, number=1, constraint=FIXED) e1 = myInstance1.edges.findAt(((10,25,0.6),)) myAssembly.seedEdgeByNumber(edges=e1, number=1, constraint=FIXED) #through thickness edge 8 e1 = myInstance1.edges.findAt(((150,0,0.15),)) myAssembly.seedEdgeByNumber(edges=e1, number=1, constraint=FIXED) e1 = myInstance1.edges.findAt(((150,0,0.3005),)) myAssembly.seedEdgeByNumber(edges=e1, number=1, constraint=FIXED) e1 = myInstance1.edges.findAt(((150,0,0.4),)) myAssembly.seedEdgeByNumber(edges=e1, number=1, constraint=FIXED) e1 = myInstance1.edges.findAt(((150,0,0.4265),)) myAssembly.seedEdgeByNumber(edges=e1, number=1, constraint=FIXED) e1 = myInstance1.edges.findAt(((150,0,0.5),)) myAssembly.seedEdgeByNumber(edges=e1, number=1, constraint=FIXED) e1 = myInstance1.edges.findAt(((150,0,0.6),)) myAssembly.seedEdgeByNumber(edges=e1, number=1, constraint=FIXED) #through thickness edge 9 e1 = myInstance1.edges.findAt(((150,10,0.15),)) myAssembly.seedEdgeByNumber(edges=e1, number=1, constraint=FIXED) e1 = myInstance1.edges.findAt(((150,10,0.3005),)) myAssembly.seedEdgeByNumber(edges=e1, number=1, constraint=FIXED) e1 = myInstance1.edges.findAt(((150,10,0.4),)) myAssembly.seedEdgeByNumber(edges=e1, number=1, constraint=FIXED) e1 = myInstance1.edges.findAt(((150,10,0.4265),)) myAssembly.seedEdgeByNumber(edges=e1, number=1, constraint=FIXED) e1 = myInstance1.edges.findAt(((150,10,0.5),)) myAssembly.seedEdgeByNumber(edges=e1, number=1, constraint=FIXED) e1 = myInstance1.edges.findAt(((150,10,0.6),)) myAssembly.seedEdgeByNumber(edges=e1, number=1, constraint=FIXED) #through thickness edge 10 e1 = myInstance1.edges.findAt(((150,25,0.15),)) myAssembly.seedEdgeByNumber(edges=e1, number=1, constraint=FIXED) e1 = myInstance1.edges.findAt(((150,25,0.3005),)) myAssembly.seedEdgeByNumber(edges=e1, number=1, constraint=FIXED) e1 = myInstance1.edges.findAt(((150,25,0.4),)) myAssembly.seedEdgeByNumber(edges=e1, number=1, constraint=FIXED) e1 = myInstance1.edges.findAt(((150,25,0.4265),)) myAssembly.seedEdgeByNumber(edges=e1, number=1, constraint=FIXED) e1 = myInstance1.edges.findAt(((150,25,0.5),)) myAssembly.seedEdgeByNumber(edges=e1, number=1, constraint=FIXED) e1 = myInstance1.edges.findAt(((150,25,0.6),)) myAssembly.seedEdgeByNumber(edges=e1, number=1, constraint=FIXED) #mesh control-sweep to all regions cells=myInstance1.cells.findAt(((5,5,0.15),),((80,5,0.15),),((80,15,0.15),),((5,15,0.15),),((5,5,0.3005),),((80,5,0.3005),),((80,15,0.3005),),((5,15,0.3005),),((5,5,0.4),),((80,5,0.4),),((80,15,0.4),),((5,15,0.4),),((5,5,0.4265),),((80,5,0.4265),),((80,15,0.4265),),((5,15,0.4265),),((5,5,0.5),),((80,5,0.5),),((80,15,0.5),),((5,15,0.5),),((5,5,0.5525),),((80,5,0.5525),),((80,15,0.5525),),((5,15,0.5525),),((5,5,0.6),),((80,5,0.6),),((80,15,0.6),),((5,15,0.6),)) myAssembly.setMeshControls(regions=cells, technique=SWEEP, algorithm=MEDIAL_AXIS) #mesh type #aluminum ext elemType1 = mesh.ElemType(elemCode=C3D8I, elemLibrary=STANDARD) elemType2 = mesh.ElemType(elemCode=C3D6, elemLibrary=STANDARD) elemType3 = mesh.ElemType(elemCode=C3D4, elemLibrary=STANDARD) cells=myInstance1.cells.findAt(((5,5,0.15),),((80,5,0.15),),((80,15,0.15),),((5,15,0.15),)) pickedRegions=(cells,) myAssembly.setElementType(regions=pickedRegions, elemTypes=(elemType1, elemType2, elemType3)) #coheisve ext elemType1 = mesh.ElemType(elemCode=COH3D8, elemLibrary=STANDARD) elemType2 = mesh.ElemType(elemCode=COH3D6, elemLibrary=STANDARD) elemType3 = mesh.ElemType(elemCode=UNKNOWN_TET, elemLibrary=STANDARD) cells=myInstance1.cells.findAt(((5,5,0.3005),),((80,5,0.3005),),((80,15,0.3005),),((5,15,0.3005),)) pickedRegions=(cells,) myAssembly.setElementType(regions=pickedRegions, elemTypes=(elemType1, elemType2, elemType3)) #composite ext elemType1 = mesh.ElemType(elemCode=C3D8R, elemLibrary=STANDARD,hourglassControl=ENHANCED) elemType2 = mesh.ElemType(elemCode=C3D6, elemLibrary=STANDARD) elemType3 = mesh.ElemType(elemCode=C3D4, elemLibrary=STANDARD) cells=myInstance1.cells.findAt(((5,5,0.4),),((80,5,0.4),),((80,15,0.4),),((5,15,0.4),)) pickedRegions=(cells,) myAssembly.setElementType(regions=pickedRegions, elemTypes=(elemType1, elemType2, elemType3)) #cohesive middle elemType1 = mesh.ElemType(elemCode=COH3D8, elemLibrary=STANDARD) elemType2 = mesh.ElemType(elemCode=COH3D6, elemLibrary=STANDARD) elemType3 = mesh.ElemType(elemCode=UNKNOWN_TET, elemLibrary=STANDARD) cells=myInstance1.cells.findAt(((5,5,0.4265),),((80,5,0.4265),),((80,15,0.4265),),((5,15,0.4265),)) pickedRegions=(cells,) myAssembly.setElementType(regions=pickedRegions, elemTypes=(elemType1, elemType2, elemType3)) #composite int elemType1 = mesh.ElemType(elemCode=C3D8R, elemLibrary=STANDARD,hourglassControl=ENHANCED) elemType2 = mesh.ElemType(elemCode=C3D6, elemLibrary=STANDARD) elemType3 = mesh.ElemType(elemCode=C3D4, elemLibrary=STANDARD) cells=myInstance1.cells.findAt(((5,5,0.5),),((80,5,0.5),),((80,15,0.5),),((5,15,0.5),)) pickedRegions=(cells,) myAssembly.setElementType(regions=pickedRegions, elemTypes=(elemType1, elemType2, elemType3)) #cohesive int elemType1 = mesh.ElemType(elemCode=COH3D8, elemLibrary=STANDARD) elemType2 = mesh.ElemType(elemCode=COH3D6, elemLibrary=STANDARD) elemType3 = mesh.ElemType(elemCode=UNKNOWN_TET, elemLibrary=STANDARD) cells=myInstance1.cells.findAt(((5,5,0.5525),),((80,5,0.5525),),((80,15,0.5525),),((5,15,0.5525),)) pickedRegions=(cells,) myAssembly.setElementType(regions=pickedRegions, elemTypes=(elemType1, elemType2, elemType3)) #aluminum int elemType1 = mesh.ElemType(elemCode=C3D8I, elemLibrary=STANDARD) elemType2 = mesh.ElemType(elemCode=C3D6, elemLibrary=STANDARD) elemType3 = mesh.ElemType(elemCode=C3D4, elemLibrary=STANDARD) cells=myInstance1.cells.findAt(((5,5,0.6),),((80,5,0.6),),((80,15,0.6),),((5,15,0.6),)) pickedRegions=(cells,) myAssembly.setElementType(regions=pickedRegions, elemTypes=(elemType1, elemType2, elemType3)) #adjust the sweep direction,so the stack orientation would be along the sweep direction #1 cells=myInstance1.cells.findAt((5,5,0.15)) edges=myInstance1.edges.findAt((10,10,0.15)) myAssembly.setSweepPath(region=cells, edge=edges, sense=REVERSE) #2 cells=myInstance1.cells.findAt((80,5,0.15)) edges=myInstance1.edges.findAt((10,10,0.15)) myAssembly.setSweepPath(region=cells, edge=edges, sense=REVERSE) #3 cells=myInstance1.cells.findAt((80,15,0.15)) edges=myInstance1.edges.findAt((10,10,0.15)) myAssembly.setSweepPath(region=cells, edge=edges, sense=REVERSE) #4 cells=myInstance1.cells.findAt((5,15,0.15)) edges=myInstance1.edges.findAt((10,10,0.15)) myAssembly.setSweepPath(region=cells, edge=edges, sense=REVERSE) #5 cells=myInstance1.cells.findAt((5,5,0.3005)) edges=myInstance1.edges.findAt((10,10,0.3005)) myAssembly.setSweepPath(region=cells, edge=edges, sense=REVERSE) #6 cells=myInstance1.cells.findAt((80,5,0.3005)) edges=myInstance1.edges.findAt((10,10,0.3005)) myAssembly.setSweepPath(region=cells, edge=edges, sense=REVERSE) #7 cells=myInstance1.cells.findAt((80,15,0.3005)) edges=myInstance1.edges.findAt((10,10,0.3005)) myAssembly.setSweepPath(region=cells, edge=edges, sense=REVERSE) #8 cells=myInstance1.cells.findAt((5,15,0.3005)) edges=myInstance1.edges.findAt((10,10,0.3005)) myAssembly.setSweepPath(region=cells, edge=edges, sense=REVERSE) #9 cells=myInstance1.cells.findAt((5,5,0.4)) edges=myInstance1.edges.findAt((10,10,0.4)) myAssembly.setSweepPath(region=cells, edge=edges, sense=REVERSE) #10 cells=myInstance1.cells.findAt((80,5,0.4)) edges=myInstance1.edges.findAt((10,10,0.4)) myAssembly.setSweepPath(region=cells, edge=edges, sense=REVERSE) #11 cells=myInstance1.cells.findAt((80,15,0.4)) edges=myInstance1.edges.findAt((10,10,0.4)) myAssembly.setSweepPath(region=cells, edge=edges, sense=REVERSE) #12 cells=myInstance1.cells.findAt((5,15,0.4)) edges=myInstance1.edges.findAt((10,10,0.4)) myAssembly.setSweepPath(region=cells, edge=edges, sense=REVERSE) #13 cells=myInstance1.cells.findAt((5,5,0.4265)) edges=myInstance1.edges.findAt((10,10,0.4265)) myAssembly.setSweepPath(region=cells, edge=edges, sense=REVERSE) #14 cells=myInstance1.cells.findAt((80,5,0.4265)) edges=myInstance1.edges.findAt((10,10,0.4265)) myAssembly.setSweepPath(region=cells, edge=edges, sense=REVERSE) #15 cells=myInstance1.cells.findAt((80,15,0.4265)) edges=myInstance1.edges.findAt((10,10,0.4265)) myAssembly.setSweepPath(region=cells, edge=edges, sense=REVERSE) #16 cells=myInstance1.cells.findAt((5,15,0.4265)) edges=myInstance1.edges.findAt((10,10,0.4265)) myAssembly.setSweepPath(region=cells, edge=edges, sense=REVERSE) #17 cells=myInstance1.cells.findAt((5,5,0.5)) edges=myInstance1.edges.findAt((10,10,0.5)) myAssembly.setSweepPath(region=cells, edge=edges, sense=REVERSE) #18 cells=myInstance1.cells.findAt((80,5,0.5)) edges=myInstance1.edges.findAt((10,10,0.5)) myAssembly.setSweepPath(region=cells, edge=edges, sense=REVERSE) #19 cells=myInstance1.cells.findAt((80,15,0.5)) edges=myInstance1.edges.findAt((10,10,0.5)) myAssembly.setSweepPath(region=cells, edge=edges, sense=REVERSE) #20 cells=myInstance1.cells.findAt((5,15,0.5)) edges=myInstance1.edges.findAt((10,10,0.5)) myAssembly.setSweepPath(region=cells, edge=edges, sense=REVERSE) #21 cells=myInstance1.cells.findAt((5,5,0.5525)) edges=myInstance1.edges.findAt((10,10,0.5525)) myAssembly.setSweepPath(region=cells, edge=edges, sense=REVERSE) #22 cells=myInstance1.cells.findAt((80,5,0.5525)) edges=myInstance1.edges.findAt((10,10,0.5525)) myAssembly.setSweepPath(region=cells, edge=edges, sense=REVERSE) #23 cells=myInstance1.cells.findAt((80,15,0.5525)) edges=myInstance1.edges.findAt((10,10,0.5525)) myAssembly.setSweepPath(region=cells, edge=edges, sense=REVERSE) #24 cells=myInstance1.cells.findAt((5,15,0.5525)) edges=myInstance1.edges.findAt((10,10,0.5525)) myAssembly.setSweepPath(region=cells, edge=edges, sense=REVERSE) #25 cells=myInstance1.cells.findAt((5,5,0.6)) edges=myInstance1.edges.findAt((10,10,0.6)) myAssembly.setSweepPath(region=cells, edge=edges, sense=REVERSE) #26 cells=myInstance1.cells.findAt((80,5,0.6)) edges=myInstance1.edges.findAt((10,10,0.6)) myAssembly.setSweepPath(region=cells, edge=edges, sense=REVERSE) #27 cells=myInstance1.cells.findAt((80,15,0.6)) edges=myInstance1.edges.findAt((10,10,0.6)) myAssembly.setSweepPath(region=cells, edge=edges, sense=REVERSE) #28 cells=myInstance1.cells.findAt((5,15,0.6)) edges=myInstance1.edges.findAt((10,10,0.6)) myAssembly.setSweepPath(region=cells, edge=edges, sense=REVERSE) #meshing the whole region partInstances=(myInstance1,) myAssembly.generateMesh(regions=partInstances) #edit keyword to change the nonsupported keyword and parameters myModel.keywordBlock.synchVersions() myModel.keywordBlock.replace(86, """ *Elastic,type=traction 2000e3,751.8796992e3,751.8796992e3 *damage initiation,criterion=quade 2.5e-5,6.65e-5,6.65e-5 *damage evolution,type=energy,mixed mode behavior=power,softening=exponential,mode mix ratio=energy,power=2 4,4,4""") #write input file myjob=mdb.Job(name='fml_c3d8r_deg15_vis1_std', model='BluntNotch', type=ANALYSIS, explicitPrecision=SINGLE, nodalOutputPrecision=SINGLE, description='', parallelizationMethodExplicit=DOMAIN, multiprocessingMode=DEFAULT, numDomains=1, userSubroutine='', numCpus=1, scratch='', echoPrint=OFF, modelPrint=OFF, contactPrint=OFF, historyPrint=OFF) mdb.jobs['fml_c3d8r_deg15_vis1_std'].writeInput()