robidpra
Mechanical
- Mar 24, 2020
- 12
Hi all,
I'm trying to figure out something. I have a coupled temperature-displacement analysis with a UMAT & UMATHT subroutine. The UMAT describes the mechanical behaviour, and the UMATHT describes the heat conduction. I want to introduce a boundary condition for the temperature when certain conditions are met, at a specific location. In other words, each increment, Abaqus should check in which nodes, the conditions are met, and then apply a constant temperature to these nodes. The rest of the nodes should be unchanged (no boundary condition applied!, i.e. the temperature should be calculated based on the UMATHT information).
This final aspect is the problem. I tried to use a DISP subroutine that changed the temperature based on the conditions, but this causes the specific boundary condition to be active at all times (and I want no boundary condition in these cases!). The problem is that DISP is called every time, whereas I only want to call 'DISP' upon certain conditions...
Is there a solution for my specific problem? I also looked at UTEMP but that does not seem to work either. The rigorous alternative that I can think of is redo the simulation each increment with updated boundary conditions but that seems exorbitant.
Kind regards
I'm trying to figure out something. I have a coupled temperature-displacement analysis with a UMAT & UMATHT subroutine. The UMAT describes the mechanical behaviour, and the UMATHT describes the heat conduction. I want to introduce a boundary condition for the temperature when certain conditions are met, at a specific location. In other words, each increment, Abaqus should check in which nodes, the conditions are met, and then apply a constant temperature to these nodes. The rest of the nodes should be unchanged (no boundary condition applied!, i.e. the temperature should be calculated based on the UMATHT information).
This final aspect is the problem. I tried to use a DISP subroutine that changed the temperature based on the conditions, but this causes the specific boundary condition to be active at all times (and I want no boundary condition in these cases!). The problem is that DISP is called every time, whereas I only want to call 'DISP' upon certain conditions...
Is there a solution for my specific problem? I also looked at UTEMP but that does not seem to work either. The rigorous alternative that I can think of is redo the simulation each increment with updated boundary conditions but that seems exorbitant.
Kind regards