Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations MintJulep on being selected by the Eng-Tips community for having the most helpful posts in the forums last week. Way to Go!

UMAT Subroutine

Status
Not open for further replies.

Usman1979

Mechanical
Joined
Sep 23, 2014
Messages
8
Location
TW
Dear All,

I am really new in abaqus. Now I want to try to model FGM material. They said that I have to use UMAT.
Please help me how to introduce UMAT subroutine to the existing script. The example script I also posted below.
Thanks

# -*- coding: mbcs -*-
from part import *
from material import *
from section import *
from assembly import *
from step import *
from interaction import *
from load import *
from mesh import *
from job import *
from sketch import *
from visualization import *
from connectorBehavior import *
mdb.models['Model-1'].ConstrainedSketch(name='__profile__', sheetSize=20.0)
mdb.models['Model-1'].sketches['__profile__'].rectangle(point1=(-5.0, -1.0),
point2=(5.0, 1.0))
mdb.models['Model-1'].Part(dimensionality=TWO_D_PLANAR, name='Part-1', type=
DEFORMABLE_BODY)
mdb.models['Model-1'].parts['Part-1'].BaseShell(sketch=
mdb.models['Model-1'].sketches['__profile__'])
del mdb.models['Model-1'].sketches['__profile__']
mdb.models['Model-1'].Material(name='Material-1')
mdb.models['Model-1'].materials['Material-1'].Elastic(table=((1000000000.0,
0.3), ))
mdb.models['Model-1'].HomogeneousSolidSection(material='Material-1', name=
'Section-1', thickness=None)
mdb.models['Model-1'].parts['Part-1'].SectionAssignment(offset=0.0,
offsetField='', offsetType=MIDDLE_SURFACE, region=Region(
faces=mdb.models['Model-1'].parts['Part-1'].faces.findAt(((-1.666667,
-0.333333, 0.0), (0.0, 0.0, 1.0)), )), sectionName='Section-1',
thicknessAssignment=FROM_SECTION)
mdb.models['Model-1'].parts['Part-1'].Set(edges=
mdb.models['Model-1'].parts['Part-1'].edges.findAt(((-5.0, -0.5, 0.0), )),
name='LeftEdge')
mdb.models['Model-1'].parts['Part-1'].Surface(name='TopEdge', side1Edges=
mdb.models['Model-1'].parts['Part-1'].edges.findAt(((-2.5, 1.0, 0.0), )))
mdb.models['Model-1'].parts['Part-1'].setMeshControls(elemShape=QUAD, regions=
mdb.models['Model-1'].parts['Part-1'].faces.findAt(((-1.666667, -0.333333,
0.0), )), technique=STRUCTURED)
mdb.models['Model-1'].parts['Part-1'].setElementType(elemTypes=(ElemType(
elemCode=CPS8R, elemLibrary=STANDARD), ElemType(elemCode=CPS6M,
elemLibrary=STANDARD)), regions=(
mdb.models['Model-1'].parts['Part-1'].faces.findAt(((-1.666667, -0.333333,
0.0), )), ))
mdb.models['Model-1'].parts['Part-1'].seedPart(deviationFactor=0.1, size=0.5)
mdb.models['Model-1'].parts['Part-1'].generateMesh()
mdb.models['Model-1'].rootAssembly.DatumCsysByDefault(CARTESIAN)
mdb.models['Model-1'].rootAssembly.Instance(dependent=ON, name='Part-1-1',
part=mdb.models['Model-1'].parts['Part-1'])
mdb.models['Model-1'].StaticStep(initialInc=0.1, name='Step-1', nlgeom=ON,
previous='Initial')
mdb.models['Model-1'].DisplacementBC(amplitude=UNSET, createStepName='Initial',
distributionType=UNIFORM, fieldName='', localCsys=None, name='BC-1',
region=
mdb.models['Model-1'].rootAssembly.instances['Part-1-1'].sets['LeftEdge'],
u1=SET, u2=SET, ur3=SET)
mdb.models['Model-1'].Pressure(amplitude=UNSET, createStepName='Step-1',
distributionType=UNIFORM, field='', magnitude=-1e-05, name='Load-1',
region=
mdb.models['Model-1'].rootAssembly.instances['Part-1-1'].surfaces['TopEdge'])
mdb.Job(atTime=None, contactPrint=OFF, description='', echoPrint=OFF,
explicitPrecision=SINGLE, getMemoryFromAnalysis=True, historyPrint=OFF,
memory=90, memoryUnits=PERCENTAGE, model='Model-1', modelPrint=OFF,
multiprocessingMode=DEFAULT, name='Example', nodalOutputPrecision=SINGLE,
numCpus=1, queue=None, scratch='', type=ANALYSIS, userSubroutine='',
waitHours=0, waitMinutes=0)
mdb.jobs['Example'].submit(consistencyChecking=OFF)
mdb.jobs['Example']._Message(STARTED, {'phase': BATCHPRE_PHASE,
'clientHost': 'LAB-PC', 'handle': 0, 'jobName': 'Example'})
mdb.jobs['Example']._Message(WARNING, {'phase': BATCHPRE_PHASE,
'message': 'DEGREE OF FREEDOM 6 IS NOT ACTIVE IN THIS MODEL AND CAN NOT BE RESTRAINED',
'jobName': 'Example'})
mdb.jobs['Example']._Message(ODB_FILE, {'phase': BATCHPRE_PHASE,
'file': 'D:\\Usman Folder\\Abaqus working directory\\Example.odb',
'jobName': 'Example'})
mdb.jobs['Example']._Message(COMPLETED, {'phase': BATCHPRE_PHASE,
'message': 'Analysis phase complete', 'jobName': 'Example'})
mdb.jobs['Example']._Message(STARTED, {'phase': STANDARD_PHASE,
'clientHost': 'LAB-PC', 'handle': 6944, 'jobName': 'Example'})
mdb.jobs['Example']._Message(STEP, {'phase': STANDARD_PHASE, 'stepId': 1,
'jobName': 'Example'})
mdb.jobs['Example']._Message(ODB_FRAME, {'phase': STANDARD_PHASE, 'step': 0,
'frame': 0, 'jobName': 'Example'})
mdb.jobs['Example']._Message(STATUS, {'totalTime': 0.0, 'attempts': 0,
'timeIncrement': 0.1, 'increment': 0, 'stepTime': 0.0, 'step': 1,
'jobName': 'Example', 'severe': 0, 'iterations': 0,
'phase': STANDARD_PHASE, 'equilibrium': 0})
mdb.jobs['Example']._Message(MEMORY_ESTIMATE, {'phase': STANDARD_PHASE,
'jobName': 'Example', 'memory': 24.3089294433594})
mdb.jobs['Example']._Message(ODB_FRAME, {'phase': STANDARD_PHASE, 'step': 0,
'frame': 1, 'jobName': 'Example'})
mdb.jobs['Example']._Message(STATUS, {'totalTime': 0.1, 'attempts': 1,
'timeIncrement': 0.1, 'increment': 1, 'stepTime': 0.1, 'step': 1,
'jobName': 'Example', 'severe': 0, 'iterations': 1,
'phase': STANDARD_PHASE, 'equilibrium': 1})
mdb.jobs['Example']._Message(ODB_FRAME, {'phase': STANDARD_PHASE, 'step': 0,
'frame': 2, 'jobName': 'Example'})
mdb.jobs['Example']._Message(STATUS, {'totalTime': 0.2, 'attempts': 1,
'timeIncrement': 0.1, 'increment': 2, 'stepTime': 0.2, 'step': 1,
'jobName': 'Example', 'severe': 0, 'iterations': 1,
'phase': STANDARD_PHASE, 'equilibrium': 1})
mdb.jobs['Example']._Message(ODB_FRAME, {'phase': STANDARD_PHASE, 'step': 0,
'frame': 3, 'jobName': 'Example'})
mdb.jobs['Example']._Message(STATUS, {'totalTime': 0.35, 'attempts': 1,
'timeIncrement': 0.15, 'increment': 3, 'stepTime': 0.35, 'step': 1,
'jobName': 'Example', 'severe': 0, 'iterations': 1,
'phase': STANDARD_PHASE, 'equilibrium': 1})
mdb.jobs['Example']._Message(ODB_FRAME, {'phase': STANDARD_PHASE, 'step': 0,
'frame': 4, 'jobName': 'Example'})
mdb.jobs['Example']._Message(STATUS, {'totalTime': 0.575, 'attempts': 1,
'timeIncrement': 0.225, 'increment': 4, 'stepTime': 0.575, 'step': 1,
'jobName': 'Example', 'severe': 0, 'iterations': 1,
'phase': STANDARD_PHASE, 'equilibrium': 1})
mdb.jobs['Example']._Message(ODB_FRAME, {'phase': STANDARD_PHASE, 'step': 0,
'frame': 5, 'jobName': 'Example'})
mdb.jobs['Example']._Message(STATUS, {'totalTime': 0.9125, 'attempts': 1,
'timeIncrement': 0.3375, 'increment': 5, 'stepTime': 0.9125, 'step': 1,
'jobName': 'Example', 'severe': 0, 'iterations': 1,
'phase': STANDARD_PHASE, 'equilibrium': 1})
mdb.jobs['Example']._Message(ODB_FRAME, {'phase': STANDARD_PHASE, 'step': 0,
'frame': 6, 'jobName': 'Example'})
mdb.jobs['Example']._Message(STATUS, {'totalTime': 1.0, 'attempts': 1,
'timeIncrement': 0.0874999999999999, 'increment': 6, 'stepTime': 1.0,
'step': 1, 'jobName': 'Example', 'severe': 0, 'iterations': 1,
'phase': STANDARD_PHASE, 'equilibrium': 1})
mdb.jobs['Example']._Message(END_STEP, {'phase': STANDARD_PHASE, 'stepId': 1,
'jobName': 'Example'})
mdb.jobs['Example']._Message(COMPLETED, {'phase': STANDARD_PHASE,
'message': 'Analysis phase complete', 'jobName': 'Example'})
mdb.jobs['Example']._Message(JOB_COMPLETED, {
'time': 'Mon Oct 13 11:10:28 2014', 'jobName': 'Example'})
# Save by LAB on Mon Oct 13 11:10:50 2014
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top