Nominal stress-stretch ratio from hyperelastic model
Im writing a UMAT for hyperelastic material model and having some problem on the differentiation of hyperelastic free energy potential (per unit volume) in order to yield the nominal stress-stretch ratio relationship.
Let the boundary condition for a planar deformation be lamda_1=lamdaS, lamda_2=1, and lamda_3=1/lamdaS. Assumption of incompressibility and lamda_i denoted the 3 principal stretch ratios.
Here come to the question of differentiating the strain energy function with respect to lamda.
If I partial differentiate the strain energy function with respect to each of the 3 principal stretch ratio, once substituted with the boundary condition for planar deformation, it produces the nominal stress-stretch ratio relationship where at stretch ratio = 1, nominal stress not equal 0.
If I substitue the boundary condition prior to differentiating the strain energy function, it yield the expected nominal stress-stretch ratio response where at stretch ratio = 1, nominal stress = 0.
However, in a senario where I dont know how an element will deform or dont know what deformation mode will involve, I cant subsitute any boundary condtion prior to differentiating the strain energy function. Should I partial differentiate the strain energy function to produce a relationship for principal nominal stress-stretch ratio in advance and evaluate the stretch ratio (from deformation gradient tensor) to be substitute later?
Anybody have any suggestion? Many thanks.
I think that the first differential of yours exists problem.
Have you taken account of the incompressible assupmtion in your differential? 🙄
Here are a few comments:
➡ If you are using ABAQUS and are interested in a hyperelastic user material, then you should write a UHYPER and not a UMAT. Writing a UHYPER subroutine is [b]much[/b] easier than writing a UMAT.
➡ If you need to write a UMAT then you are typically more interested in the true stress (Cauchy stress) than the nominal stress, since that is what most FE packages require the UMAT to return.
➡ Before implementing your hyperelastic model you need to specify the functional form of the model. That is, is the strain energy density expressed in terms of invariants of the deformation gradient (i.e. I1, I2, I3), volume compensated invariant of the deformation gradient (i.e. I1*, I2*, I3*), principal stretches (lambda1, lambda2, lambda3), or volume compensated principal stretch (lambda1*, lambda2*, lambda3*). The way you formulate and implement the model will depend on which of these forms that you use.
➡ Based on your comments it appears that you write your strain energy density in terms of the principal stretches. In this case, the principal stresses are simply given by
Giving the Cauchy stress tensor
➡ Note that it is typically recommended to make your user material slightly compressible. That way it becomes easier to implement the model, and by chosing a high enough volumetric response, you can in essence create an incompressible response.
Best of luck