Peri3dController without periodic sample?

Asked by Cyndie

Hello,

I try to reech a state of stress defined by a matrix 3x3 like

[Sxx Sxy 0
 Sxy Syy 0
 0 0 0]

To do that I think that Peri3dController() is a good engine, but my sample is not periodic. Is it possible to use this engine in these conditions?
And if it's not possible, is there an other engine which can controll Sxx, Syy and Sxy in non periodic condition?

I could use both TriaxialStressController() and kinemCNDEngine(), but perhaps there is there an other way, easier?

Thank you

Cyndie

Question information

Language:
English Edit question
Status:
Solved
For:
Yade Edit question
Assignee:
No assignee Edit question
Solved by:
Cyndie
Solved:
Last query:
Last reply:
Revision history for this message
Jan Stránský (honzik) said :
#1

Hi Cyndie,

Peri3dController has to be used on periodic packings, so according to your
description not for your case.

Since your goal is zero shear stresses, standard triaxial engines should be
ok, but I am not experienced user of them so you have to wait for others to
answer

cheers
Jan

2014-05-28 0:06 GMT+02:00 Cyndie <email address hidden>:

> New question #249377 on Yade:
> https://answers.launchpad.net/yade/+question/249377
>
> Hello,
>
> I try to reech a state of stress defined by a matrix 3x3 like
>
> [Sxx Sxy 0
> Sxy Syy 0
> 0 0 0]
>
> To do that I think that Peri3dController() is a good engine, but my sample
> is not periodic. Is it possible to use this engine in these conditions?
> And if it's not possible, is there an other engine which can controll Sxx,
> Syy and Sxy in non periodic condition?
>
> I could use both TriaxialStressController() and kinemCNDEngine(), but
> perhaps there is there an other way, easier?
>
> Thank you
>
> Cyndie
>
> --
> You received this question notification because you are a member of
> yade-users, which is an answer contact for Yade.
>
> _______________________________________________
> Mailing list: https://launchpad.net/~yade-users
> Post to : <email address hidden>
> Unsubscribe : https://launchpad.net/~yade-users
> More help : https://help.launchpad.net/ListHelp
>

Revision history for this message
Jérôme Duriez (jduriez) said :
#2

Hello,

With TriaxialStressController, the x/y (and z) axis of your simulation are principal directions, hence you will obtain only nill values of Sxy (assuming that the x/y axis of your stress matrix correspond indeed to x/y axis of yade simulation...)

KinemCNDEngine was designed to shear (simple shear) a parallellepiped (with parallelelogram shape in a plane normal to z), so it is OK for the (x,y) part of your matrix. But you will have some adaptations to do to obtain your plane stress state (with all z stress components equal to 0). We may discuss this more if you choose this engine.

(And if yes, you will have to update today your yade version, I just saw something to correct in the source code, that is no longer valid since some - quite old ...- change in design of state.dynamic)

Jérôme

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

Controlling shear stress without periodicity is awkard. Even in experiments they have extreme difficulties to maintain a homogeneous state of strain/stress. Some corners (the closing ones) have almost null stress while others have high stress concentration.

Another note, since every matrix of the type:
[Sxx Sxy 0
 Sxy Syy 0
 0 0 0]
becomes this in a certain frame of reference:
[S1 0 0
 0 S2 0
 0 0 0]
TriaxialStressController() may actually be able to do what you want... It depends on what you really need.

Revision history for this message
Cyndie (clacour-i) said :
#4

Thanks all for your answers!

actually I try to experiment some rotation of the principal stress directions in my 2D sample. So TriaxialStressController() is not enough for that. My idea was to combine a triaxial test and a simple shear test to get both plain and shear stresses.
So I have a definite matrix to reach, which is obtained after a preset rotation.

Maybe I can get the internal stress state with the Love-Weber formula with getStress() and run these 2 engines until the final goal.
I currently try to do that but as Bruno Chareyre said, it's maybe difficult without periodicity?

Jerôme Duriez: I use yadedaily version, do I have to update it? (I already run apt-get update and apt-get upgrade)

ps: I apologize for my english...

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

In fact examples/test/periodic-simple-shear.py is doing almost what you
want (2-axial compression, then shear).
I recommend this.

Revision history for this message
Jérôme Duriez (jduriez) said :
#6

To conclude about what I said, I uploaded the correction on 28/05 (*), so I guess that if you updated yade-daily 1 or 2 day after that, it is ok.

(*) : https://github.com/yade/trunk/commit/19cc70d0fed8cfeb84353a18d5309f4e926f422a

Revision history for this message
Cyndie (clacour-i) said :
#7

Thanks all for your responses!
I finally use TriaxialStressController and KinemCNDEngine. It seems to be what I'm looking for :)

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

My two cents Cyndie: make sure the stress/strain fields are homogeneous in your tests (and with KinemCNDEngine chances are high that they will not be homogeneous).
It is a pitty to spend time on such a thing, then realize at the end that the results are worthless because everything is governed by innapropriate boundary conditions. I know many papers where this problem is visible, and I guess even more papers do not exist (have been rejected) for the same reason.
Good simulations of simple shear are always based on periodic boundary condistions (see e.g. Radjai & co. papers).

Revision history for this message
Jérôme Duriez (jduriez) said :
#9

Probably I have to state also my point of view here (because I wrote and used KinemCNDEngine). So, Cyndie, I obviously agree with Bruno about the necessity of an homogeneous mechanical state if you want to obtain meaningful stress/strain values from boundaries measurements. And I must confess that I never checked directly this homogeneity. Nevertheless, I think I could obtain mechanically meaningful results, as e.g. a classical flow rule measured from different Kinem... loadings (Figure 22 of Duriez2013).

So my point of view is that it is still possible to obtain mechanically correct results with such simple shear model (depending probably on the dimensions of your shear box, how much it is strained, ...). But, if you want to have no doubt about that, yes it is better to use periodic conditions.

Jérôme