Solving solid mechanics problems with material plasticity

General discussion about Elmer
mika
Posts: 230
Joined: 15 Sep 2009, 07:44

Re: Solving solid mechanics problems with material plasticity

Post by mika »

If ElasticSolver finds that a UMAT Subroutine has been specified, it doesn't use the standard keywords to seek for the basic material parameters such as Young's modulus and Poisson's ratio from the sif file. Instead such parameters are expected to be specified by using the keyword Material Constants. Elmer doesn't suppose anything about what these parameters are and how they are ordered, so you can decide for example that Young's modulus will be the second entry of Material Constants array. It's again a user's task to use these values consistently within the specific implementation of UMAT subroutine. The content of Material Constants array as specified in the sif file will be copied to be the PROPS argument of the UMAT template definition.

-- Mika
kevinarden
Posts: 2237
Joined: 25 Jan 2019, 01:28
Antispam: Yes

Re: Solving solid mechanics problems with material plasticity

Post by kevinarden »

Thanks.

My experience with finite element programming is limited to F=Kx, where K is a global stiffness matrix assembled from element stiffness matrices that are dependent on Young's Modulus. F is the provided load and K is inverted to solve for x=F/K. x is then used to calculated all other quantities.

In the plastic model E is not constant, it is a variable depending on where the solution is on the stress strain curve. However E does not appear to be used outside the UMAT. In the UMAT it is can be used to calculate stress using the strain increment, but how does the stiffness of the elements get updated if E changes?

Kevin
mika
Posts: 230
Joined: 15 Sep 2009, 07:44

Re: Solving solid mechanics problems with material plasticity

Post by mika »

Elmer utilizes the return values of UMAT to perform (inexact) Newton's iteration, so that a linear system is constructed to obtain the solution increment. In very loose terms I'd say that the returned derivative of (Cauchy) stress response function offers a substitute description for the effect of having changing modulus of elasticity. If you look at the example implementation of linear isotropic model in UMATLib, the stress derivative is indeed computed in terms of Young's modulus (and Poisson's ratio) and to implement Newton's iteration Young's modulus need not be accessed outside the UMAT subroutine.

-- Mika
kevinarden
Posts: 2237
Joined: 25 Jan 2019, 01:28
Antispam: Yes

Re: Solving solid mechanics problems with material plasticity

Post by kevinarden »

This white paper is revisiting doing plastic analyses with young modulus as a function of strain. It seems viable for a uniaxial tensile load case. I am currently testing a plastic model UMAT subroutine.
Material Plasticity.pdf
(427.69 KiB) Downloaded 307 times
plastic_case.zip
(11.32 KiB) Downloaded 269 times
This approach requires the user control the time stepping and the youngs modulus table to keep the solution on track. Hopefully, a UMAT model would avoid this.
kevinarden
Posts: 2237
Joined: 25 Jan 2019, 01:28
Antispam: Yes

Re: Solving solid mechanics problems with material plasticity

Post by kevinarden »

Testing UMAT

In testing for UMAT I created a one element model (type 409) to pull in each direction to test results. The XX direction worked very well.
In the YY direction Elmer without UMATs solved it correctly. Both the provided UMAT (linear_isotropic) and my UMAT failed. In the sif files you can swithc between no umat and umat by commenting out the appropriate material section.

Any ideas what the problem is?
mesh.zip
(723 Bytes) Downloaded 286 times
test_xx.sif
(2.18 KiB) Downloaded 255 times
test_yy.sif
(2.18 KiB) Downloaded 264 times
kevinarden
Posts: 2237
Joined: 25 Jan 2019, 01:28
Antispam: Yes

Re: Solving solid mechanics problems with material plasticity

Post by kevinarden »

Results for previous post, the sress results are equally off for YY, the displacement is large
testxx.png
testxx.png (33.86 KiB) Viewed 4833 times
testyy.png
testyy.png (32.04 KiB) Viewed 4833 times
kevinarden
Posts: 2237
Joined: 25 Jan 2019, 01:28
Antispam: Yes

Re: Solving solid mechanics problems with material plasticity

Post by kevinarden »

Switching to Element 408 resolved the issue. Must be something about 409 and the UMAT

Kevin
mika
Posts: 230
Joined: 15 Sep 2009, 07:44

Re: Solving solid mechanics problems with material plasticity

Post by mika »

I made some small changes to your sif files. After that the standard material model and the UMAT version as available from UMATLib give the same results. To have the same Poisson's ratio 1.E-12 the material constants array must be defined for the example implementation of UMATLib as

Material Constants(3) = Real 1.0 70e9 1.E-12

To prevent an arbitrary rigid body movement in the orthogonal direction to the applied force I also added a pointwise constraint for the displacement. I tested with the element type 409. I'm attaching the altered sif files.

-- Mika
Attachments
test_yy_alt.sif
(2.27 KiB) Downloaded 261 times
test_xx_alt.sif
(2.27 KiB) Downloaded 238 times
kevinarden
Posts: 2237
Joined: 25 Jan 2019, 01:28
Antispam: Yes

Re: Solving solid mechanics problems with material plasticity

Post by kevinarden »

Thank you,

I will test it out.

Kevin
kevinarden
Posts: 2237
Joined: 25 Jan 2019, 01:28
Antispam: Yes

Re: Solving solid mechanics problems with material plasticity

Post by kevinarden »

Great now elements 404, 408. 409, and 808 pass the XX and YY test.

Not fairing as well when XY is involved. This is a cantliver beam 1 unit long 0.1 unit high with an end load of 3E6. Elmer and UMAT produce the same results but it doesn't match the calculated solution. XX works for the model.
For inplane bending I get the same results with 408 and 808, but it is low by a factor of 10.
cantilver.png
cantilver.png (16.06 KiB) Viewed 4819 times
beam.zip
(8.33 KiB) Downloaded 279 times
Kevin
Post Reply