Re: [Yade-users] [Question #690521]: Exponential softening shear force after peak- model implementation

2020-05-07 Thread Jan Stránský
Question #690521 on Yade changed:
https://answers.launchpad.net/yade/+question/690521

Jan Stránský proposed the following answer:
There are some misconceptions in your formulas.
Specifically, do not use scalars where there should be vectors or even tensors 
(then you will not end with a scalar while expecting a vector).

below (to make it mode readable) s=stress, u=displacement, up=plastic
displacement, k=stiffness

> (dF/ds)=sign(s)=+1
> dup=d_lambda*(dg/ds)
F,g ... scalar
s ... vector
dF/ds and gd/ds ... has to be vector
dF/ds = d(|s|)/ds = s / |s| 

try a re-derivation. If the re-derivation does not help, I suggest to
switch to personal conversation, as the topic is not really Yade
related..

> (dsigma_S/dUs_Pl)=k_s*(1-D_old)

shouldn't D be treated as a function of us_pl?

cheers
Jan

d(|s|) / ds = 
= d(sqrt(s.dot(s)) / ds = 
= 1/2 * 1/sqrt(s.dot(s)) * d(s.dot(s)) / ds =
= 1/2 * 1/|s| * d(s.dot(s)) / ds =
= 1/2 * 1/|s| * (1*s + s*1) =
= s / |s|

-- 
You received this question notification because your team yade-users is
an answer contact for Yade.

___
Mailing list: https://launchpad.net/~yade-users
Post to : yade-users@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yade-users
More help   : https://help.launchpad.net/ListHelp


Re: [Yade-users] [Question #690521]: Exponential softening shear force after peak- model implementation

2020-05-07 Thread chanaka Udaya
Question #690521 on Yade changed:
https://answers.launchpad.net/yade/+question/690521

chanaka Udaya posted a new comment:
Dear Dr. Jan Stransky,

I have followed the following steps to obtain scalar shear stress
value(|sigma_S|) which is same as your sActual value magnitude


delta_us= Us.norm()- Us_old.norm() ; where, Us_old is shear displacement at 
previous step and delta_Us: scalar shear displacement increment

|sigma_S_trial|=Sigma_S_old+ k_s*(1-D_old)*delta_us trial stress
calculation

F_trial=|sigma_S_trial|- Cohesion*(1-D_old)
evaluate yield function

If F_trial>0
  (dF/dsigmaS)=sign(sigmaS)=+1 partial 
derivatives to calculate plastic multiplier
  (dsigma_S/dUs_Pl)=k_s*(1-D_old)
  (dsigma_S/dD)= k_s*(Us.norm()-|Us_Pl_old|)
  (dD/dUs_pl)= Exp(-|UsPl_old|/constant)/constant

assuming associate flow rule to calculate plastic multiplier (d_lambda)
that means, (dg/dsigmaS)= (dF/dsigmaS) where g-plastic potential

  d_lambda= 
-F_trial/((dF/dsigmaS)*(dsigmaS/dUs_Pl)*(dg/dsigmaS)+(dF/dsigmaS)* 
(dsigma_S/dD)* (dD/dUs_pl)*(dg/dsigmaS))
  delta_Us_Pl=d_lambda*(dg/dsigmaS)
  |Us_pl|=|Us_Pl_old|+ delta_Us_Pl
  D=1-exp(-|Us_Pl|/constant)
  |sigma_S|=|sigma_S_trial|*(1-D)/(1-D_old)-k_s*(1-D)*delta_Us_Pl

Based on the above calculation I only know the scalar actual shear
stress,(|sigmaS|) and scalar shear plastic displacement, (|Us_Pl), at
the current step

But I need the vector value of shear plastic displacement to apply the
shear force using the below equation at the contact point

Fs=k_s*(1-D)*(Us-UsPl)*|crossSection_area| where Fs is shear force
vector

I still couldn't understand how to get that Us_Pl vector

Thanks

-- 
You received this question notification because your team yade-users is
an answer contact for Yade.

___
Mailing list: https://launchpad.net/~yade-users
Post to : yade-users@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yade-users
More help   : https://help.launchpad.net/ListHelp


[Yade-users] [Question #690526]: the difference of contact models for 1-D compression simulation

2020-05-07 Thread SayedHessam
New question #690526 on Yade:
https://answers.launchpad.net/yade/+question/690526

Hiya guys,

I'm analysis my results for 1-D compression simulation and I faced a big 
question because the results for linear contact model is more accurate than the 
Hertz contact model. However, some researchers stated that there is no 
difference between the linear and non-linear results. Hence, I need to prove 
why the linear contact model, with all its weaknesses, simulates the experiment 
better than the more advanced nonlinear model?

https://www.dropbox.com/s/tawh33zwt1hdzve/picturemessage_eg302ojj.jhl.png?dl=0



Could you please help me to solve this issue?


Cheers
Sam

-- 
You received this question notification because your team yade-users is
an answer contact for Yade.

___
Mailing list: https://launchpad.net/~yade-users
Post to : yade-users@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yade-users
More help   : https://help.launchpad.net/ListHelp


Re: [Yade-users] [Question #690521]: Exponential softening shear force after peak- model implementation

2020-05-07 Thread Jan Stránský
Question #690521 on Yade changed:
https://answers.launchpad.net/yade/+question/690521

Status: Open => Answered

Jan Stránský proposed the following answer:
Hello,

just follow standard plasticity concepts:
- you know current total displacement dTot and plastic displacement dPl
- compute elastic displacement dEl = dTot - dPl
- compute trial stress sTrial = k * dEl
- do stress return to admissible value according to F (possibly also involving 
change of damage) => sActual
- compute "plastic stress" sPlastic = sTrial - sActual
- plastic strain increment is simply sPlastic / k

cheers
Jan

PS: there is a bug in the current implementation [1]...
[1] https://gitlab.com/yade-dev/trunk/-/blob/master/pkg/dem/ConcretePM.cpp#L436

-- 
You received this question notification because your team yade-users is
an answer contact for Yade.

___
Mailing list: https://launchpad.net/~yade-users
Post to : yade-users@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yade-users
More help   : https://help.launchpad.net/ListHelp


Re: [Yade-users] [Question #690509]: MatplotlibDeprecationWarning:axes.color_cycle is deprecated and replaced with axes.prop_cycle; please use the latter.

2020-05-07 Thread Jérôme Duriez
Question #690509 on Yade changed:
https://answers.launchpad.net/yade/+question/690509

Status: Open => Answered

Jérôme Duriez proposed the following answer:
Hi,

>From a user point of view, I think we can say the impact is null /
limited to the output of those lines in your YADE terminal. And thus,
there is nothing to solve.

>From a developer point of view, if you would like to save these outputs
for yourself and all other YADE users you could try to look into source
code (of plot.plot() command) to see which part uses a deprecated
matplotlib attribute, and replaces it.

A true MWE to illustrate the issue:

from yade import plot
plot.addData(x=0,y=0)
plot.plots = {'x':'y'}
plot.plot()

-- 
You received this question notification because your team yade-users is
an answer contact for Yade.

___
Mailing list: https://launchpad.net/~yade-users
Post to : yade-users@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yade-users
More help   : https://help.launchpad.net/ListHelp