Re: [Yade-users] [Question #690521]: Exponential softening shear force after peak- model implementation
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
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
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
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.
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