I have an UMAT to use an orthotropic failure criteria that I use in Abaqus, say I want to start using Abaqus Explicit, what are the changes needed to go from UMAT to VMAT ?
Transitioning from UMAT to VUMAT for orthotropic failure criteria in Abaqus requires adapting the material model for explicit time integration, carefully implementing the failure criterion and damage evolution, and ensuring numerical stability. Key differences include the time integration scheme, computational efficiency, and stability considerations. The core failure criterion can be directly translated, but the damage evolution law and stiffness degradation need careful implementation. The VUMAT must be validated against analytical solutions, experimental data, or UMAT results to ensure accuracy and reliability.
If you have already implemented and verified your UMAT subroutine there are some steps you can follow, in order to use your code with abaqus explicit as a VUMAT.
Firstly, you need to vectorize your code. To explain this, you need to consider how the umats are called in the solution vs how the vumats are called. The umats are called for each integration point, and its umat's job to update the tangent stiffness and the stress tensor (and any other history variable) for this integration point. However, vumats are called once for each block of integration points (nblock), so the first modification that needs to be made, is to be able to call the code that calculates the material behavior inside a for loop (for all the integration points that belong to this block) and fill in a vector style data structure that contains the updated stresses for all the integration points of the block. Keep in mind that the tensors in vumat and umat follow a different notation in array format and that the tangent stiffness is not needed in case of vumat. However if the calculation is available it can be used to update the stresses for the next time increment. Good luck with the implementation!