robidpra
Mechanical
- Mar 24, 2020
- 12
Hello,
I'm currently writing a UMAT. The constitutive equations of the material are based on the gradient in pressure stress (∇p) of the previous increment. I know it's possible to access the pressure stress at the integration points in the UMAT, but with some test simulations (C3D8 elements), the nodal stress values differ a lot from the integration point stress values. For this reason, I want to calculate the gradient based on the nodal stress values (i.e. averaged over the elements connected).
Is there any way I can access these nodal values in my UMAT? I saw that there is a user subroutine GETVRMAVGATNODE that could do what I want, but it has to be called in subroutine UMESHMOTION, used for adaptive meshing, and I do not have an adaptive mesh.
Or would it be possible to code a subroutine that does the averaging for each node, after each increment is completed?
Many thanks!
I'm currently writing a UMAT. The constitutive equations of the material are based on the gradient in pressure stress (∇p) of the previous increment. I know it's possible to access the pressure stress at the integration points in the UMAT, but with some test simulations (C3D8 elements), the nodal stress values differ a lot from the integration point stress values. For this reason, I want to calculate the gradient based on the nodal stress values (i.e. averaged over the elements connected).
Is there any way I can access these nodal values in my UMAT? I saw that there is a user subroutine GETVRMAVGATNODE that could do what I want, but it has to be called in subroutine UMESHMOTION, used for adaptive meshing, and I do not have an adaptive mesh.
Or would it be possible to code a subroutine that does the averaging for each node, after each increment is completed?
Many thanks!