consolidation mean stress

Asked by enki

In my case, the consolidation is controlled by the def func():

However, when I checked the mean stress p = (sigmax+sigmay+sigmaz)/3 it did not steadily increase with iterPeriod . So my function doesn't work as my assumption in my simulation. But I can run the whole script with no error.

From terminal, I can get:

fabs(getStress()[0,0]+getStress()[1,1]+getStress()[2,2])/3.0
Out[75]: 6.432893541478686

In [76]: fabs(getStress()[0,0]+getStress()[1,1]+getStress()[2,2])/3.0
Out[76]: 11.011277803935808

In [77]: fabs(getStress()[0,0]+getStress()[1,1]+getStress()[2,2])/3.0
Out[77]: 19.46480982572519

In [78]: fabs(getStress()[0,0]+getStress()[1,1]+getStress()[2,2])/3.0
Out[78]: 18.54078400999076

In [79]: fabs(getStress()[0,0]+getStress()[1,1]+getStress()[2,2])/3.0
Out[79]: 15.016490138434548

In [80]: fabs(getStress()[0,0]+getStress()[1,1]+getStress()[2,2])/3.0
Out[80]: 6.468796221436976

In [81]: fabs(getStress()[0,0]+getStress()[1,1]+getStress()[2,2])/3.0
Out[81]: 17.7652627151387

The mean stress is jumping...

#limited consolidation pressure
finalconso_p=35.0
flag=0

def checkStress():
 global flag
 if fabs(getStress()[0,0]+getStress()[1,1]+getStress()[2,2])/3.0>=finalconso_p:
  fabric()
  addPlotData()
  print("mean stress p=",fabs(getStress()[0,0]+getStress()[1,1]+getStress()[2,2])/3.0)
  Finished()

Question information

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

Hello,

please provide a MWE [1], W = working, complete.

Please state clearly what the problem is or where you need help.
In the OP, there is no question, just a set of statements..

Yade simulations are discrete and dynamic.
"Jumping", "oscillation", or non-monotonic evolution of quantities, which in static conditions would actually be monotonic, is expected behavior.

Cheers
Jan

[1] https://www.yade-dem.org/wiki/Howtoask

Revision history for this message
enki (kikiyu) said :
#2

Thanks Jan,

I've solved my problem.

Working concept:

In my case the rates of x, y, z are controlled by sigx, sigy and sigz. So, I chose a rate (ie ratex) as a constant, then the current/initial sigmax can be used as a reference variable.

The new sigma value can be obtained via getStress() and then new sigma can be used to define the new rate for each direction in addition to the previous constant reference value.

I think the main thing is that we need to determine the rate change at the periodic boundary and find the relationship between stress and rate during compression.