User login


You are here

Another "straightforward" calculation

Following Andy's recommendation I have been reading Ellis Dill's Continuum Mechanics[1]. In page 75 of the book, we find the
well known result that the constitutive equation for an isotropic hypoelastic
material can be derived from a stored energy function only if

$\displaystyle \lambda + \mu = 0<br />


where $ \lambda$and $ \mu$ are the Lame constants.

The derivation of this result can be traced to "a straightfowrad calculation" mentioned in an important 1984 paper by Simo and Pister [2].
Unfortunately, the calculation is not turning out to be particularly straightforward for me. Any help in deriving this result will be appreciated.

Let me state the problem.

Typically, for isotropic hypoelastic materials, we assume that the spatial elasticity tensor has the form

$\displaystyle \mathsf{c}_{ijkl} = \lambda~\delta_{ij}~\delta_{kl} +<br />
\mu~(\delta_{ik}~\delta_{jl} + \delta_{jk}~\delta_{il})<br />


If $ \boldsymbol{\mathsf{C}}$ is the material elasticity tensor, then

$\displaystyle \mathsf{c}_{ijkl} = F_{iI}~F_{jJ}~F_{kK}~F_{lL}~\mathsf{C}_{IJKL}<br />


where $ \ensuremath{\boldsymbol{F}}$is the deformation gradient.

We can invert this relationship to get

$\displaystyle \mathsf{C}_{IJKL} = F^{-1}_{Ii}~F^{-1}_{Jj}~F^{-1}_{Kk}~F^{-1}_{Ll}~<br />
\mathsf{c}_{ijkl}<br />


Plugging in the expression for $ \mathsf{c}_{ijkl}$we get

$\displaystyle \begin{aligned}<br />
\mathsf{C}_{IJKL} = &<br />
\lambda~(\ensuremath{\bolds...<br />
...{\boldsymbol{F}}^{-1}\cdot\ensuremath{\boldsymbol{F}}^{-T})_{JK}]<br />


If we define

$\displaystyle \ensuremath{\boldsymbol{C}}= \ensuremath{\boldsymbol{F}}^T\cdot\ensuremath{\boldsymbol{F}}<br />


we get

$\displaystyle \mathsf{C}_{IJKL} =<br />
\lambda~C^{-1}_{IJ}~C^{-1}_{KL} +<br />
\mu[C^{-1}_{IK}~C^{-1}_{JL} + C^{-1}_{IL}~C^{-1}_{JK}]<br />


Now, if the material law can be derived from a stored energy function, we must have

$\displaystyle \ensuremath{\frac{\partial \mathsf{C}_{IJKL}}{\partial C_{MN}}} = \ensuremath{\frac{\partial \mathsf{C}_{IJMN}}{\partial C_{KL}}}<br />


Simo writes that if we plug in the expression for $ \mathsf{C}_{IJKL}$and use the above condition, a straightforward calculation leads to


$\displaystyle (\lambda+\mu)~C^{-1}_{KL}(C_{IM}^{-1}~C_{JN}^{-1} + C_{IN}^{-1}~C...<br />
			... = (\lambda+\mu)~C^{-1}_{MN}(C_{IK}^{-1}~C_{JL}^{-1} + C_{IL}^{-1}~C_{JK}^{-1})$



This then gives us the required condition

$\displaystyle \lambda + \mu = 0<br />


My question is about deriving equation (1).

I proceeded by recalling that

$\displaystyle \ensuremath{\frac{\partial \ensuremath{\boldsymbol{C}}^{-1}}{\par...<br />
...{C}}^{-1}\cdot\ensuremath{\boldsymbol{T}}\cdot\ensuremath{\boldsymbol{C}}^{-1}<br />


In index notation

$\displaystyle \ensuremath{\frac{\partial C^{-1}_{IJ}}{\partial C_{KL}}}~T_{KL} = -C^{-1}_{IK}~T_{KL}~C^{-1}_{LJ}<br />


which gives us the formula (using the symmetry of $ \ensuremath{\boldsymbol{C}}$)

$\displaystyle \ensuremath{\frac{\partial C^{-1}_{IJ}}{\partial C_{KL}}} = -C^{-1}_{IK}~C^{-1}_{JL}<br />


After taking the derivatives I get

$\displaystyle \begin{aligned}<br />
\ensuremath{\frac{\partial \mathsf{C}_{IJKL}}{\pa...<br />
...}~C^{-1}_{LN}~C^{-1}_{JK} +<br />
C^{-1}_{IL}~C^{-1}_{JM}~C^{-1}_{KN}]<br />



$\displaystyle \begin{aligned}<br />
\ensuremath{\frac{\partial \mathsf{C}_{IJMN}}{\pa...<br />
...}~C^{-1}_{LN}~C^{-1}_{JM} +<br />
C^{-1}_{IN}~C^{-1}_{JK}~C^{-1}_{LM}]<br />


Equating the two, we see that the terms that cancel out are

$\displaystyle \lambda~C^{-1}_{IJ}~C^{-1}_{KM}~C^{-1}_{LN}~,~~<br />
\mu~C^{-1}_{IM}~C^{-1}_{JK}~C^{-1}_{LN} ~;~~<br />
\mu~C^{-1}_{IK}~C^{-1}_{JM}~C^{-1}_{LN}<br />


That leaves us with

$\displaystyle \begin{aligned}<br />
\lambda~C^{-1}_{IM}~C^{-1}_{JN}~C^{-1}_{KL}<br />
+ \m...<br />
...}~C^{-1}_{LM}~C^{-1}_{JN} +<br />
C^{-1}_{IN}~C^{-1}_{JK}~C^{-1}_{LM}]<br />


I have not been able to get from this point to the required relation

$\displaystyle (\lambda+\mu)~C^{-1}_{KL}(C_{IM}^{-1}~C_{JN}^{-1} + C_{IN}^{-1}~C...<br />
...<br />
(\lambda+\mu)~C^{-1}_{MN}(C_{IK}^{-1}~C_{JL}^{-1} + C_{IL}^{-1}~C_{JK}^{-1})<br />


What am I missing?




E. H. Dill.

Continuum Mechanics: Elasticity, Plasticity, Viscoelasticity.

CRC Press, Boca Raton, 2007.


J. C. Simo and K. S. Pister.

Remarks on rate constitutive equations for finite deformation
problems: computational implications.

Comp. Meth. Appl. Mech. Eng., 46:201-215, 1984.


I realize that it's bad form to post the first comment on my own post.  However, I wanted to write down a couple of things about Dill's book before I forgot.

1) Dill's book is the best I have seen among the recent spate of books on continuum mechanics.  It gives you a large number of interesting and useful results for finite deformation problems that are hard to track down elsewhere.  The book may well be suited for use as a text but I'm not sure yet.

2) If you are interested in material models the book is excellent.   A number of models are presented.  However, I found that the sections on anisotropic finite elasticity and finite plasticity were too brief to be of much use.  You will have to read the original literature for anisotropic finite elasticity and Simo and Hughes book still remains the best for finite plasticity.

3) The biggest shortcoming of this book and most other books on continuum mechanics is the total lack of experimental context.  We have a ton of nice models.  I, and many other students, would like to know how to determine model parameters using experiments.  For large deformation problems that can be nontrivial.  The saving grace is that bits and pieces of ideas can be found in the literature.  It's time that all that information was collected and put in easily digestible form in a continuum mechanics book.


Thank you very much for this helpful note.  I didn't know about this new book.  After reading your recommendation, I have just requested that our Library order a copy.

Your remarks on relating models of complex material behaviors to experimental data are right on.  This sounds like an excellent Theme for jClub.  Any thoughts on leading such a theme? 

Dear admin,

I can't claim to have expertise on experimental data except in a very narrow range on high strain rate plasticity of metals.   However, I believe Rebecca Brannon has a broader view of things - as far as plasticity is concerned.  I will ask Rebecca Brannon about the possibility of her leading such a JClub theme. 

Such a theme will probably have to be organized in conjunction with someone with expert knowledge of experiments on finite deformation elasticity and viscoelasticity.


Temesgen Markos's picture

I guess a lot of experimental work and parameter estimation on nonlinear elastic and non-elastic constitutive relations is being carried out in the biomechanics community. I remember reading some papers from Y.C. Fung and associates in the bioengineering dept of UCSD a year or so back.

How the experimental people set up experiments to determine whether or not some material falls under a certain category (isotropy vs anisotropy, elasticity vs nonelasticity etc) is really interesting.

What about Michelle Oyen from this forum? I think she may either be familiar with this issue or have contacts with the appropriate community.




Simo's equation (3.10) and Dill's equation (2.7.17) require that

lhs = rhs != 0 

lhs = Cinv(k,l)*(Cinv(i,m)*Cinv(j,n)+Cinv(i,n)*Cinv(j,m));
rhs = Cinv(m,n)*(Cinv(i,k)*Cinv(j,l)+Cinv(i,l)*Cinv(j,k));

However, a simple Matlab calculation shows that lhs != rhs.  So I would suggest that Simo's equation is wrong and therefore the condition lambda + mu = 0 is inaccurate.

Here's the Matlab code:

function testHypo

  F = [[1.1 0.2 0.3];[0.2 1.5 0.4];[0.3 0.5 0.9]];
  C = F'*F;
  Cinv = inv(C);

  lhs = 0.0;
  rhs = 0.0;
  for i=1:3
    for j=1:3
      for k=1:3
        for l=1:3
          for m=1:3
            for n=1:3
              lhs = Cinv(k,l)*(Cinv(i,m)*Cinv(j,n)+Cinv(i,n)*Cinv(j,m));
              rhs = Cinv(m,n)*(Cinv(i,k)*Cinv(j,l)+Cinv(i,l)*Cinv(j,k));
              diff = lhs - rhs;
              if (diff ~= 0)
                [i j k l m n lhs rhs diff]

Just picking one case at random we get for

i=3 j= 3 k = 3 l = 3 m = 2 n = 2  

lhs = 2.7484

rhs = 7.3075

diff = -4.5591

Clearly not zero.  I suggest that Simo's result is wrong.  I'll be happy to see whether anyone can prove it otherwise.




Update: On second thought, all that Simo requires is that diff != 0 (in general, though there are cases where it will be zero) which means that lambda+mu = 0.  So my test does not prove anything.  I'd still like to see how Simo's result can be proved or tested.  If I do the same test on my equation with lambda = -mu I don't get lhs = rhs either - so either my equation is wrong or Simo's is.


Andrew Norris's picture

Hi Biswajit,

Looking at Dill's book, he has a factor of J in his expression for K_{ijkl} in (2.7.16).   Have you included the J in your calculation?  

btw -  I don't have the Simo-Pister paper but would very much like to read it.  Could you send me a pdf if you have one? 



The J factor comes from the definition of the stored energy function and the stress-strain relation.  It's not a necessary part of the calculation.  If you contract Simo's equation with C_MN C_IK C_JL then you something like 6(lambda+mu) = 12(lambda+mu) - if my calculation is right.  If my calculation is wrong then it's either in the chain rule or in the derivative of the inverse.  I can't see what the problem is off the bat - perhaps I've been looking at it for too long and it needs fresh eyes.


Professor Norris has shown me the error of my ways.  The issues were

1) The derivative of the inverse of a symmetric  second order tensor with respect to the secodn order tensor leads to a symmetric fourth order tensor.   My expression for the inverse was not symmetrized (i.e., I needed to add another term and divide by two).

2) The J that Andy was talking about is crucial in the derivation.  Otherwise you get lambda = 0.  I started off with the expressions in Simo and Hughes, Computational Inelasticity, p. 256, eq. 7.1.82 which don't have the factor of J in them.  You have to be careful with those equations.  I will make sure that I always use the standard equations from now on :)

If those errors are fixed in the above derivation then the algebra is indeed straightforward. 


Andrew Norris's picture

Hi Biswajit,

It reminds me of a colleague's comment that I always remember - which I paraphrase:  Simo's papers are not always easy to follow, but they are always correct.  

I don't know about the first part - but the second clause seems to be true!


Hi Andy,

Over the past five years I have browsed through almost every paper that Simo has written.  His early papers are relatively easy to understand (if you accept his results to be correct).  

Simo's first point of departure in plasticity is the identification of the loading/unloading conditions as the same as the Kuhn-Tucker conditions in optimization theory.  He also brings to bear a lot of results from convex analysis without any simple explanations.  That makes his language hard to follow unless you know your basic convex analyis and optimization theory.

I found some of his papers of geometrically exact shells difficult to read because I didn't understand his language of one-forms and two-forms from differential geometry.   It took a serious reading of David Fox's PhD dissertation for me to understand a lot of that stuff.   I found the book "The Geometry of Physics" by Theodore Frankel quite useful for the basics concepts.

Also,  to understand the numerical analysis in Simo's papers, you have to know a bit of functional analysis.

Once you have these requirements in hand then the papers can be understood - but even then they are not straightforward.

P.S.  For people who are wondering what this blog post was all about, I've put the details on Wikiversity.  You can find them at



The only regret is that Simo left us too early...

Subscribe to Comments for "Another &quot;straightforward&quot; calculation"

Recent comments

More comments


Subscribe to Syndicate