Difference between volumetric strains evaluated by strains and void ratio

Asked by janaka kumara on 2011-09-23

Hi all,

I noticed that volumetric strains, evol, evaluated by strains, e11, e22, e33 such as evol = e11 + e22 + e33 and by void ratios such as Db/(1+b0), here b is void ratio, b0 is initial void ratio, Db is change of void ratio from triaxial tests are different. However, in actual cases (e.g. laboratory experiments), these two should give same results.

Do you have any idea why these two give different results.

I am sorry, I cannot attach any figures here, otherwise I could add a figure showing my problem.

Thank you,


Question information

English Edit question
Yade Edit question
No assignee Edit question
Solved by:
Bruno Chareyre
Last query:
Last reply:
janaka kumara (janaka-eng) said : #1

The above details are related to isotropic consolidation stage.

They SHOULD NOT give the same result be in in theory or in experiments.
The equality you have in mind is only an approximation and yade prooves it.
Consider a cube 1x1x1. If the deformation is e11, e22, e33, then new
volume is (1+e11)(1+e22)(1+e33)=1+e11+e22+e33+e22e33+e33e11+...
Hence dV/V is NOT e11+e22+e33.

Jérôme Duriez (jduriez) said : #3

In order for us to answer, I think you have to precise how you compute exactly all your eii and "b" with Yade ?

Such formula should be true theoritically, and not only in laboratory experiments. Under the assumption that deformation corresponds exactly to void volume decrease / increase. But in fact, I'm thinking this is not exactly true in yade simulations where deformation can occur also through spheres overlap. But, "normally" this fact should lead to small differences, I think ?

Jérôme Duriez (jduriez) said : #4

I should have refreshed my page before posting my answer...

    So Bruno you think that typical simulations with Yade / typical geomechanics experiments should reveal that this first order approximations (= "small transformations" hypothesis, isn't it) is a crude approximation ?

Jerome, overlaps are not considered in Yade for porosity definition, they create no diference at all.

For the second part, yes, it's a crude approximation. Here, Janaka is looking at isotropic compaction, so the strain is very large.

Janaka, it is true that I'm only guessing how you compute things. Could you be more explicit?

Vincent Richefeu (richefeu) said : #6


Maybe I'm wrong but it seems to me that dV/V = tr(EPS) is true if EPS is a true strain.
Do you still observe a difference between dV/V and tr(EPS) if you consider true strain?
In this case you should have tr(EPS) = ln(1 + eps_xx) + ln(1 + eps_yy) + ln(1 + eps_zz), which equals the volume change even for large strains. (In this formula eps is common Cauchy strain = dL/L)


janaka kumara (janaka-eng) said : #7


Simulations were done using TriaxialTest in FileGenerator (from Preprocessors) as given in Yade Reference Documentation, Release 1st edition (2011), pp 76 - 85.

All eii and porosity were taken from the recorred file named, WallStressRecordedFile. Void ratio is calculated using this porosity i.e. void ratio = porosity/(1-porosity). Moreoevr, the above results are related to isotropic compaction as Chareyre guessed.

@ Chareyre,
Yes, I agree that the equality I have in mind is an approximation. However, I thought the difference I experienced is very large e.g. evol = 1.10 when Db/(1+b0) = 0.65.

I checked my data with your idea that "If the deformation is e11, e22, e33, then new volume is (1+e11)(1+e22)(1+e33)=1+e11+e22+e33+e22e33+e33e11+......Hence dV/V is NOT e11+e22+e33" (however, replacing '-' instead of '+' e.g. (1-e11) instead of (1+e11) because this is compaction and '+' should make difference bigger). However, results gave as DV/V = 1.00 while Db/(1+b0) = 0.65. However, I am checking now whether initial volume of the cube automatically takes 1x1x1 rather than what I see during simulations (i.e. 0.41570403939060774 x 0.41570403939060774 x 0.41570403939060774). If the cube is 1x1x1, the difference becomes smaller but I think there is no reason it to be 1x1x1 always.

@ Jduriez,
I think, I didnt understand well what you mea by first order approximations (= "small transformations" hypothesis, isn't it) is a crude approximation ?. Anyway, I think you mean only first order eii is considered for DV/V determination in Yade?.

@ Vincent,
If you mean that dV/V = Db/(1+b0) = tr(EPS), here b is void ratio, No, that too doesnt work well.

I am sorry if this doesnt give you my ideas well.

Any clarifications are really appreciated.

Thank you,

tranviet (tranviet2302) said : #8

Hello Janaka,

I have followed your discussion about the volumetric strain these days, and I think I can help you:

1. How many particles did you use in your simulation? if you use too few particles, I am sure that you will have different answers for two methods of calculation. I think everyone here can know the reason.

2. I have run thousands of triaxial test simulations until now, and I can confirm that there is nothing wrong with the answer if you increase the number of particles (here in my simulation is 150,000). You cannot get correct answer if using less than 1000 particles, the example of the triaxialtest from the source code is just to help us know how the problem is solved.

In one of my simulation, and at a typical step:

-Initial void ratio: 0.649 (porosity = 0.3937)
-Current void ratio: 0.661 (porosity = 0.3978)
-Volumetric strain by method 1: (0.661-0.649)/(1+0.649)*100 = 0.6885 (%)
-Volumetric strain by method 1:
      e11 = -0.0217, e22 = 0.0264, e33 = -0.0115
     -> (e11+e22+e33)*100= 0.6781 (%) (change to positive value for easy use)

I can send you the .xml file as well as the output files if you are interested.



janaka kumara (janaka-eng) said : #9

Hi Viet,

Thank you very much for your comments.

My simulation is doen with 10000 particles. If there is anything to do with no. of particles (for my volumetric strains), I can increase it in future simulations.

Actually, my data is related to isotropic compaction. My impression is that your data is related to axial compression (after isotropic compaction).

Now, I checked my data on axial compression and found that volumetric strains by two methods are equal. However, for that, initial void ratio should be taken as the one at the start of axial compression. What I think is that during axial compression, void ratio doesnt change much. However, void ratio change much during isotropic compaction, thats where my problem is.

I am glad if you could check your results for isotropic compaction, where taking initial void ratio as the one at the start of the simulation and then checking with a step within isotropic compaction.

I am also wondering why void ratio increase rather than decreasing (from 0.649 to 0.661). It seems to me that your test is kind of unloading. Any ideas on that?

By the way, I am just curious why you got much difference for e11 and e33. I think, if you have equal lateral stresses, s11 and s33, then you should get approximately same strains for e11 and e33 (anyway, if you have gone with different lateral stresses (true triaxial test), of course, your data is correct).

Thank you,


tranviet (tranviet2302) said : #10

Hi Janaka,

I have modified my triaxial test a little bit, and the soil domain is anisotropic also :D
Now I understand your idea , I can look at the isotropic compaction process;anyway, I think we should look at the codes to see how all parameters were calculated.


> In this case you should have tr(EPS) = ln(1 + eps_xx) + ln(1 + eps_yy) + ln(1 + eps_zz), which equals the volume change even for large strains. (In this formula eps is common Cauchy strain = dL/L)

Small mistake here. ;)
With true strains it reads:

ln(V/V_0) = ln(1 + eps_xx) + ln(1 + eps_yy) + ln(1 + eps_zz)

Easy to check after V=V_0*(1+exx)*(1+eyy)*(1+ezz)

Jérôme Duriez (jduriez) said : #12

> @ Jduriez,
I think, I didnt understand well what you mea by first order approximations

I meant that the (theoretical) equality dV/V0 = e11 + e22 + e33 is a first order approximation for what concerns eii : product of eii are not considered (neglected).

In your case your values of eii are probably too large indeed (mean strain ~ 37% from what I can imagine from your evol = 1.1). 0.37 being not so small comparing to 1, the first order approximation would not hold.

@Viet, there is no relation with the number of particles. The equations are exact be it with 1 particle (example below).

I finally checked on my side... I don't know how you crunch the numbers guys, but you surely compute something the wrong way.

Here are my numbers with 1 particle (I got to decrease the time-step, else the stress control is a bit lost with only 1 sphere...):

step 0: porosity= 0.720940373948968
step 40: porosity=0.594615817413609, e11=0.125334930132997, e22=0.155608210807015, e33=0.0924666030771256

ln(de/(1+e0)) gives -0.37340974
e11+e22+e33 gives 0.373409744

No matter overlaps, number of particles, or large strains. Strain values are exact, modulo computer precision.

Try to do your calculations with my numbers and let's see if we find the same results.

Note that the strain values given by the triaxial engines are true strains (sorry if it was not clear in my previous post), you don't have to compute the log on your side. It also means that we are not obliged to reset strain after isotropic compaction: since the strain is always exact we can simply substract strains from the different stages to define strains in one given stage.

Damn, sorry, in the first equation it should read (the value is correct) ln(1+de/(1+e0)), i.e. ln((1+e)/(1+e_0)).

janaka kumara (janaka-eng) said : #15

Hi Bruno,

Thank you for your comments.

I can see that (e11+e22+e33) = ln ((1+e)/(1+e_0) for the data but I cannot understand how volumetric strain is equal to ln ((1+e)/(1+e_0). I tried to prove it but always end up with De/(1+e_0).

Any hepls please....


Consider that strain (be it a ekk component or epsv) can be defined exactly from its derivative: de/dt=dL/(L.dt) (resp. dV(V.dt).
Then by integrating between t0 and t, you get a logarithm. Hence epsv = log(V/V_0)

Consider diving into this:

"The logarithmic strain provides the correct measure of the final strain when deformation takes place in a series of increments, taking into account the influence of the strain path"

janaka kumara (janaka-eng) said : #17


Thanks everyone especially Bruno. Now, I know it.

janaka kumara (janaka-eng) said : #18

Thanks Chareyre, that solved my question.