Myself and my colleagues have recently published a complete numerical implementation for hyperelastic constitutive models defined in terms of principal stretches. The approach is thoroughly numerically validated and shows an improved performance over the classic implementation of Simo & Taylor (1991). The method uses explicit computation of the principal stretches and directions (which are respectively the eigenvalues and eigenvectors of the Cauchy-Green strain tensors) and the use of LHpitals rule to avoid numerical stability issues in the presence of numerically similar or equal principal stretches. The developed implementation contains some further novel features, including the efficient definition of the stress and elasticity coefficients, symmetric dyadic products of the principal directions.
The paper is currently published as an online first article in Springers Computational Mechanics journal and is available open access for download at [url] https://link.springer.com/article/10.1007%2Fs00466-019-01707-1[/url]
In addition to this, the Fortran programs and UMAT subroutines developed in this paper are made freely available in an associated dataset at [url] http://dx.doi.org/10.15129/b1cc7acc-a170-479e-8b26-b74395352b26[/url]. This dataset includes further implementations of hyperelastic constitutive models which are: an n-th order Ogden model (up to 4th-order/8 coefficients), the extended-tube model, the Edwards-Vilgis model and the Shariff model.
Having found difficulties myself with the previously published implementations and observing that these are commonly requested on the online forums, I am very proud to have developed an improved implementation (as required in order to publish!) and to make these implementations open source. If there are any questions or enquiries related to this work, please do not hesitate to contact me at the corresponding email in the publication and I will try my best to respond on this forum also.
I hope to be of some help to someone in the same situation as I was!
(apologies for the repeat post - the first appeared within the wrong category!)