Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

12 Appendix C - ABAQUS Tutorials PDF

Download as pdf or txt
Download as pdf or txt
You are on page 1of 94

Appendix C: ABAQUS Tutorials

Appendix C
ABAQUS Tutorials
Q2.5
Start ABAQUS CAE 613

Set Work directory

Start a new model

File/New Model
Database/With
standard/Explicit Model

314
Appendix C: ABAQUS Tutorials

Create model

Module/Part

Click Create Part


Choose
2D/Deformable/Wire
Approximate size 0.4
Continue

Click Create Arc: Thru 3


points
Enter start point 0,0
Enter end point 0.2,0
Enter a point to lie on the
arc 0.1,0.1

315
Appendix C: ABAQUS Tutorials

Press Esc, then


Click done

Define Material/geometric properties

Module/Property

(E=70 GPa = 70×109 N/m2, Poisson’s ratio=0.3)

Create Material/
Mechanical/Elasticity/
Elastic
Define Young’s modulus
70e9 and Poisson’s ratio
0.3
OK

316
Appendix C: ABAQUS Tutorials

Create Section
Choose Beam
Continue

Click Create Beam


Profile
Choose Rectangular
Continue

Define Width 0.1 and


height 0.03
OK/OK

317
Appendix C: ABAQUS Tutorials

Assign Section to Part

Click Assign Section


Click on the arc
Done
Section 1
OK

Assign Beam orientation

Click Assign Beam


orientation
Done
Enter n1 direction (as
given)
OK

Module Assembly

318
Appendix C: ABAQUS Tutorials

Create Instances

Click Create Instance


Part-1
Choose Dependent
OK

Create analysis step

Module Step

Click Create Step


Initial
Static, General
Continue

319
Appendix C: ABAQUS Tutorials

Description Q2.5
OK

Apply load

Module Load

Click Create Load


Mechanical/ concentrated
force
Continue

320
Appendix C: ABAQUS Tutorials

Applying force (P=10 kN = 10 000 N)

Click on point 2
Done
Define CF2 10000
OK

Apply boundary conditions

Click Create Boundary


Conditions
Mechanical/
Displacement/Rotation
Continue

Click on point 1
Done
Define U1, U2, UR3 0
OK

321
Appendix C: 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

322
Appendix C: ABAQUS Tutorials

Define element type

Click Assign Element


Type
Choose region
Done
Beam
OK
Done

Solution
Module Job

Create Job
Name: Q2_5
Model-1
Continue

323
Appendix C: ABAQUS Tutorials

Description Q2.5 student


name
OK

Job Manager
Submit
OK

Monitor solution

324
Appendix C: ABAQUS Tutorials

Save your analysis as Q2.5.cae

View results
Open results file

Choose Q2_5.obd
OK

Plot displacement contours

Click results
Field output

325
Appendix C: 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 x-
displacement 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 y-
displacement to ANSYS
results and analytical
solution?

326
Appendix C: ABAQUS Tutorials

To increase legend font (or title block)

Viewport
Viewport Annotation
option
Click Legend/ define font

To query results at nodes (for von-Mises stress)

Tools
Prove values

Probe: choose Nodes


Click on a node to query
results

327
Appendix C: ABAQUS Tutorials

To view Top/Bottom results (only for stresses in beam and shell elements)

Results
Section points…
Click Bottom/Top

To print a graph

File
Print/ Destination/ click
file
Format/ e.g. PNG
File name/ e.g.
filename.png

To create a Python code, before you start working in your model, activate Macro Manager:

File
Click Macro Manager
Click create

328
Appendix C: ABAQUS Tutorials

Define Name of Macro:


Q2_5
Choose Work for Work
directory
Continue

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

Python code for Q2.5


# -*- coding: mbcs -*-
# Do not delete the following import lines
from abaqus import *
from abaqusConstants import *
import __main__
def Q2_5():
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

329
Appendix C: ABAQUS Tutorials

import sketch
import visualization
import xyPlot
import displayGroupOdbToolset as dgo
import connectorBehavior
s1 = mdb.models['Model-1'].ConstrainedSketch(name='__profile__', sheetSize=0.4)
g, v, d, c = s1.geometry, s1.vertices, s1.dimensions, s1.constraints
s1.setPrimaryObject(option=STANDALONE)
s1.Arc3Points(point1=(0.0, 0.0), point2=(0.2, 0.0), point3=(0.1, 0.1))
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=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=((70000000000.0,
0.3), ))
mdb.models['Model-1'].RectangularProfile(name='Profile-1', a=0.1, b=0.03)
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-1']
e = p.edges
edges = e.getSequenceFromMask(mask=('[#1 ]', ), )
region = p.Set(edges=edges, 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)
p = mdb.models['Model-1'].parts['Part-1']
e = p.edges
edges = e.getSequenceFromMask(mask=('[#1 ]', ), )
region=p.Set(edges=edges, name='Set-2')
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

330
Appendix C: ABAQUS Tutorials

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,
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_5'].submit(consistencyChecking=OFF)
mdb.saveAs(pathName='H:/ABAQUS/Q2.5.cae')

331
Appendix C: 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

Create Part-2 (quarter


circle) 2D/Deformable/
wires
Continue

332
Appendix C: ABAQUS Tutorials

Click Create Arc: Thru 3


points
Enter start point 0,0.8
Enter end point 0.4,1.2
Enter a point to lie on the
arc 0.117157,1.08284
Click done

Press Esc, then


Click done

Assembly/Create Instance

Click Create Instance


Part-1 and Part-2
Choose Dependent
OK

333
Appendix C: ABAQUS Tutorials

Merge parts 1 and 2 (create new part 3)

Click Merge/Cut Instances


Click Both
Continue
Click Part-1 and Part-2
Done
Part-3 is created

Define Material/section properties (E=200 GPa, ν=0.3)

Create Material/
Mechanical/Elasticity/
Elastic
Define Young’s modulus
200e9 and Poisson’s ratio
0.3
OK

Create section

Create Section
Choose Beam
Continue

334
Appendix C: ABAQUS Tutorials

Click Create Beam


Profile
Choose Circular
Continue

Define Radius 0.1


OK/OK

Assign section to Part 3

Click Assign Section to


Part 3
Click on line & arc
OK

335
Appendix C: ABAQUS Tutorials

Assign Beam Orientation for part 3

Click Assign Beam


orientation
Click on Part-3
Done
Enter n1 direction (as
given)
OK

Create Step as before

Click Create Step


Initial
Continue
Description Q2.6
OK

Apply Load – force in the y-direction -20000 (P/2 in N) should be defined

Click Create Load


Mechanical/ concentrated
force
Continue
Click on point 1
Done
Define CF2 -20000
OK

336
Appendix C: ABAQUS Tutorials

Apply Boundary conditions


Point 1: only rotation (UR3) is zero

Click Create Boundary


Conditions
Mechanical/
Displacement/Rotation
Continue
Click on point 1
Done
Define UR3 0
OK

Point 3: All DOF are zeros (U1, U2, UR3).

Click Create Boundary


Conditions
Mechanical/
Displacement/Rotation
Continue
Click on point 3
Done
Define U1, U2, UR3 0
OK

Mesh (mesh part 3)

Module Mesh
Choose Part (Part-3)
Click Seed Part Instance
Specify global size 0.02
OK
Click Mesh Part
Click Yes

337
Appendix C: ABAQUS Tutorials

Define element type

Click Assign Element


Type
Choose region Part 3
(click on both parts 1&2)
Done
Beam
OK
Done

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

Click Plot Contours on


Deformed Shape
Compare maximum
bending moment to
ANSYS results and
analytical solution?

338
Appendix C: ABAQUS Tutorials

Zoom near point 1

Compare bending moment


at point 1 to ANSYS
results and analytical
solution?

Python code for Q2.6


def Q2_6():
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'].setValues(displayedObject=None)
s = mdb.models['Model-1'].ConstrainedSketch(name='__profile__', sheetSize=1.6)
g, v, d, c = s.geometry, s.vertices, s.dimensions, s.constraints
s.setPrimaryObject(option=STANDALONE)
s.Line(point1=(0.0, 0.0), point2=(0.0, 0.8))
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)

339
Appendix C: ABAQUS Tutorials

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 ]', ), )
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

340
Appendix C: ABAQUS Tutorials

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
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)

341
Appendix C: ABAQUS Tutorials

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

Click Create Lines:


Rectangular (4 lines)
Enter starting corner 0,0
Enter opposite corner 750,
500

Press Esc, then


Click done

342
Appendix C: ABAQUS Tutorials

Define Material/geometric properties (E = 2 × 105 N/mm2, ν = 0.25)

Module/Property
Create Material/
Mechanical/Elasticity/
Elastic
Define Young’s modulus
2e5 and Poisson’s ratio
0.25
OK

Create Section
Choose Homogenous
Click Solid
Continue

Click Plane stress/strain


thickness
Define thickness 15
OK

343
Appendix C: ABAQUS Tutorials

Assign Section to Part

Click Assign Section


Click on the rectangular
Done
Section 1
OK

Create Instances

Module Assembly
Click Create Instance
Part-1
Choose Dependent
OK

Create analysis step

Module Step
Click Create Step
Initial
Continue
Description Q4.1c
OK

344
Appendix C: ABAQUS Tutorials

Apply load

Module Load
Click Create Load
Mechanical/ Pressure
Continue

Applying pressure at top surface (q = 10 N/mm2)

Click top surface


Done

Define Magnitude 10
OK

345
Appendix C: ABAQUS Tutorials

Apply boundary conditions

Click Create Boundary


Conditions
Mechanical/
Displacement/Rotation
Continue

Point 1, x-displacement and y-displacement are zero.

Click on point 1
Done
Define U1, U2 0
OK

Point 2, only y-displacement is zero.


Repeat for point 2 (only
U2 is zero)
Click Create Boundary
Conditions
Mechanical/
Displacement/Rotation
Continue
Click on point 2
Done
Define U2 0
OK

346
Appendix C: ABAQUS Tutorials

Mesh control

Module Mesh
Click Part (Part-1)
Click Seed Part
Specify global size 75
OK

Mesh

Click Mesh Part


Click yes

Define element type

Click Assign Element


Type
Choose rectangular
Done
Choose Plane Stress
Click on Quadratic
OK

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

347
Appendix C: ABAQUS Tutorials

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 y-
direction
Click Plot Contours on
Deformed Shape
Compare maximum y-
displacement to ANSYS
results and analytical
solution?

Stress contours in x-direction


Click results (top menu bar)
Field output
Choose S for stress
S11 for stress in the x-
direction
Click Plot Contours on
Deformed Shape
Compare stress in x-direction
in middle of beam to ANSYS
results and analytical
solution?

Python code for Q4.1c


def Q4_1c():
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
s = mdb.models['Model-1'].ConstrainedSketch(name='__profile__',
sheetSize=1000.0)

348
Appendix C: ABAQUS Tutorials

g, v, d, c = s.geometry, s.vertices, s.dimensions, s.constraints


s.setPrimaryObject(option=STANDALONE)
s.rectangle(point1=(0.0, 0.0), point2=(750.0, 500.0))
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.BaseShell(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__']
session.viewports['Viewport: 1'].partDisplay.setValues(sectionAssignments=ON,
engineeringFeatures=ON, mesh=OFF)
session.viewports['Viewport: 1'].partDisplay.meshOptions.setValues(
meshTechnique=OFF)
mdb.models['Model-1'].Material(name='Material-1')
mdb.models['Model-1'].materials['Material-1'].Elastic(table=((200000.0, 0.25),
))
mdb.models['Model-1'].HomogeneousSolidSection(name='Section-1',
material='Material-1', thickness=15.0)
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(
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='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)

349
Appendix C: ABAQUS Tutorials

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,
modelPrint=OFF, contactPrint=OFF, historyPrint=OFF, userSubroutine='',
scratch='', multiprocessingMode=DEFAULT, numCpus=1, numGPUs=0)
mdb.jobs['Q4_1c'].submit(consistencyChecking=OFF)

350
Appendix C: 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

Click Create circle: Centre


and Perimeter
Enter centre point 0,0
Enter perimeter point 0,0.5
Click done

Press Esc, then


Click done

Define Material/geometric properties (E=200 GPa, ν=0.3)


Define Material properties as before: Module/Property Create Material/ Mechanical/Elasticity/ Elastic/
Define Young’s modulus 200e9 and Poisson’s ratio 0.3/OK

351
Appendix C: ABAQUS Tutorials

Create Section
Choose Homogenous
Click Shell
Continue

Define Shell thickness


0.02
OK

Assign Section to Part

Click Assign Section


Click on the circle
Done
Section 1
OK

352
Appendix C: ABAQUS Tutorials

Create Instances

Module Assembly
Click Create Instance
Part-1
Choose Dependent
OK

Create analysis step as before


Module Step/Click Create Step/Initial/ Continue/ Description Q5.3/ OK
Apply load

Module Load
Click Create Load
Mechanical/ Pressure
Continue

Applying pressure on surface (p=-2 MPa = -2×106 N/m2)

Click on circle
Done
Click Brown (side of
shell)

353
Appendix C: ABAQUS Tutorials

Define Magnitude -2e6


OK

Apply boundary conditions

Click Create Boundary


Conditions
Mechanical/
Displacement/Rotation
Continue

All DOF’s are zeros at edges

Click on outside region


(all boundaries)
Done
Define U1, U2, U3,UR1,
UR2, UR3 0
OK

354
Appendix C: 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

Define element type

Click Assign Element


Type
Click on Part-1
Choose Shell
Click on Quadratic
OK

355
Appendix C: ABAQUS Tutorials

View/Rotate to see the


plate in 3D

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 z-
direction
Click Plot Contours on
Deformed Shape
Compare maximum
deflection to ANSYS results
and analytical solution?

To plot results in the cylindrical coordinate system

Click Tools (top menu bar)


Coordinate System
Create
Click Cylindrical
Name: CSYS-1
Continue..

356
Appendix C: ABAQUS Tutorials

Select a point to be the origin


0.0,0.0,0.0
Enter
Select a point to be on the R-
axis/ 0.1,0.0,0.0
Enter
Select a point to be on the R-
axis/ 0.1,0.0,0.0
Enter
Select a point to be in the R-
theta plane/ 0.0,1.0,0.0
Enter

Click Results (top menu bar)


Options
Transformation
User-specified
Choose CSYS-1
OK

From Field Output Dialog


Choose S for stress
S11 for stress in the r-
direction
Click Plot Contours on
Deformed Shape
Compare stress in r-direction
in middle of plate to ANSYS
results and analytical
solution?

357
Appendix C: ABAQUS Tutorials

Python code for Q5.3


def Q5_3():
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
s1 = mdb.models['Model-1'].ConstrainedSketch(name='__profile__',
sheetSize=1000.0)
g, v, d, c = s1.geometry, s1.vertices, s1.dimensions, s1.constraints
s1.setPrimaryObject(option=STANDALONE)
s1.CircleByCenterPerimeter(center=(0.0, 0.0), point1=(0.0, 0.5))
p = mdb.models['Model-1'].Part(name='Part-1', dimensionality=THREE_D,
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)
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)

358
Appendix C: 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)
Q5.7

359
Appendix C: ABAQUS Tutorials

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

Press Esc, then


Click done

Define Material/geometric properties (E=200 GPa, ν=0.3)


Define Material properties as before: Module/Property Create Material/ Mechanical/Elasticity/ Elastic/
Define Young’s modulus 200e9 and Poisson’s ratio 0.3/OK
Create section as before: Create Section/ Choose Homogenous/ Click Shell/ Continue
Define Shell thickness 0.02/ OK

Assign Section to Part

360
Appendix C: ABAQUS Tutorials

Click Assign Section


Click on the rectangular
Done
Section 1
OK

Create Instances as before: Module Assembly/Click Create Instance Part-1/Choose Dependent/ OK


Create analysis step as before: Module Step/Click Create Step/Initial/ Continue/ Description Q5.7/ OK
Apply load

Module Load
Click Create Load
Mechanical/ Pressure
Continue

Applying pressure on surface (q=-0.7 MPa = -0.7×106 N/m2)

Click on rectangular
Done
Click Brown (side of
shell)

361
Appendix C: ABAQUS Tutorials

Define Magnitude -0.7e6


OK

Apply boundary conditions

Click Create Boundary


Conditions
Mechanical/
Displacement/Rotation
Continue

Only displacements DOF’s are zeros at edges

Click on the 4 lines at


edges (all boundaries, use
shift button to click more
than one line)
Done
Define U1, U2, U3 0
OK

362
Appendix C: 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

363
Appendix C: 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 z-
direction
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,

364
Appendix C: 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(

365
Appendix C: 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)

ABAQUS CAD Exercise


Importing the IGES file
File/ Import/ Part

366
Appendix C: ABAQUS Tutorials

File Name: SEbracket.igs


OK

File Name: SEbracket.igs


OK/Dismiss

View/ Pan or Rotate

367
Appendix C: ABAQUS Tutorials

Define Material/geometric properties


Material property (Elastic modulus = 70 GPa = 70 000 N/mm2 and Poisson’s ratio =0.3)

Module/Property
Create Material/
Mechanical/Elasticity/
Elastic
Define Young’s modulus
70e3 and Poisson’s ratio
0.3
OK

Create section

Create Section
Choose Homogenous
Solid
Continue

Material-1
OK

368
Appendix C: ABAQUS Tutorials

Assign section to part

Click Assign Section


Click on the bracket
Done
Section 1
OK

Create Instances

Module/Assembly
Click Create Instance
SEbracket
Choose Dependent
OK

Create analysis step

Module Step
Click Create Step
Initial
Continue

369
Appendix C: ABAQUS Tutorials

Description SEbracket
OK

Apply load

Module Load
Click Create Load
Mechanical/ concentrated
force
Continue

Apply a force equivalent to 2 N at bottom hole

Click on the two points at


bottom
Done

370
Appendix C: ABAQUS Tutorials

Define CF3 -1
OK

Apply boundary conditions

Click Create Boundary


Conditions
Mechanical/
Displacement/Rotation
Continue

Select the surface areas of


the two holes at top
Done

371
Appendix C: ABAQUS Tutorials

Define U1, U2, U3 0


OK

Mesh control

Module Mesh
Click Part (SEbracket)
Click Seed Part
Specify global size 5
OK

Mesh Control
Assign Mesh Control
Chose Tet
Ok

372
Appendix C: 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
ANSYS results?
Plot other displacement
and stress components and
compare to ANSYS?

373
Appendix C: ABAQUS Tutorials

Chapter 9: Contact problems


Two exercises are required for Chapter 9: a cylinder on cylinder contact problem (Figure 9.12, E1=E2=E
and Equation (9.21)) and a cylinder on rectangular contact problem (Equation (9.22)).
Cylinder on cylinder contact problem
Use P’= 50 N/mm, d1= 50 mm, d2= 100 mm, E= 200 GPa
Start ABAQUS CAE 613

Set Work directory

Start a new model


File/New Model
Database/With
standard/Explicit Model

Module part

374
Appendix C: ABAQUS Tutorials

Model/Part

Create cylinder 1

Click Create Part


Name: Cylinder 1
Choose
2D/Deformable/Shell
Approximate size 200
Continue

Define Center (x=0, y=25 mm) and Perimeter (x=0, y=0) points in global coordinates

Click Create Circle:


Center and Perimeter
Enter center point: 0,25
Enter perimeter point:
0,0

375
Appendix C: ABAQUS Tutorials

Press ESC then click


done

Partition:
In order to refine the mesh at the contact area, the cylinder is divided into several parts

Click Partition Face:


Sketch

Partition of 1 mm × 1 mm at contact surface for mesh refinement, define rectangular in local


coordinates of circle located at centre of circle.

Click Create Lines:


Rectangular
Enter starting corner:
-0.5,-24
Enter the opposite
corner: 0.5,-25

376
Appendix C: ABAQUS Tutorials

Partition of circle into different parts using horizontal and vertical lines (to facilitate meshing and
applying boundary conditions)

Click Create Lines:


Connected
Enter a starting point:
-25,0
Enter an end point: 25,0

Click Create Lines:


Connected
Enter a starting point:
0,25
Enter an end point: 0,0

Click Create Lines:


Connected
Enter a starting point:
-12.5,25
Move the mouse vertically
until across the circle and
find the “X”, Then click
again Create Lines:
Connected and
Do the same for the other
side 12.5,25
Press ESC then click done

377
Appendix C: ABAQUS Tutorials

Create cylinder 2

Click Create Part


Name: Cylinder 2
Choose
2D/Deformable/Shell
Approximate size 200
Continue

As before create Cylinder 2, Click Create Circle: Center and Perimeter  the center point is 0,-50;
perimeter point is 0,0
Partition: The same method as for Cylinder 1.

The rectangular:
-0.5,50 and 0.5,49
Middle horizontal line:
-50,0 and 50,0
Left vertical line:
-25,50
Right vertical line:
25,50

Module: Property
Define Material properties, E=200 GPa= = 200 000 N/mm2, Poisson’s=0.3

Module/Property

378
Appendix C: ABAQUS Tutorials

Create
Material/Mechanical
/Elastic
Define Young’s modulus
200e3 and Possion’s ratio
0.3
OK

Define Section

Create Section/
Choose Solid and
Homogeneous
Continue
Edit Section/
Choose Material-1
OK

Assign Section/
Click assign section
Choose the whole part
Done
And OK

379
Appendix C: ABAQUS Tutorials

As both cylinders have same material, the section-1 is also assigned to cylinder 2.

Select part 2
Assign Section/
Click assign section
Choose the whole part
Done
And OK

Module: assembly

Click Create Instance,


choose both Cylinder 1
and Cylinder 2,
Choose Dependent
OK

Module: Step

Click Create Step,


choose Static,General
Continue

380
Appendix C: ABAQUS Tutorials

Click Incrementation,
Increment size:
Initial: 0.01;
Minimum:1E-012
OK

Module: Intersection (to define contact properties)

Click Create Interaction,


Choose surface to surface
contact (standard)
Continue

Select master surface


Choose the curve at the
bottom of Cylinder1
Done
Choose the slave type:
Click Surface

381
Appendix C: ABAQUS Tutorials

Select regions for the


slave surface
Choose the surfaces at
top of cylinder 2
Done

Define interaction property (normal behaviour, tangential behaviour…)

Click Create Interaction


Property

Choose Contact
Continue

382
Appendix C: ABAQUS Tutorials

Choose
mechanical/tangential
behaviour
And choose Frictionless
OK
And OK in Edit
Interaction box

Module: Load

Create load
Choose
Mechanical/concentrated
force
Continue

Select points for the load:


Choose the top point of
cylinder 1
Done

383
Appendix C: ABAQUS Tutorials

Apply -50 N at top of cylinder 1

Edit Load
CF2: -50
OK

Apply boundary conditions


Cylinder 1

Create Boundary
Condition
Choose mechanical/
Displacement/Rotation
Continue

Choose lines around


cylinder 1 as shown
Done

384
Appendix C: ABAQUS Tutorials

Edit Boundary Condition


Click U1: 0
Click UR3: 0
OK

Cylinder 2: the same steps as for Cylinder 1

Choose the lines around


cylinder 2 as shown
Edit Boundary Condition
Click U1:0
Click U2:0
Click UR3: 0
OK

Module: Mesh
Cylinder 1

Choose Part: Cylinder 1

385
Appendix C: ABAQUS Tutorials

Seed edges
Choose the bottom lines
as shown
Done

Local Seeds
Method: by size
Bias: None
Approximate element
size: 0.01
OK

Choose the red edges,


Done,
Method: by size
Bias: Single (the
direction of arrow: from
coarse to fine)
Minimum size: 0.01
Maximum size: 0.05
OK

386
Appendix C: ABAQUS Tutorials

Choose the red edges,


Done,
Method: by size
Bias: None
Approximate element
size: 0.05
OK

Choose the red edges,


Done,
Method: by size
Bias: single (click select
flip bias to change the
direction)
Minimum size: 0.01
Maximum size: 1
OK

Choose the red edges,


Done,
Method: by size
Bias: single
Minimum size: 1
Maximum size: 5
OK

387
Appendix C: ABAQUS Tutorials

Choose the red edges,


Done,
Method: by number
Bias: none
Approximate element
size: 5
OK

Choose the red edges,


Done,
Method: by size
Bias: single
Minimum size: 1
Maximum size: 5
OK

Click Mesh Part


Click Yes

388
Appendix C: ABAQUS Tutorials

Element type: CPE4 (full integration; please note reduced integration may lead to hourglass mode!)

Click Assign Element


Type
Select the whole part
And done

Choose Plain strain in


family
Unclick ‘reduced
integration’
OK
Done

Part: Cylinder 2, use the same steps as for cylinder 1.


Choose cylinder 2

389
Appendix C: ABAQUS Tutorials

Seed edges
Choose the top lines as
shown
Done
Method: by size
Bias: None
Approximate element
size: 0.01
OK

Choose the red edges,


Done,
Method: by size
Bias: Single (the
direction of arrow: from
coarse to fine)
Minimum size: 0.01
Maximum size: 0.05
OK

Choose the red edges,


Done,
Method: by size
Bias: None
Approximate element
size: 0.05
OK

390
Appendix C: ABAQUS Tutorials

Choose the red edges,


Done,
Method: by size
Bias: single (click select
flip bias to change the
direction)
Minimum size: 0.01
Maximum size: 5
OK

Choose the red edges,


Done,
Method: by size
Bias: single
Minimum size: 5
Maximum size: 10
OK

Choose the red edges,


Done,
Method: by number
Bias: none
Approximate element
size: 10
OK

391
Appendix C: ABAQUS Tutorials

Choose the red edges,


Done,
Method: by size
Bias: single
Minimum size: 5
Maximum size: 10
OK

Click Mesh Part


Click Yes

Assign element type as for cylinder 1

Click Assign Element


Type
Select the whole part
And done
Choose Plain strain in
family
Unclick ‘reduced
integration’
OK
Done

392
Appendix C: ABAQUS Tutorials

Module: Job

Create Job
Name: EX1
Continue

Edit Job
Description: cylinder on
cylinder
OK

Job Manage
Click Submit

393
Appendix C: ABAQUS Tutorials

View Results
To change deformation scale

Click Options/Common
Deformation scale factor
Uniform
Enter a value, e.g. 10
OK

To plat a path

Model tree, right click


“EX1”
Choose Results

To get contact pressure, a path along the contact line should be made.

Right click Display


Group
Choose Create
Click Part Instances and
CYLINDER1-1
Choose Remove
Close

394
Appendix C: ABAQUS Tutorials

Double click Path in


model tree
In Create path, choose
Node list
Continue

Choose cylinder 2-1


And click Add Before

Zoom in the contact line


From left to right: choose
the first two nodes, two
nodes in the center, and
the last two nodes
Done

395
Appendix C: ABAQUS Tutorials

Define the Node Lables


as:
“12, 312:264:-1, 13,
263:215:-1, 9”
OK

Get the contact pressure distribution along contact line (Path - 1)

Double click XYDate in


model tree
Choose Path
Continue

Click Field Output…


Choose CPRESS in Field
Option
OK

396
Appendix C: ABAQUS Tutorials

Click Plot
The contact pressure
curve is shown

Open the XYDate in


model tree
Right click _tem_1 and
choose Edit…
The contact pressure
along the contact line is
listed

Compare the results with analytical solution (maximum contact pressure and contact width)
Cylinder on rectangle contact problem
P’= 50 N/mm, d= 50 mm, E= 200 GPa
Module: Part
Copy model 1
Right click “Model 1”

Choose copy model

397
Appendix C: ABAQUS Tutorials

Rename as “Model-2”

Open the model tree of


“model-2”, open “part”,
right click Cylinder 2 and
choose “delete”

Click Create Part


Name: Rectangular
Choose
2D/Deformable/Shell
Approximate size 200
Continue

398
Appendix C: ABAQUS Tutorials

Click Create Lines


Rectangle (4 lines)
A starting corner:
-50,0
The opposite corner:
50,-50
Esc
Done

Partition to facilitate meshing and applying boundary conditions

Click Partition Face:


Sketch

Click Create Lines


Rectangle (4 lines)
A starting corner:
-0.5, 25
The opposite corner:
0.5,24
A starting corner:
-25, 25
The opposite corner:
25, 0
Esc
Done

399
Appendix C: ABAQUS Tutorials

Module: Property
Material property and section are already in Model-2.

Click Assign Section


Select the whole
rectangular
Done
OK
Done

Delete the instance 2 of assembly

Open the module tree


/assembly/instance
/cylinder 2
Right click
Choose delete
Click yes
Done
OK
Esc

Module Assembly

Create instance
Choose
Rectangular/dependent
OK

400
Appendix C: ABAQUS Tutorials

Module: interaction
Delete Int-1(which is defined in Module 1)

Click Interaction Manage


Choose Int-1 and delete
Yes

Create new interaction and interaction property, the same steps as EX 1

Click Create Interaction,


Choose surface to surface
contact (standard)
Continue

Select master surface


Click Create Intersection,
Choose the curve at
bottom of cylinder 1
Done

401
Appendix C: ABAQUS Tutorials

Choose the slave type:


Click Surface
And choose top of
rectangular
Done

Click OK
Click Create Interaction
Property
Choose Contact
Continue
Choose
mechanical/tangential
behaviour
And choose Frictionless
OK
Contact interaction
property/IntProp-1
OK
Module: Load
Delete BC-2 defined in module 1

Model tree,
Choose BC(s)/BC-2
Right click
Choose delete
Yes

402
Appendix C: ABAQUS Tutorials

Create new boundary conditions

Click Boundary
conditions manage

Click create
Choose
displacement/rotation as
the types
Continue

Choose the surfaces as


shown
Done

403
Appendix C: ABAQUS Tutorials

Edit Boundary Condition


Click U1: 0
Click U2: 0
Click UR3: 0
OK

Module: mesh
For rectangular, follow the same steps as for cylinder 1.

Choose Part: rectangular


Click Seed edges

Local Seeds
Method: by size
Bias: None
Approximate element
size: 0.01
OK

404
Appendix C: ABAQUS Tutorials

Choose the red edges,


Done,
Local Seeds
Method: by size
Bias: Single
Minimum size: 0.01
Maximum size: 0.05
OK

Local Seeds
Method: by size
Bias: None
Approximate element
size: 0.05
OK

Choose the red edges,


Done,
Method: by size
Bias: Single
Minimum size: 0.01
Maximum size: 5
OK

405
Appendix C: ABAQUS Tutorials

Choose the red edges,


Done,
Method: by size
Bias: None
Approximate element
size: 5
OK

Click Mesh Part


Yes

Define the element type

Assign Element Type


Choose the whole part

406
Appendix C: ABAQUS Tutorials

Choose plain strain


family
Unclick Reduced
Integration
OK

Module JOB
As before Create Job and submit job. Compare the results with analytical solution (maximum contact
pressure and contact width) path (1, 208:167:-1, 165:112:-1, 110)

407

You might also like