Solving solid mechanics problems with material plasticity

mika
Posts: 157
Joined: 15 Sep 2009, 07:44

Re: Solving solid mechanics problems with material plasticity

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: 642
Joined: 25 Jan 2019, 01:28
Antispam: Yes

Re: Solving solid mechanics problems with material plasticity

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: 157
Joined: 15 Sep 2009, 07:44

Re: Solving solid mechanics problems with material plasticity

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: 642
Joined: 25 Jan 2019, 01:28
Antispam: Yes

Re: Solving solid mechanics problems with material plasticity

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
plastic_case.zip
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: 642
Joined: 25 Jan 2019, 01:28
Antispam: Yes

Re: Solving solid mechanics problems with material plasticity

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
test_xx.sif
test_yy.sif

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

Re: Solving solid mechanics problems with material plasticity

Results for previous post, the sress results are equally off for YY, the displacement is large
testxx.png (33.86 KiB) Viewed 1063 times
testyy.png (32.04 KiB) Viewed 1063 times

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

Re: Solving solid mechanics problems with material plasticity

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

Kevin

mika
Posts: 157
Joined: 15 Sep 2009, 07:44

Re: Solving solid mechanics problems with material plasticity

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
test_xx_alt.sif

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

Re: Solving solid mechanics problems with material plasticity

Thank you,

I will test it out.

Kevin

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

Re: Solving solid mechanics problems with material plasticity

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 (16.06 KiB) Viewed 1049 times
beam.zip