06 UMAT plasticity 2018 - ETH Z · A large number ofuser subroutines and utility routines is...

55
1

Transcript of 06 UMAT plasticity 2018 - ETH Z · A large number ofuser subroutines and utility routines is...

Page 1: 06 UMAT plasticity 2018 - ETH Z · A large number ofuser subroutines and utility routines is available in Abaqus, that are all programmed in Fortran. Subroutines are different for

1

Page 2: 06 UMAT plasticity 2018 - ETH Z · A large number ofuser subroutines and utility routines is available in Abaqus, that are all programmed in Fortran. Subroutines are different for

2

Page 3: 06 UMAT plasticity 2018 - ETH Z · A large number ofuser subroutines and utility routines is available in Abaqus, that are all programmed in Fortran. Subroutines are different for

3

Page 4: 06 UMAT plasticity 2018 - ETH Z · A large number ofuser subroutines and utility routines is available in Abaqus, that are all programmed in Fortran. Subroutines are different for

A large number of user subroutines and utility routines is available in Abaqus, that are all programmed in Fortran. Subroutines are different for implicit (standard) and explicit solvers. Utility routines can be called inside of subroutines to take care of standard tasks.Here a small subset of the most important routines:

4

Page 5: 06 UMAT plasticity 2018 - ETH Z · A large number ofuser subroutines and utility routines is available in Abaqus, that are all programmed in Fortran. Subroutines are different for

For the explicit solver an own set of user subroutines is available. The VUMAT is again the most important for us.

5

Page 6: 06 UMAT plasticity 2018 - ETH Z · A large number ofuser subroutines and utility routines is available in Abaqus, that are all programmed in Fortran. Subroutines are different for

6

Page 7: 06 UMAT plasticity 2018 - ETH Z · A large number ofuser subroutines and utility routines is available in Abaqus, that are all programmed in Fortran. Subroutines are different for

Basic flow chart with data flow and actions from the start of the ABAQUS standardanalysis until its end.

7

Page 8: 06 UMAT plasticity 2018 - ETH Z · A large number ofuser subroutines and utility routines is available in Abaqus, that are all programmed in Fortran. Subroutines are different for

A more detailed flow of ABAQUS/Standard

8

Page 9: 06 UMAT plasticity 2018 - ETH Z · A large number ofuser subroutines and utility routines is available in Abaqus, that are all programmed in Fortran. Subroutines are different for

The routine should be a Fortran source code or an object file *.obj. The simultaneous

use of multiple subroutines has to be done in one file. If you restart, the user subroutine

has to be assigned again.

9

Page 10: 06 UMAT plasticity 2018 - ETH Z · A large number ofuser subroutines and utility routines is available in Abaqus, that are all programmed in Fortran. Subroutines are different for

10

Page 11: 06 UMAT plasticity 2018 - ETH Z · A large number ofuser subroutines and utility routines is available in Abaqus, that are all programmed in Fortran. Subroutines are different for

11

Page 12: 06 UMAT plasticity 2018 - ETH Z · A large number ofuser subroutines and utility routines is available in Abaqus, that are all programmed in Fortran. Subroutines are different for

12

Page 13: 06 UMAT plasticity 2018 - ETH Z · A large number ofuser subroutines and utility routines is available in Abaqus, that are all programmed in Fortran. Subroutines are different for

Forward integration (Forward Euler (explicit)) is a simple methods, however with stability problems. The strain increment has to be chosen small, much smaller than the magnitude of the elastic strain. Hence for explicit integration the time increment hast to be controlled.

Implicit or semi‐implicit schemes have more complicated algorithms and local iterationsmight be needed, however they are in general more stable and converge.

13

Page 14: 06 UMAT plasticity 2018 - ETH Z · A large number ofuser subroutines and utility routines is available in Abaqus, that are all programmed in Fortran. Subroutines are different for

Jacobian also called Functional matrix or derivative matrix is the m x m matrix of all 1st partial derivatives of  differentiable function.

14

Page 15: 06 UMAT plasticity 2018 - ETH Z · A large number ofuser subroutines and utility routines is available in Abaqus, that are all programmed in Fortran. Subroutines are different for

15

Page 16: 06 UMAT plasticity 2018 - ETH Z · A large number ofuser subroutines and utility routines is available in Abaqus, that are all programmed in Fortran. Subroutines are different for

16

Page 17: 06 UMAT plasticity 2018 - ETH Z · A large number ofuser subroutines and utility routines is available in Abaqus, that are all programmed in Fortran. Subroutines are different for

17

Page 18: 06 UMAT plasticity 2018 - ETH Z · A large number ofuser subroutines and utility routines is available in Abaqus, that are all programmed in Fortran. Subroutines are different for

18

Page 19: 06 UMAT plasticity 2018 - ETH Z · A large number ofuser subroutines and utility routines is available in Abaqus, that are all programmed in Fortran. Subroutines are different for

19

Page 20: 06 UMAT plasticity 2018 - ETH Z · A large number ofuser subroutines and utility routines is available in Abaqus, that are all programmed in Fortran. Subroutines are different for

20

Page 21: 06 UMAT plasticity 2018 - ETH Z · A large number ofuser subroutines and utility routines is available in Abaqus, that are all programmed in Fortran. Subroutines are different for

21

Page 22: 06 UMAT plasticity 2018 - ETH Z · A large number ofuser subroutines and utility routines is available in Abaqus, that are all programmed in Fortran. Subroutines are different for

22

Page 23: 06 UMAT plasticity 2018 - ETH Z · A large number ofuser subroutines and utility routines is available in Abaqus, that are all programmed in Fortran. Subroutines are different for

23

Page 24: 06 UMAT plasticity 2018 - ETH Z · A large number ofuser subroutines and utility routines is available in Abaqus, that are all programmed in Fortran. Subroutines are different for

24

Page 25: 06 UMAT plasticity 2018 - ETH Z · A large number ofuser subroutines and utility routines is available in Abaqus, that are all programmed in Fortran. Subroutines are different for

25

Page 26: 06 UMAT plasticity 2018 - ETH Z · A large number ofuser subroutines and utility routines is available in Abaqus, that are all programmed in Fortran. Subroutines are different for

26

Page 27: 06 UMAT plasticity 2018 - ETH Z · A large number ofuser subroutines and utility routines is available in Abaqus, that are all programmed in Fortran. Subroutines are different for

27

Page 28: 06 UMAT plasticity 2018 - ETH Z · A large number ofuser subroutines and utility routines is available in Abaqus, that are all programmed in Fortran. Subroutines are different for

28

Page 29: 06 UMAT plasticity 2018 - ETH Z · A large number ofuser subroutines and utility routines is available in Abaqus, that are all programmed in Fortran. Subroutines are different for

29

Page 30: 06 UMAT plasticity 2018 - ETH Z · A large number ofuser subroutines and utility routines is available in Abaqus, that are all programmed in Fortran. Subroutines are different for

Flow direction=(Deviatoric stress – alpha)/predicted stress = flowrule

Consistency condition

30

Page 31: 06 UMAT plasticity 2018 - ETH Z · A large number ofuser subroutines and utility routines is available in Abaqus, that are all programmed in Fortran. Subroutines are different for

31

Page 32: 06 UMAT plasticity 2018 - ETH Z · A large number ofuser subroutines and utility routines is available in Abaqus, that are all programmed in Fortran. Subroutines are different for

32

Page 33: 06 UMAT plasticity 2018 - ETH Z · A large number ofuser subroutines and utility routines is available in Abaqus, that are all programmed in Fortran. Subroutines are different for

33

Page 34: 06 UMAT plasticity 2018 - ETH Z · A large number ofuser subroutines and utility routines is available in Abaqus, that are all programmed in Fortran. Subroutines are different for

34

Page 35: 06 UMAT plasticity 2018 - ETH Z · A large number ofuser subroutines and utility routines is available in Abaqus, that are all programmed in Fortran. Subroutines are different for

35

Page 36: 06 UMAT plasticity 2018 - ETH Z · A large number ofuser subroutines and utility routines is available in Abaqus, that are all programmed in Fortran. Subroutines are different for

36

Page 37: 06 UMAT plasticity 2018 - ETH Z · A large number ofuser subroutines and utility routines is available in Abaqus, that are all programmed in Fortran. Subroutines are different for

The Newton-Raphson method is a recursive method, since iterations need the results of previous iterations. The fundamental idea is to linearized the function in a point by taking its tangent. The null of the tangent is then taken as an improved approximation of the null of the function. The obtained approximation is then taken as the starting point for the next iteration, until the approximation goes under a certain limit. The iteration method converges in the best case with quadratic convergence. The number of correct decimals then doubles in each iteration. Formally said, the following procedure is repeated until a desired accuracy is met:

Since solving the delta x_n with the inverse of a matrix with consecutive multiplication with f(x) is costly and numerically unfavorable, the linear equation system JDx=‐f is solved instead, followed by x_n+1 ….. To solve the system several methods exist. If the Jacobian is invertible at the null and continuous, the method converges locally quadratic, what makes it quiet useful.

37

Page 38: 06 UMAT plasticity 2018 - ETH Z · A large number ofuser subroutines and utility routines is available in Abaqus, that are all programmed in Fortran. Subroutines are different for

However there are also other methods around that do the job much better.

Newton‐Raphson method: In each iteration, the tangent matrix has to be calculated freshly and a linear system of equations needs to be solved.

Modified Netwon‐Raphson method: Here the tangent stiffness matrix is only calculatedat the beginning of the iteration. All consecutive iterations use the same matrix, what gave the method the name of the method of initial stiffness's. Since many iterations are needed due to low convergence rates, it is mainly used for small non‐linearity.

Quasi‐Newton methods are a class of numerical methods for solving non‐linear minimization problems. The methods are based on the Newton‐method, but calculate the inverse of the Jacobian matrix not directly, but approximate them only to limit the computational cost per iteration. The first algorithm was proposes in 1950 by the physicist Davidon. The most known variants are the Broyden‐Fletcher‐Goldfarb‐Shanno(BFGS) and Davidon‐Fletcher‐Powell (DFP), Broyden or SR1 a.s.o.

38

Page 39: 06 UMAT plasticity 2018 - ETH Z · A large number ofuser subroutines and utility routines is available in Abaqus, that are all programmed in Fortran. Subroutines are different for

The arc‐length method helps for non‐linearity in FEM applications to reach quite fast the implicit solution. It is a modification of the Newton‐Raphson‐method, that is usable for stability analysis and non‐linear static simulations, in particular in the domain of limit states and for buckling and post‐buckling. As one can see from the graph that opposite to the Newton‐Raphson method the aim of the equilibrium integrations is not the load amplitude but approaches the solution on a curve. This arc represents an equilibrium curve derived from the DOF‐values and a loading factor. For applications with large changes the radius of the acr (load factor) should be small enough. The arc‐length method does not work well for abrupt, unsteady non‐linearity like contact or elastic‐ideally plastic material. Variants are the Riks‐method.

39

Page 40: 06 UMAT plasticity 2018 - ETH Z · A large number ofuser subroutines and utility routines is available in Abaqus, that are all programmed in Fortran. Subroutines are different for

40

Page 41: 06 UMAT plasticity 2018 - ETH Z · A large number ofuser subroutines and utility routines is available in Abaqus, that are all programmed in Fortran. Subroutines are different for

41

Page 42: 06 UMAT plasticity 2018 - ETH Z · A large number ofuser subroutines and utility routines is available in Abaqus, that are all programmed in Fortran. Subroutines are different for

42

Page 43: 06 UMAT plasticity 2018 - ETH Z · A large number ofuser subroutines and utility routines is available in Abaqus, that are all programmed in Fortran. Subroutines are different for

43

Page 44: 06 UMAT plasticity 2018 - ETH Z · A large number ofuser subroutines and utility routines is available in Abaqus, that are all programmed in Fortran. Subroutines are different for

44

Page 45: 06 UMAT plasticity 2018 - ETH Z · A large number ofuser subroutines and utility routines is available in Abaqus, that are all programmed in Fortran. Subroutines are different for

45

Page 46: 06 UMAT plasticity 2018 - ETH Z · A large number ofuser subroutines and utility routines is available in Abaqus, that are all programmed in Fortran. Subroutines are different for

46

Page 47: 06 UMAT plasticity 2018 - ETH Z · A large number ofuser subroutines and utility routines is available in Abaqus, that are all programmed in Fortran. Subroutines are different for

47

Page 48: 06 UMAT plasticity 2018 - ETH Z · A large number ofuser subroutines and utility routines is available in Abaqus, that are all programmed in Fortran. Subroutines are different for

48

Page 49: 06 UMAT plasticity 2018 - ETH Z · A large number ofuser subroutines and utility routines is available in Abaqus, that are all programmed in Fortran. Subroutines are different for

49

Page 50: 06 UMAT plasticity 2018 - ETH Z · A large number ofuser subroutines and utility routines is available in Abaqus, that are all programmed in Fortran. Subroutines are different for

50

Page 51: 06 UMAT plasticity 2018 - ETH Z · A large number ofuser subroutines and utility routines is available in Abaqus, that are all programmed in Fortran. Subroutines are different for

51

Page 52: 06 UMAT plasticity 2018 - ETH Z · A large number ofuser subroutines and utility routines is available in Abaqus, that are all programmed in Fortran. Subroutines are different for

52

Page 53: 06 UMAT plasticity 2018 - ETH Z · A large number ofuser subroutines and utility routines is available in Abaqus, that are all programmed in Fortran. Subroutines are different for

The most popular method for integrating the plasticity equations is radial return mapping. Initially developed for J2 plasticity, it was generalized to arbitrary convex yield surfaces and yield stress functions. The principle is simple: First the stress is updated assuming that the response is elastic, then if it is outside the yield surface, the stress is projected on to the closest point of the yield surface.  If the material is perfectly plastic, the yield surface is constant, but if h > 0, the yield surface expands during the plastic flow, and the stress is projected on the expanded yield surface. The data available at the beginning of the radial return update is the previous stress, equivalent plastic strain, and increment in the strain. By the end of the radial return procedure, the stress and equivalent plastic strain have been updated. Main drawback is the need for computing gradients of the flow rule and hardening laws, what can be laborious for complicated plasticity models.

53

Page 54: 06 UMAT plasticity 2018 - ETH Z · A large number ofuser subroutines and utility routines is available in Abaqus, that are all programmed in Fortran. Subroutines are different for

Another plastic return mapping algorithm is the Cutting plane algorithm proposed by Ortiz and Simo 1985. It avoids the need for computing the gradients of the flow rule and hardening function. The direction of the return mapping is always the steepest descent and a sequence of straight segments. Opposite to the radial return mapping, it is an explicit procedure. It converges very fast.

54

Page 55: 06 UMAT plasticity 2018 - ETH Z · A large number ofuser subroutines and utility routines is available in Abaqus, that are all programmed in Fortran. Subroutines are different for

55