abaqus deakin subroutines ali alireza [modo de compatibilidade]

20
Abaqus User Alireza Asgari Subroutine Primer Alireza Asgari Centre for Material and Fibre Innovation Deakin University

Post on 13-Sep-2014

307 views

Category:

Automotive


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Abaqus deakin subroutines ali alireza [modo de compatibilidade]

Abaqus User

Alireza Asgari

qSubroutine Primer

Alireza AsgariCentre for Material and Fibre Innovation

Deakin Universityy

Page 2: Abaqus deakin subroutines ali alireza [modo de compatibilidade]

Running Abaqus

Your work station CAD lab PCs

Debug your subroutines here and Submit your jobs hereCAD lab PCs y j

Page 3: Abaqus deakin subroutines ali alireza [modo de compatibilidade]

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!

Page 4: Abaqus deakin subroutines ali alireza [modo de compatibilidade]

Lecture 7 on P drive

Page 5: Abaqus deakin subroutines ali alireza [modo de compatibilidade]

What is UMAT and VUMAT

Page 6: Abaqus deakin subroutines ali alireza [modo de compatibilidade]

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

Page 7: Abaqus deakin subroutines ali alireza [modo de compatibilidade]

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

Page 8: Abaqus deakin subroutines ali alireza [modo de compatibilidade]

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

Page 9: Abaqus deakin subroutines ali alireza [modo de compatibilidade]

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)

Page 10: Abaqus deakin subroutines ali alireza [modo de compatibilidade]

UMAT interface

Include your UMAT Input filepAbaqus/CAE

Page 11: Abaqus deakin subroutines ali alireza [modo de compatibilidade]

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

Page 12: Abaqus deakin subroutines ali alireza [modo de compatibilidade]

CAE approach to submit the job

Include your file in job definition and submit!

Page 13: Abaqus deakin subroutines ali alireza [modo de compatibilidade]

Command line approach

Use ABAQUS commandIt sets all the environmental variables for youy

c:\> abaqus job=myJob user=mySubroutine

Page 14: Abaqus deakin subroutines ali alireza [modo de compatibilidade]

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

Page 15: Abaqus deakin subroutines ali alireza [modo de compatibilidade]

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!

Page 16: Abaqus deakin subroutines ali alireza [modo de compatibilidade]

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

Page 17: Abaqus deakin subroutines ali alireza [modo de compatibilidade]

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

Page 18: Abaqus deakin subroutines ali alireza [modo de compatibilidade]

Compaq Visual Fortran

Run (GO)

BreakpointBreakpoint

Page 19: Abaqus deakin subroutines ali alireza [modo de compatibilidade]

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.

Page 20: Abaqus deakin subroutines ali alireza [modo de compatibilidade]

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.