Usermat: Linear viscoelastic model with geometric nonlinearity
I have implemented a linear viscoelastic model using the user subroutine Usermat in Ansys.
I have used the classical paper: Formulation and implementation of three-dimensional viscoelasticity at small and finite strains of Kaliske & Rothert
and it works fine for small deformations.
It is written in the documentation that in the case of a simulation with geometric nonlinearity (large deflection), one must rotate the state variables.
Do I have to rotate these state variables if I use solid elements?
I would like to simulate bending of layers (like a shell, but made of solid elements with only displacement as dof).
Do I have to rotate the state variables because of the possible large bending even if the local deformation (strain) is small (I activate the option nonlinear geometric in Ansys) or can I leave the state variables as in the paper.
If so, how should I do that. At the end of each time step, I just multiply the tensor of state variables with the rotation matrix and save then for the next time step? Do I have to rotate any other tensor or the old state variables at the beginning of the new time step?
If I implement a viscoelastic model with a hyperelastic model, I dont have to rotate any tensor, if I define all the quantities in the reference configuration.
I have written user material subroutines for many different FE software, and the rotation requirements varies a bit between the different FE codes. At this moment I dont quite recall which quantities of the ANSYS usermat() subroutine should be rotated. You can determine that, for example, by printing debug statements in properly defined test cases.
Best of luck,