abaqus deakin subroutines ali alireza [modo de compatibilidade]
Post on 13-Sep-2014
307 views
DESCRIPTION
TRANSCRIPT
Abaqus User
Alireza Asgari
qSubroutine Primer
Alireza AsgariCentre for Material and Fibre Innovation
Deakin Universityy
Running Abaqus
Your work station CAD lab PCs
Debug your subroutines here and Submit your jobs hereCAD lab PCs y j
User subroutines
Lecture 7 of User Subroutine tutorial isLecture 7 of User Subroutine tutorial is about UMAT and VUMATL t 7 h 9 l !Lecture 7 has 9 examples!
Lecture 7 on P drive
What is UMAT and VUMAT
UMAT and VUMAT
I Ab /St d d th d fi dIn Abaqus/Standard the user-defined material model is implemented in user subroutine UMATIn Abaqus/Explicit the user-defined q pmaterial model is implemented in user subroutine VUMATsub out e UUse UMAT and VUMAT if existing material models of Abaqus do not represent themodels of Abaqus do not represent the behaviour of your material
Requirements of Mechanics
E ilib iEquilibrium
CompatibilityCompatibilityDisplacements are continuous and satisfies boundary conditionsboundary conditions
Constitutive lawStress can be calculated from strains using the stress-strain relationship!
UMAT VUMATUMAT or VUMAT
Steps required in writing a UMAT or VUMATVUMAT
1. Define your constitutive equationExplicit definition of stress in terms of strainpDefinition of the stress rate onlyDefinition of dependence on timeDefinition of dependence on time, temperature, etcD fi iti f i t l t t i bl ithDefinition of internal state variables, either explicitly or in rate form
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 conventions4 I i i li ll i bl l4. Initialize all variables properly5. Use ABAQUS utility routines6 A i h f S6. Assign enough storage space for State
Variables (SV)
UMAT interface
Include your UMAT Input filepAbaqus/CAE
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, you y j , ycan manually compile and link with Abaqus
CAE approach to submit the job
Include your file in job definition and submit!
Command line approach
Use ABAQUS commandIt sets all the environmental variables for youy
c:\> abaqus job=myJob user=mySubroutine
Compiling and linking user subroutines
Ab d d fi d iAbaqus uses commands defined in C:\ABAQUS\site\abaqus_v6.envMy 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
Now how to Debug
Fi t li f UMAT t bFirst line of UMAT must beINCLUDE ‘ABA_PARAM.INC’
First line of VUMAT must beINCLUDE ‘VABA PARAM.INC’INCLUDE VABA_PARAM.INC
These files are located in C \ABAQUS\6 5 1\ itC:\ABAQUS\6.5-1\site
The easiest way I found is to copy these files and paste in the same folder where your FORTRAN file lives!
Debugging
M k /d b i i dMake sure /debug is in compile_fortran and link_slenvironmental variablesNow 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 toexplicit if you are linking a VUMAT y y
we use Digital Fortranexplicit if you are linking a VUMAT
Compaq Visual Fortran
Now Visual Fortran startsOpen your FORTRAN fileOpen your FORTRAN fileSet 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 fileUnit 6 is the .dat file
Compaq Visual Fortran
Run (GO)
BreakpointBreakpoint
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.
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 abaqusmodule 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 jobcd $PBS_O_WORKDIR
# module load abaqus## Run your jobabaqus 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.