2. Running Abaqus
Your work station
CAD lab PCs
Debug your subroutines here
and Submit your jobs hereCAD lab PCs y j
3. User subroutines
Lecture 7 of User Subroutine tutorial isLecture 7 of User Subroutine tutorial is
about UMAT and VUMAT
L t 7 h 9 l !Lecture 7 has 9 examples!
6. UMAT and VUMAT
I Ab /St d d th d fi dIn Abaqus/Standard the user-defined
material model is implemented in user
subroutine UMAT
In Abaqus/Explicit the user-definedq p
material model is implemented in user
subroutine VUMATsub out e U
Use UMAT and VUMAT if existing material
models of Abaqus do not represent themodels of Abaqus do not represent the
behaviour of your material
7. Requirements of Mechanics
E ilib iEquilibrium
CompatibilityCompatibility
Displacements are continuous and satisfies
boundary conditionsboundary conditions
Constitutive law
Stress can be calculated from strains using
the stress-strain relationship!
UMAT VUMATUMAT or VUMAT
8. Steps required in writing a UMAT or
VUMATVUMAT
1. Define your constitutive equation
Explicit definition of stress in terms of strainp
Definition of the stress rate only
Definition of dependence on timeDefinition of dependence on time,
temperature, etc
D fi iti f i t l t t i bl ithDefinition of internal state variables, either
explicitly or in rate form
9. Steps required in writing a UMAT or
VUMATVUMAT
2 T f th tit ti ti i t2. Transform the constitutive equation into an
incremental equation using a suitable integration
procedureprocedure
Forward Euler (explicit integration)
Backward Euler (implicit integration)
Midpoint method
3. Follow FORTRAN77 or C conventions
4 I i i li ll i bl l4. Initialize all variables properly
5. Use ABAQUS utility routines
6 A i h f S6. Assign enough storage space for State
Variables (SV)
11. Create friendship between your Fortran file
and Abaqusand Abaqus
Now your input file or CAE model knows
that it has to use a User Subroutine but
Abaqus does not know where to find it!
You have to compile and link Abaqus withYou have to compile and link Abaqus with
your Fortran file
If you use CAE, it’s dead easy!
If you use Command line to submit job, youy j , y
can manually compile and link with Abaqus
12. CAE approach to submit the job
Include your file in job definition and
submit!
13. Command line approach
Use ABAQUS command
It sets all the environmental variables for youy
c:> abaqus job=myJob user=mySubroutine
14. Compiling and linking user subroutines
Ab d d fi d iAbaqus uses commands defined in
C:ABAQUSsiteabaqus_v6.env
My settings”My settings
compile_fortran='df /c /nologo /debug
/include:%I‘
li k l ' / l /d b / b llink_sl='LINK /nologo /debug /subsystem:console
/INCREMENTAL:NO /defaultlib:dformd.lib
/nodefaultlib:dfor.lib /defaultlib:msvcrt.lib
/ d f ltlib td lib/nodefaultlib:msvcrtd.lib
/nodefaultlib:libcd.lib /nodefaultlib:libc.lib
/dll /def:%E /out:%U %F %A %B oldnames.lib
user32 lib ws2 32 lib netapi32 lib advapi32 lib'user32.lib ws2_32.lib netapi32.lib advapi32.lib
15. Now how to Debug
Fi t li f UMAT t bFirst line of UMAT must be
INCLUDE ‘ABA_PARAM.INC’
First line of VUMAT must be
INCLUDE ‘VABA PARAM.INC’INCLUDE VABA_PARAM.INC
These files are located in
C ABAQUS6 5 1 itC:ABAQUS6.5-1site
The easiest way I found is to copy these
files and paste in the same folder where
your FORTRAN file lives!
16. Debugging
M k /d b i i dMake sure /debug is in compile_fortran and link_sl
environmental variables
Now submit the job with the following command
C:> Abaqus –j myJob –user myUser –debug standard dfdev
Fortran debugger of
your system. In Deakin
Abaqus executable that you want to modify
with your User subroutine. Change to
explicit if you are linking a VUMAT y y
we use Digital Fortran
explicit if you are linking a VUMAT
17. Compaq Visual Fortran
Now Visual Fortran starts
Open your FORTRAN fileOpen your FORTRAN file
Set a break point where you want to debug
Run the executable, click on Go (F5)
Use Abaqus I/O units to write data to filesUse Abaqus I/O units to write data to files
Unit 7 is the .msg file
Unit 6 is the .dat file
19. Manual compiling
(if you want to control Digital Fortran)(if you want to control Digital Fortran)
The command line in previous slide, uses Digital
Fortran to compile your user subroutine and
creates an .obj file. Then it uses Digital Fortran
again to link .obj file to Abaqus executable. You
can do this manually:
C:> df myUserSub.f /c /nologo /fixed /debug
C > b j J b U S b bj d b t d d dfdC:> abaqus -j myJob -user myUserSub.obj -debug -standard dfdev
This is useful if you want to control compile and
link flags rather than relying on env file I suggestlink flags rather than relying on env file. I suggest
reading Digital Fortran documentation.
20. VPAC and APAC
VPAC has Abaqus on wexstan vpac orgVPAC has Abaqus on wexstan.vpac.org
APAC has Abaqus on ac.apac.edu.au
First load abaqusFirst load abaqus
module load abaqus [enter]
Use PBS script to submit the job
#!/bi /b h#!/bin/bash
#PBS -l nodes=1:ppn=2
#PBS -l walltime=2:00:00
#PBS -k oe
#PBS -j oe#PBS j oe
# Go to the directory from which you submitted the job
cd $PBS_O_WORKDIR
# module load abaqus
#
# Run your job
abaqus job=myJob
This is the command line
that we talked about! If you
have user subroutine youhave user subroutine, you
have to modify this line.