ABAQUS Tutorials
ABAQUS Tutorials
ABAQUS Tutorials
These ABAQUS tutorials are parts of the course Mechanics of Electromechanical Constructions and
Finite Elements (E041200) lectured by Professor Magd Abdel Wahab, Department of Mechanical
Construction and Production, Faculty of Engineering and Architecture, Ghent University.
Q2.5
Start ABAQUS CAE 613
Set Work directory
327
ABAQUS Tutorials
Create model
Module/Part
328
ABAQUS Tutorials
329
ABAQUS Tutorials
Create Section
Choose Beam
Continue
330
ABAQUS Tutorials
Module Assembly
331
ABAQUS Tutorials
Create Instances
Click Create Instance
Part-1
Choose Dependent
OK
332
ABAQUS Tutorials
Description Q2.5
OK
Apply load
Module Load
333
ABAQUS Tutorials
Click on point 1
Done
Define U1, U2, UR3 0
OK
334
ABAQUS Tutorials
Mesh control
Module Mesh
Mesh
Click Mesh Part
Click yes
335
ABAQUS Tutorials
Solution
Module Job
Create Job
Name: Q2_5
Model-1
Continue
336
ABAQUS Tutorials
Description Q2.5
OK
Job Manager
Submit
OK
Monitor solution
337
ABAQUS Tutorials
View results
Open results file
Choose Q2_5.obd
OK
338
ABAQUS Tutorials
Choose U for
displacement
U1 for displacement in the
x-direction
U2 for displacement in the
y-direction
Displacement x-direction
Click Plot Contours on
Deformed Shape
Compare maximum xdisplacement to ANSYS
results and analytical
solution?
Displacement y-direction (repeat same procedures as above; Results/field output choose U2)
Click Plot Contours on
Deformed Shape
Compare maximum ydisplacement to ANSYS
results and analytical
solution?
339
ABAQUS Tutorials
To create a Python code, before you start working in your model, activate Macro Manager:
File
Click Macro Manager
Click create
After finishing your working session, click Stop Recording. A python macro file will be created
abaqusMacros.py under your working directory. Copy and paste the part concerned with your problem
and save in a file Q2_5.py. To run a macro file, click file/Run Script (note that the python code should
be in your Work Directory).
File
Click Run Script
Choose Q2_5.py
340
ABAQUS Tutorials
341
ABAQUS Tutorials
p = mdb.models['Model-1'].parts['Part-1']
p.assignBeamSectionOrientation(region=region, method=N1_COSINES, n1=(0.0, 0.0,
-1.0))
a = mdb.models['Model-1'].rootAssembly
session.viewports['Viewport: 1'].setValues(displayedObject=a)
session.viewports['Viewport: 1'].assemblyDisplay.setValues(
optimizationTasks=OFF, geometricRestrictions=OFF, stopConditions=OFF)
a = mdb.models['Model-1'].rootAssembly
a.DatumCsysByDefault(CARTESIAN)
p = mdb.models['Model-1'].parts['Part-1']
a.Instance(name='Part-1-1', part=p, dependent=ON)
session.viewports['Viewport: 1'].assemblyDisplay.setValues(
adaptiveMeshConstraints=ON)
mdb.models['Model-1'].StaticStep(name='Step-1', previous='Initial',
description='Q2.5')
session.viewports['Viewport: 1'].assemblyDisplay.setValues(step='Step-1')
session.viewports['Viewport: 1'].assemblyDisplay.setValues(loads=ON, bcs=ON,
predefinedFields=ON, connectors=ON, adaptiveMeshConstraints=OFF)
a = mdb.models['Model-1'].rootAssembly
v1 = a.instances['Part-1-1'].vertices
verts1 = v1.getSequenceFromMask(mask=('[#2 ]', ), )
region = a.Set(vertices=verts1, name='Set-1')
mdb.models['Model-1'].ConcentratedForce(name='Load-1', createStepName='Step-1',
region=region, cf2=10000.0, distributionType=UNIFORM, field='',
localCsys=None)
a = mdb.models['Model-1'].rootAssembly
v1 = a.instances['Part-1-1'].vertices
verts1 = v1.getSequenceFromMask(mask=('[#1 ]', ), )
region = a.Set(vertices=verts1, name='Set-2')
mdb.models['Model-1'].DisplacementBC(name='BC-1', createStepName='Step-1',
region=region, u1=0.0, u2=0.0, ur3=0.0, amplitude=UNSET, fixed=OFF,
distributionType=UNIFORM, fieldName='', localCsys=None)
session.viewports['Viewport: 1'].assemblyDisplay.setValues(mesh=ON, loads=OFF,
bcs=OFF, predefinedFields=OFF, connectors=OFF)
session.viewports['Viewport: 1'].assemblyDisplay.meshOptions.setValues(
meshTechnique=ON)
p = mdb.models['Model-1'].parts['Part-1']
session.viewports['Viewport: 1'].setValues(displayedObject=p)
session.viewports['Viewport: 1'].partDisplay.setValues(sectionAssignments=OFF,
engineeringFeatures=OFF, mesh=ON)
session.viewports['Viewport: 1'].partDisplay.meshOptions.setValues(
meshTechnique=ON)
p = mdb.models['Model-1'].parts['Part-1']
p.seedPart(size=0.01, deviationFactor=0.1, minSizeFactor=0.1)
p = mdb.models['Model-1'].parts['Part-1']
p.generateMesh()
elemType1 = mesh.ElemType(elemCode=B21, elemLibrary=STANDARD)
p = mdb.models['Model-1'].parts['Part-1']
e = p.edges
edges = e.getSequenceFromMask(mask=('[#1 ]', ), )
pickedRegions =(edges, )
p.setElementType(regions=pickedRegions, elemTypes=(elemType1, ))
a1 = mdb.models['Model-1'].rootAssembly
a1.regenerate()
a = mdb.models['Model-1'].rootAssembly
session.viewports['Viewport: 1'].setValues(displayedObject=a)
session.viewports['Viewport: 1'].assemblyDisplay.setValues(mesh=OFF)
session.viewports['Viewport: 1'].assemblyDisplay.meshOptions.setValues(
meshTechnique=OFF)
mdb.Job(name='Q2_5', model='Model-1', description='Q2.5', type=ANALYSIS,
342
ABAQUS Tutorials
Q2.6
Start a new model database as before: File/New Model Database/With standard/Explicit Model
Create Part
Click Create Part
Choose
2D/Deformable/Wire
Approximate size 1.6
Continue
Create line
Click Create Lines
Connected
Enter point 1 a starting
point 0,0
Point 2 an ending point 0,
0.8
Press Esc, then
Click done
343
ABAQUS Tutorials
344
ABAQUS Tutorials
Assembly/Create Instance
Click Create Instance
Part-1 and Part-2
Choose Dependent
OK
345
ABAQUS Tutorials
Create section
Create Section
Choose Beam
Continue
346
ABAQUS Tutorials
347
ABAQUS Tutorials
348
ABAQUS Tutorials
Solution: as before Module Job/ Create Job /Model-1/ Job name: Q2_6/ Continue
Description Q2.6/ OK/ Job Manager/Submit job to solve & Monitor to monitor solution
View results
Open results file as before: File/open Choose Q2_6.obd OK
Plot reaction moment contours
Click results
Field output
Choose RM3 for reaction
moment
OK
349
ABAQUS Tutorials
350
ABAQUS Tutorials
s.VerticalConstraint(entity=g[2], addUndoState=False)
p = mdb.models['Model-1'].Part(name='Part-1', dimensionality=TWO_D_PLANAR,
type=DEFORMABLE_BODY)
p = mdb.models['Model-1'].parts['Part-1']
p.BaseWire(sketch=s)
s.unsetPrimaryObject()
p = mdb.models['Model-1'].parts['Part-1']
session.viewports['Viewport: 1'].setValues(displayedObject=p)
del mdb.models['Model-1'].sketches['__profile__']
s1 = mdb.models['Model-1'].ConstrainedSketch(name='__profile__', sheetSize=1.6)
g, v, d, c = s1.geometry, s1.vertices, s1.dimensions, s1.constraints
s1.setPrimaryObject(option=STANDALONE)
s1.Arc3Points(point1=(0.0, 0.8), point2=(0.4, 1.2), point3=(0.117157, 1.08284))
p = mdb.models['Model-1'].Part(name='Part-2', dimensionality=TWO_D_PLANAR,
type=DEFORMABLE_BODY)
p = mdb.models['Model-1'].parts['Part-2']
p.BaseWire(sketch=s1)
s1.unsetPrimaryObject()
p = mdb.models['Model-1'].parts['Part-2']
session.viewports['Viewport: 1'].setValues(displayedObject=p)
del mdb.models['Model-1'].sketches['__profile__']
a = mdb.models['Model-1'].rootAssembly
session.viewports['Viewport: 1'].setValues(displayedObject=a)
a1 = mdb.models['Model-1'].rootAssembly
a1.DatumCsysByDefault(CARTESIAN)
p = mdb.models['Model-1'].parts['Part-1']
a1.Instance(name='Part-1-1', part=p, dependent=ON)
p = mdb.models['Model-1'].parts['Part-2']
a1.Instance(name='Part-2-1', part=p, dependent=ON)
a1 = mdb.models['Model-1'].rootAssembly
a1.InstanceFromBooleanMerge(name='Part-3', instances=(a1.instances['Part-1-1'],
a1.instances['Part-2-1'], ), originalInstances=SUPPRESS,
mergeNodes=BOUNDARY_ONLY, nodeMergingTolerance=1e-06, domain=BOTH)
session.viewports['Viewport: 1'].partDisplay.setValues(sectionAssignments=ON,
engineeringFeatures=ON)
session.viewports['Viewport: 1'].partDisplay.geometryOptions.setValues(
referenceRepresentation=OFF)
p = mdb.models['Model-1'].parts['Part-2']
session.viewports['Viewport: 1'].setValues(displayedObject=p)
mdb.models['Model-1'].Material(name='Material-1')
mdb.models['Model-1'].materials['Material-1'].Elastic(table=((200000000000.0,
0.3), ))
mdb.models['Model-1'].CircularProfile(name='Profile-1', r=0.1)
mdb.models['Model-1'].BeamSection(name='Section-1',
integration=DURING_ANALYSIS, poissonRatio=0.0, profile='Profile-1',
material='Material-1', temperatureVar=LINEAR,
consistentMassMatrix=False)
p = mdb.models['Model-1'].parts['Part-3']
session.viewports['Viewport: 1'].setValues(displayedObject=p)
p = mdb.models['Model-1'].parts['Part-3']
e = p.edges
edges = e.getSequenceFromMask(mask=('[#3 ]', ), )
region = p.Set(edges=edges, name='Set-1')
p = mdb.models['Model-1'].parts['Part-3']
p.SectionAssignment(region=region, sectionName='Section-1', offset=0.0,
offsetType=MIDDLE_SURFACE, offsetField='',
thicknessAssignment=FROM_SECTION)
p = mdb.models['Model-1'].parts['Part-3']
e = p.edges
edges = e.getSequenceFromMask(mask=('[#3 ]', ), )
351
ABAQUS Tutorials
region=p.Set(edges=edges, name='Set-2')
p = mdb.models['Model-1'].parts['Part-3']
p.assignBeamSectionOrientation(region=region, method=N1_COSINES, n1=(0.0, 0.0,
-1.0))
a1 = mdb.models['Model-1'].rootAssembly
a1.regenerate()
a = mdb.models['Model-1'].rootAssembly
session.viewports['Viewport: 1'].setValues(displayedObject=a)
session.viewports['Viewport: 1'].assemblyDisplay.setValues(
adaptiveMeshConstraints=ON)
mdb.models['Model-1'].StaticStep(name='Step-1', previous='Initial',
description='Q2.6')
session.viewports['Viewport: 1'].assemblyDisplay.setValues(step='Step-1')
session.viewports['Viewport: 1'].assemblyDisplay.setValues(loads=ON, bcs=ON,
predefinedFields=ON, connectors=ON, adaptiveMeshConstraints=OFF)
a = mdb.models['Model-1'].rootAssembly
v1 = a.instances['Part-3-1'].vertices
verts1 = v1.getSequenceFromMask(mask=('[#4 ]', ), )
region = a.Set(vertices=verts1, name='Set-1')
mdb.models['Model-1'].ConcentratedForce(name='Load-1', createStepName='Step-1',
region=region, cf2=-20000.0, distributionType=UNIFORM, field='',
localCsys=None)
session.viewports['Viewport: 1'].view.setValues(nearPlane=2.20515,
farPlane=2.8545, width=2.1229, height=1.32232, viewOffsetX=0.0635753,
viewOffsetY=0.027691)
a = mdb.models['Model-1'].rootAssembly
v1 = a.instances['Part-3-1'].vertices
verts1 = v1.getSequenceFromMask(mask=('[#4 ]', ), )
region = a.Set(vertices=verts1, name='Set-2')
mdb.models['Model-1'].DisplacementBC(name='BC-1', createStepName='Step-1',
region=region, u1=UNSET, u2=UNSET, ur3=0.0, amplitude=UNSET, fixed=OFF,
distributionType=UNIFORM, fieldName='', localCsys=None)
a = mdb.models['Model-1'].rootAssembly
v1 = a.instances['Part-3-1'].vertices
verts1 = v1.getSequenceFromMask(mask=('[#1 ]', ), )
region = a.Set(vertices=verts1, name='Set-3')
mdb.models['Model-1'].DisplacementBC(name='BC-2', createStepName='Step-1',
region=region, u1=0.0, u2=0.0, ur3=0.0, amplitude=UNSET, fixed=OFF,
distributionType=UNIFORM, fieldName='', localCsys=None)
session.viewports['Viewport: 1'].assemblyDisplay.setValues(mesh=ON, loads=OFF,
bcs=OFF, predefinedFields=OFF, connectors=OFF)
session.viewports['Viewport: 1'].assemblyDisplay.meshOptions.setValues(
meshTechnique=ON)
p = mdb.models['Model-1'].parts['Part-3']
session.viewports['Viewport: 1'].setValues(displayedObject=p)
session.viewports['Viewport: 1'].partDisplay.setValues(sectionAssignments=OFF,
engineeringFeatures=OFF, mesh=ON)
session.viewports['Viewport: 1'].partDisplay.meshOptions.setValues(
meshTechnique=ON)
p = mdb.models['Model-1'].parts['Part-3']
p.seedPart(size=0.02, deviationFactor=0.1, minSizeFactor=0.1)
p = mdb.models['Model-1'].parts['Part-3']
p.generateMesh()
elemType1 = mesh.ElemType(elemCode=B21, elemLibrary=STANDARD)
p = mdb.models['Model-1'].parts['Part-3']
e = p.edges
edges = e.getSequenceFromMask(mask=('[#3 ]', ), )
pickedRegions =(edges, )
p.setElementType(regions=pickedRegions, elemTypes=(elemType1, ))
a1 = mdb.models['Model-1'].rootAssembly
352
ABAQUS Tutorials
a1.regenerate()
a = mdb.models['Model-1'].rootAssembly
session.viewports['Viewport: 1'].setValues(displayedObject=a)
session.viewports['Viewport: 1'].assemblyDisplay.setValues(mesh=OFF)
session.viewports['Viewport: 1'].assemblyDisplay.meshOptions.setValues(
meshTechnique=OFF)
mdb.Job(name='Q2_6', model='Model-1', description='Q2.6', type=ANALYSIS,
atTime=None, waitMinutes=0, waitHours=0, queue=None, memory=90,
memoryUnits=PERCENTAGE, getMemoryFromAnalysis=True,
explicitPrecision=SINGLE, nodalOutputPrecision=SINGLE, echoPrint=OFF,
modelPrint=OFF, contactPrint=OFF, historyPrint=OFF, userSubroutine='',
scratch='', multiprocessingMode=DEFAULT, numCpus=1, numGPUs=0)
mdb.jobs['Q2_6'].submit(consistencyChecking=OFF)
Q4.1c
Start a new model: File/New Model Database/With standard/Explicit Model
Create model
Module/Part
Click Create Part
Choose
2D/Deformable/Shell
Approximate size 1000
Continue
353
ABAQUS Tutorials
Create Section
Choose Homogenous
Click Solid
Continue
354
ABAQUS Tutorials
Create Instances
Module Assembly
Click Create Instance
Part-1
Choose Dependent
OK
355
ABAQUS Tutorials
Apply load
Module Load
Click Create Load
Mechanical/ Pressure
Continue
356
ABAQUS Tutorials
Define Magnitude 10
OK
357
ABAQUS Tutorials
Mesh control
Module Mesh
Click Part (Part-1)
Click Seed Part
Specify global size 0.01
OK
Mesh
Click Mesh Part
Click yes
358
ABAQUS Tutorials
Solution
As before Module Job/ Create Job /Model-1/ Job name: Q4_1c/ Continue/ Description Q4.1c/ OK
Job Manager/Submit job to solve & Monitor to monitor solution
View results
Open results file as before: File/open Choose Q4_1c.obd OK
Plot displacement contours in y-direction
Click results (top menu bar)
Field output
Choose U for displacement
U2 for displacement in the ydirection
Click Plot Contours on
Deformed Shape
Compare maximum ydisplacement to ANSYS
results and analytical
solution?
359
ABAQUS Tutorials
360
ABAQUS Tutorials
description='Q4.1c')
session.viewports['Viewport: 1'].assemblyDisplay.setValues(step='Step-1')
session.viewports['Viewport: 1'].assemblyDisplay.setValues(loads=ON, bcs=ON,
predefinedFields=ON, connectors=ON, adaptiveMeshConstraints=OFF)
a = mdb.models['Model-1'].rootAssembly
s1 = a.instances['Part-1-1'].edges
side1Edges1 = s1.getSequenceFromMask(mask=('[#4 ]', ), )
region = a.Surface(side1Edges=side1Edges1, name='Surf-1')
mdb.models['Model-1'].Pressure(name='Load-1', createStepName='Step-1',
region=region, distributionType=UNIFORM, field='', magnitude=10.0,
amplitude=UNSET)
session.viewports['Viewport: 1'].view.setValues(nearPlane=1675.75,
farPlane=1929.8, width=833.478, height=519.158, viewOffsetX=9.43179,
viewOffsetY=15.9545)
a = mdb.models['Model-1'].rootAssembly
v1 = a.instances['Part-1-1'].vertices
verts1 = v1.getSequenceFromMask(mask=('[#1 ]', ), )
region = a.Set(vertices=verts1, name='Set-1')
mdb.models['Model-1'].DisplacementBC(name='BC-1', createStepName='Step-1',
region=region, u1=0.0, u2=0.0, ur3=UNSET, amplitude=UNSET, fixed=OFF,
distributionType=UNIFORM, fieldName='', localCsys=None)
a = mdb.models['Model-1'].rootAssembly
v1 = a.instances['Part-1-1'].vertices
verts1 = v1.getSequenceFromMask(mask=('[#2 ]', ), )
region = a.Set(vertices=verts1, name='Set-2')
mdb.models['Model-1'].DisplacementBC(name='BC-2', createStepName='Step-1',
region=region, u1=UNSET, u2=0.0, ur3=UNSET, amplitude=UNSET, fixed=OFF,
distributionType=UNIFORM, fieldName='', localCsys=None)
session.viewports['Viewport: 1'].assemblyDisplay.setValues(mesh=ON, loads=OFF,
bcs=OFF, predefinedFields=OFF, connectors=OFF)
session.viewports['Viewport: 1'].assemblyDisplay.meshOptions.setValues(
meshTechnique=ON)
p = mdb.models['Model-1'].parts['Part-1']
session.viewports['Viewport: 1'].setValues(displayedObject=p)
session.viewports['Viewport: 1'].partDisplay.setValues(sectionAssignments=OFF,
engineeringFeatures=OFF, mesh=ON)
session.viewports['Viewport: 1'].partDisplay.meshOptions.setValues(
meshTechnique=ON)
p = mdb.models['Model-1'].parts['Part-1']
p.seedPart(size=75.0, deviationFactor=0.1, minSizeFactor=0.1)
p = mdb.models['Model-1'].parts['Part-1']
p.generateMesh()
elemType1 = mesh.ElemType(elemCode=CPS8R, elemLibrary=STANDARD)
elemType2 = mesh.ElemType(elemCode=CPS6M, elemLibrary=STANDARD)
p = mdb.models['Model-1'].parts['Part-1']
f = p.faces
faces = f.getSequenceFromMask(mask=('[#1 ]', ), )
pickedRegions =(faces, )
p.setElementType(regions=pickedRegions, elemTypes=(elemType1, elemType2))
a1 = mdb.models['Model-1'].rootAssembly
a1.regenerate()
a = mdb.models['Model-1'].rootAssembly
session.viewports['Viewport: 1'].setValues(displayedObject=a)
session.viewports['Viewport: 1'].assemblyDisplay.setValues(mesh=OFF)
session.viewports['Viewport: 1'].assemblyDisplay.meshOptions.setValues(
meshTechnique=OFF)
mdb.Job(name='Q4_1c', model='Model-1', description='Q4.1c', type=ANALYSIS,
atTime=None, waitMinutes=0, waitHours=0, queue=None, memory=90,
memoryUnits=PERCENTAGE, getMemoryFromAnalysis=True,
explicitPrecision=SINGLE, nodalOutputPrecision=SINGLE, echoPrint=OFF,
361
ABAQUS Tutorials
Q5.3
Start a new model as before: File/New Model Database/With standard/Explicit Model
Create model
Module/Part
Click Create Part
Choose
3D/Deformable/Shell/
planar
Approximate size 1
Continue
362
ABAQUS Tutorials
363
ABAQUS Tutorials
Create Instances
Module Assembly
Click Create Instance
Part-1
Choose Dependent
OK
364
ABAQUS Tutorials
365
ABAQUS Tutorials
Mesh control
Module Mesh
Click Part (Part-1)
Click Seed Part
Specify global size 0.05
OK
Mesh
Click Mesh Part
Click yes
366
ABAQUS Tutorials
Solution
As before Module Job/ Create Job /Model-1/ Continue
Description Q5.3/ OK/ Job Manager/Submit job to solve & Monitor to monitor solution
View results
Open results file as before: File/open Choose Q5_3.obd OK
Plot displacement contours in z-direction
Click results (top menu bar)
Field output
Choose U for displacement
U3 for displacement in the zdirection
Click Plot Contours on
Deformed Shape
Compare maximum
deflection to ANSYS results
and analytical solution?
367
ABAQUS Tutorials
368
ABAQUS Tutorials
mdb.models['Model-1'].StaticStep(name='Step-1', previous='Initial',
description='Q5.3')
session.viewports['Viewport: 1'].assemblyDisplay.setValues(step='Step-1')
session.viewports['Viewport: 1'].assemblyDisplay.setValues(loads=ON, bcs=ON,
predefinedFields=ON, connectors=ON, adaptiveMeshConstraints=OFF)
a = mdb.models['Model-1'].rootAssembly
s1 = a.instances['Part-1-1'].faces
side1Faces1 = s1.getSequenceFromMask(mask=('[#1 ]', ), )
region = a.Surface(side1Faces=side1Faces1, name='Surf-1')
mdb.models['Model-1'].Pressure(name='Load-1', createStepName='Step-1',
region=region, distributionType=UNIFORM, field='',
magnitude=-2000000.0, amplitude=UNSET)
a = mdb.models['Model-1'].rootAssembly
e1 = a.instances['Part-1-1'].edges
edges1 = e1.getSequenceFromMask(mask=('[#1 ]', ), )
region = a.Set(edges=edges1, name='Set-1')
mdb.models['Model-1'].DisplacementBC(name='BC-1', createStepName='Step-1',
region=region, u1=0.0, u2=0.0, u3=0.0, ur1=0.0, ur2=0.0, ur3=0.0,
amplitude=UNSET, fixed=OFF, distributionType=UNIFORM, fieldName='',
localCsys=None)
session.viewports['Viewport: 1'].assemblyDisplay.setValues(mesh=ON, loads=OFF,
bcs=OFF, predefinedFields=OFF, connectors=OFF)
session.viewports['Viewport: 1'].assemblyDisplay.meshOptions.setValues(
meshTechnique=ON)
p = mdb.models['Model-1'].parts['Part-1']
session.viewports['Viewport: 1'].setValues(displayedObject=p)
session.viewports['Viewport: 1'].partDisplay.setValues(sectionAssignments=OFF,
engineeringFeatures=OFF, mesh=ON)
session.viewports['Viewport: 1'].partDisplay.meshOptions.setValues(
meshTechnique=ON)
p = mdb.models['Model-1'].parts['Part-1']
p.seedPart(size=0.05, deviationFactor=0.1, minSizeFactor=0.1)
p = mdb.models['Model-1'].parts['Part-1']
p.generateMesh()
elemType1 = mesh.ElemType(elemCode=S8R, elemLibrary=STANDARD)
elemType2 = mesh.ElemType(elemCode=STRI65, elemLibrary=STANDARD)
p = mdb.models['Model-1'].parts['Part-1']
f = p.faces
faces = f.getSequenceFromMask(mask=('[#1 ]', ), )
pickedRegions =(faces, )
p.setElementType(regions=pickedRegions, elemTypes=(elemType1, elemType2))
session.viewports['Viewport: 1'].view.setValues(nearPlane=2.09444,
farPlane=3.56242, width=1.24121, height=0.777519, cameraPosition=(
0.211515, -2.44749, 1.40181), cameraUpVector=(0.26311, 0.496515,
0.827192), cameraTarget=(-3.56587e-008, 4.12616e-007, 2.4051e-007))
a1 = mdb.models['Model-1'].rootAssembly
a1.regenerate()
a = mdb.models['Model-1'].rootAssembly
session.viewports['Viewport: 1'].setValues(displayedObject=a)
session.viewports['Viewport: 1'].assemblyDisplay.setValues(mesh=OFF)
session.viewports['Viewport: 1'].assemblyDisplay.meshOptions.setValues(
meshTechnique=OFF)
mdb.Job(name='Q5_3', model='Model-1', description='Q5.3', type=ANALYSIS,
atTime=None, waitMinutes=0, waitHours=0, queue=None, memory=90,
memoryUnits=PERCENTAGE, getMemoryFromAnalysis=True,
explicitPrecision=SINGLE, nodalOutputPrecision=SINGLE, echoPrint=OFF,
modelPrint=OFF, contactPrint=OFF, historyPrint=OFF, userSubroutine='',
scratch='', multiprocessingMode=DEFAULT, numCpus=1, numGPUs=0)
mdb.jobs['Q5_3'].submit(consistencyChecking=OFF)
369
ABAQUS Tutorials
Q5.7
Start a new model as before: File/New Model Database/With standard/Explicit Model
Create model as before: Module/Part/ Click Create Part/ Choose 3D/Deformable/Shell/ planar
Approximate size 1/ Continue
Click Lines: Rectangular (4
Lines)
Enter starting corner point
0,0
Enter opposite corner 0.5,1
Click done
370
ABAQUS Tutorials
371
ABAQUS Tutorials
372
ABAQUS Tutorials
Mesh control
Module Mesh
Click Part (Part-1)
Click Seed Part
Specify global size 0.1
OK
Mesh
Click Mesh Part
Click yes
Define element type as before: Click Assign Element Type/Choose Shell/Click on Quadratic/
OK
View/Rotate to see the
plate in 3D
373
ABAQUS Tutorials
Solution
As before Module Job/ Create Job: /Name Q5_7 /Model-1/ Continue
Description Q5.7/ OK/ Job Manager/Submit job to solve & Monitor to monitor solution
View results
Open results file as before: File/open Choose Q5_7.obd OK
Plot displacement contours
Click results (top menu bar)
Field output
Choose U for displacement
U3 for displacement in the zdirection
Click Plot Contours on
Deformed Shape
Compare maximum
deflection to ANSYS results
and analytical solution?
Plot stress contours in x and y- directions (S11 & S22) and compare the results to ANSYS results and
analytical solution?
Python code Q5.7
def Q5_7():
import section
import regionToolset
import displayGroupMdbToolset as dgm
import part
import material
import assembly
import step
import interaction
import load
import mesh
import optimization
import job
import sketch
import visualization
import xyPlot
import displayGroupOdbToolset as dgo
import connectorBehavior
session.viewports['Viewport: 1'].partDisplay.setValues(sectionAssignments=OFF,
engineeringFeatures=OFF)
session.viewports['Viewport: 1'].partDisplay.geometryOptions.setValues(
referenceRepresentation=ON)
session.viewports['Viewport: 1'].setValues(displayedObject=None)
s1 = mdb.models['Model-1'].ConstrainedSketch(name='__profile__',
sheetSize=200.0)
g, v, d, c = s1.geometry, s1.vertices, s1.dimensions, s1.constraints
s1.setPrimaryObject(option=STANDALONE)
s1.rectangle(point1=(0.0, 0.0), point2=(0.5, 1.0))
p = mdb.models['Model-1'].Part(name='Part-1', dimensionality=THREE_D,
374
ABAQUS Tutorials
type=DEFORMABLE_BODY)
p = mdb.models['Model-1'].parts['Part-1']
p.BaseShell(sketch=s1)
s1.unsetPrimaryObject()
p = mdb.models['Model-1'].parts['Part-1']
session.viewports['Viewport: 1'].setValues(displayedObject=p)
del mdb.models['Model-1'].sketches['__profile__']
session.viewports['Viewport: 1'].partDisplay.setValues(sectionAssignments=ON,
engineeringFeatures=ON)
session.viewports['Viewport: 1'].partDisplay.geometryOptions.setValues(
referenceRepresentation=OFF)
mdb.models['Model-1'].Material(name='Material-1')
mdb.models['Model-1'].materials['Material-1'].Elastic(table=((200000000000.0,
0.3), ))
mdb.models['Model-1'].HomogeneousShellSection(name='Section-1',
preIntegrate=OFF, material='Material-1', thicknessType=UNIFORM,
thickness=0.02, thicknessField='', idealization=NO_IDEALIZATION,
poissonDefinition=DEFAULT, thicknessModulus=None, temperature=GRADIENT,
useDensity=OFF, integrationRule=SIMPSON, numIntPts=5)
p = mdb.models['Model-1'].parts['Part-1']
f = p.faces
faces = f.getSequenceFromMask(mask=('[#1 ]', ), )
region = p.Set(faces=faces, name='Set-1')
p = mdb.models['Model-1'].parts['Part-1']
p.SectionAssignment(region=region, sectionName='Section-1', offset=0.0,
offsetType=MIDDLE_SURFACE, offsetField='',
thicknessAssignment=FROM_SECTION)
a = mdb.models['Model-1'].rootAssembly
session.viewports['Viewport: 1'].setValues(displayedObject=a)
session.viewports['Viewport: 1'].assemblyDisplay.setValues(loads=OFF, bcs=OFF,
predefinedFields=OFF, connectors=OFF)
a1 = mdb.models['Model-1'].rootAssembly
a1.DatumCsysByDefault(CARTESIAN)
p = mdb.models['Model-1'].parts['Part-1']
a1.Instance(name='Part-1-1', part=p, dependent=ON)
session.viewports['Viewport: 1'].assemblyDisplay.setValues(
adaptiveMeshConstraints=ON)
mdb.models['Model-1'].StaticStep(name='Step-1', previous='Initial',
description='Q5.7')
session.viewports['Viewport: 1'].assemblyDisplay.setValues(step='Step-1')
session.viewports['Viewport: 1'].assemblyDisplay.setValues(loads=ON, bcs=ON,
predefinedFields=ON, connectors=ON, adaptiveMeshConstraints=OFF)
a = mdb.models['Model-1'].rootAssembly
s1 = a.instances['Part-1-1'].faces
side1Faces1 = s1.getSequenceFromMask(mask=('[#1 ]', ), )
region = a.Surface(side1Faces=side1Faces1, name='Surf-1')
mdb.models['Model-1'].Pressure(name='Load-1', createStepName='Step-1',
region=region, distributionType=UNIFORM, field='', magnitude=-700000.0,
amplitude=UNSET)
a = mdb.models['Model-1'].rootAssembly
e1 = a.instances['Part-1-1'].edges
edges1 = e1.getSequenceFromMask(mask=('[#f ]', ), )
region = a.Set(edges=edges1, name='Set-1')
mdb.models['Model-1'].DisplacementBC(name='BC-1', createStepName='Step-1',
region=region, u1=0.0, u2=0.0, u3=0.0, ur1=UNSET, ur2=UNSET, ur3=UNSET,
amplitude=UNSET, fixed=OFF, distributionType=UNIFORM, fieldName='',
localCsys=None)
session.viewports['Viewport: 1'].assemblyDisplay.setValues(mesh=ON, loads=OFF,
bcs=OFF, predefinedFields=OFF, connectors=OFF)
session.viewports['Viewport: 1'].assemblyDisplay.meshOptions.setValues(
375
ABAQUS Tutorials
meshTechnique=ON)
p = mdb.models['Model-1'].parts['Part-1']
session.viewports['Viewport: 1'].setValues(displayedObject=p)
session.viewports['Viewport: 1'].partDisplay.setValues(sectionAssignments=OFF,
engineeringFeatures=OFF, mesh=ON)
session.viewports['Viewport: 1'].partDisplay.meshOptions.setValues(
meshTechnique=ON)
p = mdb.models['Model-1'].parts['Part-1']
p.seedPart(size=0.1, deviationFactor=0.1, minSizeFactor=0.1)
p = mdb.models['Model-1'].parts['Part-1']
p.generateMesh()
elemType1 = mesh.ElemType(elemCode=S8R, elemLibrary=STANDARD)
elemType2 = mesh.ElemType(elemCode=STRI65, elemLibrary=STANDARD)
p = mdb.models['Model-1'].parts['Part-1']
f = p.faces
faces = f.getSequenceFromMask(mask=('[#1 ]', ), )
pickedRegions =(faces, )
p.setElementType(regions=pickedRegions, elemTypes=(elemType1, elemType2))
a1 = mdb.models['Model-1'].rootAssembly
a1.regenerate()
a = mdb.models['Model-1'].rootAssembly
session.viewports['Viewport: 1'].setValues(displayedObject=a)
session.viewports['Viewport: 1'].assemblyDisplay.setValues(mesh=OFF)
session.viewports['Viewport: 1'].assemblyDisplay.meshOptions.setValues(
meshTechnique=OFF)
mdb.Job(name='Q5_7', model='Model-1', description='Q5.7', type=ANALYSIS,
atTime=None, waitMinutes=0, waitHours=0, queue=None, memory=90,
memoryUnits=PERCENTAGE, getMemoryFromAnalysis=True,
explicitPrecision=SINGLE, nodalOutputPrecision=SINGLE, echoPrint=OFF,
modelPrint=OFF, contactPrint=OFF, historyPrint=OFF, userSubroutine='',
scratch='', multiprocessingMode=DEFAULT, numCpus=1, numGPUs=0)
mdb.jobs['Q5_7'].submit(consistencyChecking=OFF)
376
ABAQUS Tutorials
377
ABAQUS Tutorials
Create section
Create Section
Choose Homogenous
Solid
Continue
Material-1
OK
378
ABAQUS Tutorials
Create Instances
Module/Assembly
Click Create Instance
SEbracket
Choose Dependent
OK
379
ABAQUS Tutorials
Description SEbracket
OK
Apply load
Module Load
Click Create Load
Mechanical/ concentrated
force
Continue
380
ABAQUS Tutorials
Define CF3 -1
OK
381
ABAQUS Tutorials
Mesh control
Module Mesh
Click Part (SEbracket)
Click Seed Part
Specify global size 5
OK
Mesh Control
Assign Mesh Control
Chose Tet
Ok
382
ABAQUS Tutorials
Mesh
Click Mesh Part
Click yes
Solution:/ As before Module Job/ Create Job /Name: SEbracket /Model-1/ Continue
Description SEbracket/ OK / Job Manager/Submit job to solve & Monitor to monitor solution
View results
Open results file as before: File/open Choose SEbracket.obd OK
Plot von-Mises stress
Click results
Field output
Choose S / Mises
Plot contours on
Compare results to to
ANSYS results?
Plot other displacement
and stress components and
compare to ANSYS?
383
ABAQUS Tutorials
ABAQUS/ANSYS comparisons
Q2.5
Horizontal displacement at B, vertical displacement at B, maximum bending moment and
maximum/minimum stresses
Analytical solution
ANSYS
ABAQUS
x (mm)
y (mm)
M max (N.m)
ANSYS
ABAQUS
M o (N.m)
M max (N.m)
Q4.1c: Height = 500 mm deflection and stress in the middle of the beam
Analytical solution
ANSYS
ABAQUS
v (mm)
x (N/mm2)
Q4.1d: Height = 50 mm deflection and stress in the middle of the beam
Analytical solution
ANSYS
ABAQUS
v (mm)
x (N/mm2)
Q5.3
Deflection and stresses in the middle of the plate
Analytical solution
ANSYS
ABAQUS
(mm)
r (N/m2)
t (N/m2)
384
ABAQUS Tutorials
Q5.7
Maximum deflection and maximum stresses
Analytical solution
(mm)
ANSYS
ABAQUS
x max (N/m2)
y max (N/m2)
CAD Exercise
Maximum displacement in z direction (Uz) and maximum von-Mises stress ( v )
ANSYS
ABAQUS
Uz (mm)
v (N/mm2)
385