Solving solid mechanics problems with material plasticity

General discussion about Elmer
kevinarden
Posts: 154
Joined: 25 Jan 2019, 01:28
Antispam: Yes

Re: Solving solid mechanics problems with material plasticity

Post by kevinarden » 05 Mar 2019, 12:27

IF (UseUMAT .AND. TransientSimulation) CALL Fatal('ElasticSolve', &
'UMAT version does not yet support transient simulation')

Transient is required for plasticity. I programmed my plastic model UMAT, but without transient there is no path forward. Not transient in the dynamic sense but stepping in increments, time is often used to make the increment. Load is increased with time, velocity and accelerations are not required.

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

Re: Solving solid mechanics problems with material plasticity

Post by mika » 06 Mar 2019, 09:39

Hi,

The umat version doesn't yet take into account inertia forces, but it should nevertheless be possible to apply load increments by making the simulation in the "scanning" mode:

Simulation
...
Simulation Type = Scanning
Timestep Intervals = ...

Then there exist a time-like variable that can be used to apply load increments, for example

Body Force ...
Stress Bodyforce 1 = Variable Time
Real MATC "(tx/2)*1e8"
...

-- Mika

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

Re: Solving solid mechanics problems with material plasticity

Post by kevinarden » 06 Mar 2019, 11:42

Thanks, I have my UMAT compiled, so I will start testing today.

Kevin

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

Re: Solving solid mechanics problems with material plasticity

Post by mika » 08 Mar 2019, 16:59

I need to mention that we just changed in the devel branch the way how a user-defined UMAT subroutine can be included, so my previous instructions are not any more fully working. The main objective was to ease the compilation by removing the user's need to compile the whole solver of Elmer when introducing a new material model. Now a consistent version of the elmerf90 command is only needed. Free hand is also given to name alternate subroutines that follow the umat convention.

The file .../fem/src/UMAT.F90 doesn't any more exist. Instead we introduced a new file ../fem/src/modules/UMATLib.F90 which contains both the template subroutine for creating new material models in the umat form and some ready example implementations. The old keywords "Use UMAT" and "User Defined UMAT" are now obsolete. To specify a material model in the umat form, one must now use the keyword "UMAT Subroutine" in a material section in order to specify the file (that can be generated with an elmerf90 command before simulation) and to pick the subroutine desired.

For example, if the arguments of a subroutine my_umat follow the umat convention and this subroutine is contained in a file MyUMATLib.F90, you may compile it as

elmerf90 MyUMATLib.F90 -o MyUMATLib

Then having

UMAT Subroutine = File "MyUMATLib" "my_umat"

in a material section should pick the material model defined in the subroutine my_umat as active. For updated examples you may again see the directories .../fem/tests/UMAT_*.

-- Mika

Post Reply