46910: PHD Course in Advanced Finite Element Simulations Using Abaqus

You might also like

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 44

46910: PhD Course in advanced finite

element simulations using Abaqus


Lars P. Mikkelsen
DTU Wind Energy

Topic 3f: User subroutines


• Different user subroutines
• Build up a UMAT case

• Note that the Fortran part does note work on the Scientific
desktop 2017. Therefore, we have made a new “Abaqus
Desktop 2018” which is the Abaqus 2018 version and where
the Fortran part is working
Motivation – Why & when to use user
subroutines?

• When Standard Abaqus built-in capabilities are limited,


restrictive or insufficient

• Go away from black-box modelling

• Achieve more accurate material models from experimental


data

• Adapt Abaqus to a particular analysis requirement

• Straightforward for other to use your code

2 DTU Wind Energy, Technical University of Denmark Topic 3f, User subroutines Spring 2018
Some common Abaqus subroutines

• CREEP - to define time-dependent, viscoplastic deformation in a material

• DLOAD - to define nonuniform, distributed mechanical loads

• FILM - to describe complex film coefficient behavior (f(T), f(STV), etc.)

• FRIC - to describe the transmission of shear forces between surfaces

• HETVAL - to define complex models for internal heat generation in a material

• UEXPAN - to define incremental thermal (or other) strains

• UEL - to create user defined elements

• UMAT - to define any complex, constitutive models

• USDFLD - to define values of field variables directly at element integration points

• UVARM - for defining a user output variable (e.g. for post-procesing)

3 DTU Wind Energy, Technical University of Denmark Topic 3f, User subroutines Spring 2018
Simple example: UVARM user subroutine
- for defining a user output variable

4 DTU Wind Energy, Technical University of Denmark Topic 3f, User subroutines Spring 2018
UVARM
- Modification of the Necking model in order
to add a stop criteria (stop when LE22>0.1)

5 DTU Wind Energy, Technical University of Denmark Topic 3f, User subroutines Spring 2018
Add user subroutine to job
description

6 DTU Wind Energy, Technical University of Denmark Topic 3f, User subroutines Spring 2018
Uvarm.for
example

• Use uvarm to define a


stop criteria for the
analysis

7 DTU Wind Energy, Technical University of Denmark Topic 3f, User subroutines Spring 2018
Output from the example

• Output:

When upgrade model: Open up in now version


and unlock parts and instances by right click
8 DTU Wind Energy, Technical University of Denmark Topic 3f, User subroutines Spring 2018
Other example: Define a new field variable

9 DTU Wind Energy, Technical University of Denmark Topic 3f, User subroutines Spring 2018
Output

10 DTU Wind Energy, Technical University of Denmark Topic 3f, User subroutines Spring 2018
Python way of modifying field output
• Example: Normalize S11 with applied stress

11 DTU Wind Energy, Technical University of Denmark Topic 3f, User subroutines Spring 2018
Plot options

12 DTU Wind Energy, Technical University of Denmark Topic 3f, User subroutines Spring 2018
Where User subroutines fit into Abaqus/Std

Global flow

In the first iteration of an increment all


subroutines shown in the figure are called twice:
– First call: the initial stiffness matrix is being
formed using the configuration of the model at
the start of the increment.
– Second call: a new stiffness, based on the
updated configuration of the model, is created.

• In subsequent iterations the subroutines are


called only once.
– The corrections to the model’s configuration
are calculated using the stiffness from the end of
the previous iteration.

Important to know when


debugging!

13 DTU Wind Energy, Technical University of Denmark Topic 3f, User subroutines Spring 2018
Implementing material models
- common choice

14 DTU Wind Energy, Technical University of Denmark Topic 3f, User subroutines Spring 2018
USDFLD:
Define Field parameter in material points

Define material properties, e.g. the stiffness E, as function of field parameters

15 DTU Wind Energy, Technical University of Denmark Topic 3f, User subroutines Spring 2018
Example of USDFLD from Abaqus Manual

• http://
abaqus.software.polimi.it/v6.14/books/exa/default.htm?startat=ch01s01
aex14.html#exa-sta-damagefailcomplate

16 DTU Wind Energy, Technical University of Denmark Topic 3f, User subroutines Spring 2018
Example of USDFLD from Abaqus Manual

• http://
abaqus.software.polimi.it/v6.14/books/exa/default.htm?startat=ch01s01
aex14.html#exa-sta-damagefailcomplate

17 DTU Wind Energy, Technical University of Denmark Topic 3f, User subroutines Spring 2018
UMAT: User defined materials

NTENS=NDI+NSHR (normal and shear stress components)

  written on vector form


18 DTU Wind Energy, Technical University of Denmark Topic 3f, User subroutines Spring 2018
Good reference for UMAT implementation
including large deformations

19 DTU Wind Energy, Technical University of Denmark Topic 3f, User subroutines Spring 2018
Uel: User defined element

Example on Uel-model:
Sørensen, K. D., Mikkelsen, L. P., & Jensen, H. M. (2009). User subroutine for
compressive failure of composites. In 2009 Simulia Customer Conference (pp.
618–632). London, UK: SIMULIA. Retrieved from
20 DTU Wind Energy, Technical University of Denmark Topic 3f, User subroutines Spring 2018
http://www.pmik.dk/RefWorks/Mikkelsen-SCC2009.pdf
Uel - Visualization: E.g. using UMAT shadow
elements with zero stiffness

21 DTU Wind Energy, Technical University of Denmark Topic 3f, User subroutines Spring 2018
Modify Box-script to Umat model

22 DTU Wind Energy, Technical University of Denmark Topic 3f, User subroutines Spring 2018
Possible error when using reduced
integration
*.dat

*.inp

23 DTU Wind Energy, Technical University of Denmark Topic 3f, User subroutines Spring 2018
Modify Element Definition

24 DTU Wind Energy, Technical University of Denmark Topic 3f, User subroutines Spring 2018
Extra field output

25 DTU Wind Energy, Technical University of Denmark Topic 3f, User subroutines Spring 2018
Including the UMAT to the analysis

Set location of subroutine here.

NB: Subroutines fortran files


end with ”.f” on unix platforms
and ”.for” on windows

26 DTU Wind Energy, Technical University of Denmark Topic 3f, User subroutines Spring 2018
Including user defined State variables
(STATEV)

Set number of user state


variables to be used here!

27 DTU Wind Energy, Technical University of Denmark Topic 3f, User subroutines Spring 2018
UMAT subroutine

Subroutine Identifier including


the variables that can be called
into the subroutine from
Abaqus

Specifies implicit precision


Called “VABA_PARAM.INC” for
explicit schemes

Your code here !

Recommended text editors: Notepad++, Kwrite (linux)

28 DTU Wind Energy, Technical University of Denmark Topic 3f, User subroutines Spring 2018
Detailed information in the manual:
Abaqus User Subroutines Reference Guide

29 DTU Wind Energy, Technical University of Denmark Topic 3f, User subroutines Spring 2018
Detailed information in the manual:
Abaqus User Subroutines Reference Guide

• Start with the code presented in the manual


under the ”User subroutine interface” and
identify what should and can be defined in the
routine.

30 DTU Wind Energy, Technical University of Denmark Topic 3f, User subroutines Spring 2018
31 DTU Wind Energy, Technical University of Denmark Topic 3f, User subroutines Spring 2018
32 DTU Wind Energy, Technical University of Denmark Topic 3f, User subroutines Spring 2018
33 DTU Wind Energy, Technical University of Denmark Topic 3f, User subroutines Spring 2018
Strategi
• Extract the code from the user manual

• Make a very simple version e.g. the one on the previous slide which can run

• Start making a Umat model which also is in Abaqus and compare the solution

• Use fortran 77 notation


– If using implicit declaration variables starting with I,J,K,L,M and N are
integers. All other are real
– When integers: 2/3 == 0 (like default Python)
– Column 1: “c” or “*” for comments
– Column 1-5: Statement label
– Column 6: indicate continuation of the previous line
– Column 7-71: Code
– Case insensitive variables
– For more see e.g. : http://
web.stanford.edu/class/me200c/tutorial_77/index.html

34 DTU Wind Energy, Technical University of Denmark Topic 3f, User subroutines Spring 2018
Some Do’s and Dont’s
• User variables implemented should range from A-H, O-Z

• For debugging use ” WRITE(6,*)‘<Your text here>‘, <variable>” to write


to output data file
-> or .dat file in directory

• Debug everytime you add something


new!

• Always keep the model as simple


as possible during implementation

• Pay attention to Fortran coding


conventions!

35 DTU Wind Energy, Technical University of Denmark Topic 3f, User subroutines Spring 2018
UMAT implementation exercise

• In the exercise you will test your own implemented UMAT codes in tension
and shear, for single and multiple element 2D plane strain cases:

• Why?
– The four-element problem - ‘free’ node
– The force controlled test is important for checking errors in the Jacobian
– Shear tests control correct use of e.g. engineering shear strains

36 DTU Wind Energy, Technical University of Denmark Topic 3f, User subroutines Spring 2018
3D, plane strain and plane stress
• 3D constitutive law

37 DTU Wind Energy, Technical University of Denmark Topic 3f, User subroutines Spring 2018
3D -> 2D Plane strain

 xy  2 xy

• Plane strain: (      0)
zz yz xz

 xx   xx 
   
 
yy
 PE  PE  
yy
 zz    zz 
   
 xy   xy 

38 DTU Wind Energy, Technical University of Denmark Topic 3f, User subroutines Spring 2018
3D -> 2D plane stress

• Plane stress: ( zz   yz   xz  0)

 xx   xx 
   
 PS   yy   PS   yy 
 xy   xy 
   

39 DTU Wind Energy, Technical University of Denmark Topic 3f, User subroutines Spring 2018
Startup Umat.for routine: Plane strain case

40 DTU Wind Energy, Technical University of Denmark Topic 3f, User subroutines Spring 2018
Script for running the Umat model

41 DTU Wind Energy, Technical University of Denmark Topic 3f, User subroutines Spring 2018
Script for running the Umat model

42 DTU Wind Energy, Technical University of Denmark Topic 3f, User subroutines Spring 2018
43 DTU Wind Energy, Technical University of Denmark Topic 3f, User subroutines Spring 2018
Some good references
• F. Dunne & N. Petrinic ”Introduction to
Computational Plasticity”, Department of
Engineering Science, Oxford University
Press, 1st Edition, 2005.

• http://www.pages.drexel.edu/~
ww46/pictures/files/ImplementationofVUMAT
.pdf

Forums:
• www.polymerfem.com
• www.imechanica.org

44 DTU Wind Energy, Technical University of Denmark Topic 3f, User subroutines Spring 2018

You might also like