[Triaxial test] Unstable behavior when using different stress in different state

Asked by Hien Nguyen

Hello,
First, my system's info
Ubuntu 11.1
Yade-daily 3+3496+44

I'm modeling a triaxial test of a cube of 10000 particles, using the strain rate method with 3 values of confinement stress: 100 kPa, 200 kPa and 300 kPa.
Based on the example file for the triaxial test on gibhub, I use different values of confinement stress for two processes: the isotropic compression and the deviatoric loading.
For the isotropic compression state, I use internalCompression=True.
What I want to archive: in order to have a reliable curve of deviatoric loading - axial deformation
I realize that when I make those two stresses different, the behavior of the specimen at the very beginning of the deviatoric loading process is not stable: the deviatoric stress, it's not starting from zero (since the confinement stress is suddenly go up like we defined in the code). For example, if I use the 80 kPa for the isotropic compression, next for the deviatoric loading, I use 100 kPa as the confinement stress on the radical axes and a strain rate of 0.1 on the vertical axe. The first moment as I start the deviatoric loading, the deviatoric load (q=sigma1-sigma3) is not equal to zero but about 20kPa not 0 (since the confinement stress go from 80 kPa to 100 kPa) but the deformation epsilon is alreary started to change and being recorded. For the confinement stress of 300 kPa, it's eventually more painful.

So I propose two questions:
1. Should we really use a low value of confinement stress for the isotropic compression state, or we can use the same as the deviatoric state's, even 300 kPa?
2. (A little specific) If no, which value is best for the isotropic conpression process, and how to avoid the unstable effect in the first steps of the deviatoric loading process?

Thanks in advance

Here is the unstable phenomenon curve I got with the code (notice the red circle that I use to mark the problem): http://i.imgur.com/vY2aASP.gif
The excel file of the result from whice the above image is created from: http://www.mediafire.com/view/?llclbl1ls8tocky
And don't forget the code: http://pastebin.com/sQXmmeU5

One of the resolution I'm considering is the way I extract the result: I draw the curve since the deformation begins to change. But I'm not sure.

Question information

Language:
English Edit question
Status:
Solved
For:
Yade Edit question
Assignee:
No assignee Edit question
Solved by:
Hien Nguyen
Solved:
Last query:
Last reply:
Revision history for this message
Bruno Chareyre (bruno-chareyre) said :
#1

Hi,
1. There is no special reason to use a low value. You can use the same as for the deviatoric loading without problems.

2. You apparently skip one step in the general procedure, which should be:
a. densification
b. reaching the desired confinement level (and you want many values for the same sample)
c. deviatoric loading

Your problem is because you skip b. You should add this step after reloading a compacted sample. It can be done by internal compaction (strain will still be zero at the begining of c) or moving boundaries (then strain values are no longer zero, but you can reset them anyway).

I hope it helps.

Bruno

Revision history for this message
Hien Nguyen (giahien) said :
#2

Hello Bruno,
Thanks for the fast answer.
1. Resolved without any doubt. :)
2. I'm confused. Earlier I used the step b but I found that the unbalanced force + kinetic E at the end of that step are big when I do so, so that I remove it and play with the friction angle from the beginning instead. So that's the problem...I'll consider return to the general phases then.
And the process which you meant, is that the part between L151 and L161, something like shrinking the particles in the specimen, it's not internal compaction nor moving wall at all?

Also a small remark also another question concerning "moving boundaries (then strain values are no longer zero, but you can reset them anyway)": How can I reset them in the output file if I use it? (the value at that time is big, for my case it's about 1.47 and in order to draw the right curve I had to subtract the value of all the cell by 1.47 but what a nuisance!) Whice functor allows me to do that?

Revision history for this message
Bruno Chareyre (bruno-chareyre) said :
#3

I was not refering to a specific script, but more to the general methodology.
In the tutorial script, step (b) is not present since we always keep the same confining pressure. You have to add this step.

For resetting strain, I'm sorry, it was a wrong advice. I was confused by the fact that the periodic engine let you write triax.strain=(0,0,0), but in your case it will not work since triax.strain is read-only.

I should remove this read-only constraint eventually. In the meantime, counting from the initial value (current - initial) should not be so difficult, is it?

Revision history for this message
Hien Nguyen (giahien) said :
#4

Well for conclusion, keeping the isotropic stress equal to the confinement stress do the trick. And for different level of confining stress, I simulate separately.
For the strain resetting, I'll continue what I do as usual, no difficulty then.
Thanks for your advice.