# Strain increment in UMAT

**URL:** <https://calculix.discourse.group/t/strain-increment-in-umat/2742>\
**Category:** Uncategorized\
**Created:** [May 16, 2025, 4:00pm UTC](https://calculix.discourse.group/t/strain-increment-in-umat/2742 "2025-05-16T16:00:17Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![MJJ](https://avatars.discourse-cdn.com/v4/letter/m/b487fb/32.png) [@MJJ](https://calculix.discourse.group/u/MJJ)\
**Post date:** [May 16, 2025, 4:00pm UTC](https://calculix.discourse.group/t/strain-increment-in-umat/2742/1 "2025-05-16T16:00:17Z")

</div>

I noticed that a user material takes in `emec` and `emec0` in the caclulix interface or `DSTRAN` in the abaqus interface.

I’m assuming `DSTRAN = emec - emec0` comes from the displacement increment computed at every newton iteration. But to solve for that displacement increment, we need stress and the material tangent modulii (`DDSDDE`). However, to get these values, we need to call the UMAT which takes in the strain increment. So, I am confused because it seems like a circular dependence.

Obviously i am misunderstanding something. Can someone who knows the internals help me understand? Thanks!

---

<div class="post-metadata">

**Author:** ![jbr](https://avatars.discourse-cdn.com/v4/letter/j/ecccb3/32.png) [@jbr](https://calculix.discourse.group/u/jbr)\
**Post date:** [May 16, 2025, 4:09pm UTC](https://calculix.discourse.group/t/strain-increment-in-umat/2742/2 "2025-05-16T16:09:20Z")

</div>

Check the umat examples. I believe there is an Abaqus example and also you can look at the \*elastic implementation

---

<div class="post-metadata">

**Author:** ![MJJ](https://avatars.discourse-cdn.com/v4/letter/m/b487fb/32.png) [@MJJ](https://calculix.discourse.group/u/MJJ)\
**Post date:** [May 16, 2025, 4:41pm UTC](https://calculix.discourse.group/t/strain-increment-in-umat/2742/3 "2025-05-16T16:41:19Z")

</div>

I think I need to go deeper than the UMAT level. Right now, I’m lost in this file: [resultsmech.f](https://github.com/Dhondtguido/CalculiX/blob/b43a1d6ece80d540013225dbd0bb59ca03d95a54/src/resultsmech.f#L925)

I am trying to find out how the strain at end of the increment is determined (emec)
