Re: [Yade-dev] Wiki problem
Hi, https://yade-dem.org/w/index.php?title=Talk:Development_schedulediff=946oldid=prev is it a spam? ___ Mailing list: https://launchpad.net/~yade-dev Post to : yade-dev@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-dev More help : https://help.launchpad.net/ListHelp
Re: [Yade-dev] updating publications list
I would like to ask the journal before adding the reference to the list, but maybe I could add this link as a first step? Luc, we're only adding a reference, not fulltext. Is that a publisher that does not want his article to be cited?? ___ Mailing list: https://launchpad.net/~yade-dev Post to : yade-dev@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-dev More help : https://help.launchpad.net/ListHelp
Re: [Yade-dev] updating publications list
I did not find day-field in http://en.wikipedia.org/wiki/BibTeX Should I add it anyway? Yes, it will just be ignored by standard bibex. ___ Mailing list: https://launchpad.net/~yade-dev Post to : yade-dev@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-dev More help : https://help.launchpad.net/ListHelp
Re: [Yade-dev] updating publications list
Hehe. You lost me too Luc. ;-) Concerning fulltext, I think we have a preprint of this one. We could upload it as this journal is not from one of the big publishers and many universities will not have it accessible online. Bruno Václav Šmilauer a écrit : I would like to ask the journal before adding the reference to the list, but maybe I could add this link as a first step? Luc, we're only adding a reference, not fulltext. Is that a publisher that does not want his article to be cited?? ___ Mailing list: https://launchpad.net/~yade-dev Post to : yade-dev@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-dev More help : https://help.launchpad.net/ListHelp -- ___ Bruno Chareyre Associate Professor ENSE3 - Grenoble INP Lab. 3SR BP 53 - 38041, Grenoble cedex 9 - France Tél : 33 4 56 52 86 21 Fax : 33 4 76 82 70 43 ___ Mailing list: https://launchpad.net/~yade-dev Post to : yade-dev@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-dev More help : https://help.launchpad.net/ListHelp
[Yade-dev] publications update finished
Hi everybody, I am pleased to annouce that we finished migration of the publications page to bibtex. Thanks especially to Anton who assumed the burden of converting articles of the authors who did not do it (SHAME ON THEM!). The page https://yade-dem.org/wiki/Publications is now almost empty, all its items appear in publications or references entries of Sphinx. Again, please do upload fulltext of your articles, if that is legally possible. For conference materials, there should be no issue, for journal articles, preprints are OK to be put online. (Janek, especially, you have so many conference stuff, upload them!) Have a nice summer, Vaclav ___ Mailing list: https://launchpad.net/~yade-dev Post to : yade-dev@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-dev More help : https://help.launchpad.net/ListHelp
[Yade-dev] [Branch ~yade-dev/yade/trunk] Rev 2317: 1. Split publications in articles, conferences, theses
revno: 2317 committer: Václav Šmilauer eudo...@arcig.cz branch nick: trunk timestamp: Mon 2010-07-05 10:16:58 +0200 message: 1. Split publications in articles, conferences, theses 2. Fix problem with scons 2.0, now it works out of the box 3. Add a better error message for VelocityBins with NaN velocity removed: doc/publications.bib added: doc/sphinx/publications.rst.in doc/sphinx/references.rst.in doc/yade-articles.bib doc/yade-conferences.bib doc/yade-theses.bib modified: SConstruct doc/references.bib doc/sphinx/bib2rst.py doc/sphinx/formulation.rst doc/sphinx/yadeSphinx.py pkg/common/DataClass/VelocityBins.cpp The size of the diff (1314 lines) is larger than your specified limit of 1000 lines -- lp:yade https://code.launchpad.net/~yade-dev/yade/trunk Your team Yade developers is subscribed to branch lp:yade. To unsubscribe from this branch go to https://code.launchpad.net/~yade-dev/yade/trunk/+edit-subscription ___ Mailing list: https://launchpad.net/~yade-dev Post to : yade-dev@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-dev More help : https://help.launchpad.net/ListHelp
Re: [Yade-dev] updating publications list
Bruno, please, add your PHD-thesis to references also. Thanks. __ Anton Gladkyy 2010/7/5 Bruno Chareyre bruno.chare...@hmg.inpg.fr Hehe. You lost me too Luc. ;-) Concerning fulltext, I think we have a preprint of this one. We could upload it as this journal is not from one of the big publishers and many universities will not have it accessible online. Bruno Václav Šmilauer a écrit : I would like to ask the journal before adding the reference to the list, but maybe I could add this link as a first step? Luc, we're only adding a reference, not fulltext. Is that a publisher that does not want his article to be cited?? ___ Mailing list: https://launchpad.net/~yade-devhttps://launchpad.net/%7Eyade-dev Post to : yade-dev@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-devhttps://launchpad.net/%7Eyade-dev More help : https://help.launchpad.net/ListHelp -- ___ Bruno Chareyre Associate Professor ENSE3 - Grenoble INP Lab. 3SR BP 53 - 38041, Grenoble cedex 9 - France Tél : 33 4 56 52 86 21 Fax : 33 4 76 82 70 43 ___ Mailing list: https://launchpad.net/~yade-devhttps://launchpad.net/%7Eyade-dev Post to : yade-dev@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-devhttps://launchpad.net/%7Eyade-dev More help : https://help.launchpad.net/ListHelp ___ Mailing list: https://launchpad.net/~yade-dev Post to : yade-dev@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-dev More help : https://help.launchpad.net/ListHelp
Re: [Yade-dev] updating publications list
Sorry, Bruno, it is already is in there. 2010/7/5 Anton Gladky gladky.an...@gmail.com Bruno, please, add your PHD-thesis to references also. Thanks. __ Anton Gladkyy 2010/7/5 Bruno Chareyre bruno.chare...@hmg.inpg.fr Hehe. You lost me too Luc. ;-) Concerning fulltext, I think we have a preprint of this one. We could upload it as this journal is not from one of the big publishers and many universities will not have it accessible online. Bruno Václav Šmilauer a écrit : I would like to ask the journal before adding the reference to the list, but maybe I could add this link as a first step? Luc, we're only adding a reference, not fulltext. Is that a publisher that does not want his article to be cited?? ___ Mailing list: https://launchpad.net/~yade-devhttps://launchpad.net/%7Eyade-dev Post to : yade-dev@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-devhttps://launchpad.net/%7Eyade-dev More help : https://help.launchpad.net/ListHelp -- ___ Bruno Chareyre Associate Professor ENSE3 - Grenoble INP Lab. 3SR BP 53 - 38041, Grenoble cedex 9 - France Tél : 33 4 56 52 86 21 Fax : 33 4 76 82 70 43 ___ Mailing list: https://launchpad.net/~yade-devhttps://launchpad.net/%7Eyade-dev Post to : yade-dev@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-devhttps://launchpad.net/%7Eyade-dev More help : https://help.launchpad.net/ListHelp ___ Mailing list: https://launchpad.net/~yade-dev Post to : yade-dev@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-dev More help : https://help.launchpad.net/ListHelp
Re: [Yade-dev] Wiki problem
Anton Gladky said: (by the date of Mon, 5 Jul 2010 08:14:05 +0200) https://yade-dem.org/w/index.php?title=Talk:Development_schedulediff=946oldid=prev is it a spam? definitely yes, I deleted it. We need to think about spam protection :(( -- Janek Kozicki http://janek.kozicki.pl/ | ___ Mailing list: https://launchpad.net/~yade-dev Post to : yade-dev@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-dev More help : https://help.launchpad.net/ListHelp
Re: [Yade-dev] updating publications list
What do you mean? It was there, why did it disapear? B. Anton Gladky a écrit : Bruno, please, add your PHD-thesis to references also. Thanks. __ Anton Gladkyy 2010/7/5 Bruno Chareyre bruno.chare...@hmg.inpg.fr mailto:bruno.chare...@hmg.inpg.fr Hehe. You lost me too Luc. ;-) Concerning fulltext, I think we have a preprint of this one. We could upload it as this journal is not from one of the big publishers and many universities will not have it accessible online. Bruno Václav Šmilauer a écrit : I would like to ask the journal before adding the reference to the list, but maybe I could add this link as a first step? Luc, we're only adding a reference, not fulltext. Is that a publisher that does not want his article to be cited?? ___ Mailing list: https://launchpad.net/~yade-dev https://launchpad.net/%7Eyade-dev Post to : yade-dev@lists.launchpad.net mailto:yade-dev@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-dev https://launchpad.net/%7Eyade-dev More help : https://help.launchpad.net/ListHelp -- ___ Bruno Chareyre Associate Professor ENSE3 - Grenoble INP Lab. 3SR BP 53 - 38041, Grenoble cedex 9 - France Tél : 33 4 56 52 86 21 Fax : 33 4 76 82 70 43 ___ Mailing list: https://launchpad.net/~yade-dev https://launchpad.net/%7Eyade-dev Post to : yade-dev@lists.launchpad.net mailto:yade-dev@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-dev https://launchpad.net/%7Eyade-dev More help : https://help.launchpad.net/ListHelp ___ Mailing list: https://launchpad.net/~yade-dev Post to : yade-dev@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-dev More help : https://help.launchpad.net/ListHelp -- ___ Bruno Chareyre Associate Professor ENSE3 - Grenoble INP Lab. 3SR BP 53 - 38041, Grenoble cedex 9 - France Tél : 33 4 56 52 86 21 Fax : 33 4 76 82 70 43 ___ Mailing list: https://launchpad.net/~yade-dev Post to : yade-dev@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-dev More help : https://help.launchpad.net/ListHelp
Re: [Yade-dev] updating publications list
Another question : is there a reason to link DOIs (pointing to abstracts) when fulltext are available from the website? Exemple this : https://yade-dem.org/wiki/File:Chareyre%26Villard2005_licensed.pdf. I guess it can be linked directly? B. Anton Gladky a écrit : Bruno, please, add your PHD-thesis to references also. Thanks. __ Anton Gladkyy 2010/7/5 Bruno Chareyre bruno.chare...@hmg.inpg.fr mailto:bruno.chare...@hmg.inpg.fr Hehe. You lost me too Luc. ;-) Concerning fulltext, I think we have a preprint of this one. We could upload it as this journal is not from one of the big publishers and many universities will not have it accessible online. Bruno Václav Šmilauer a écrit : I would like to ask the journal before adding the reference to the list, but maybe I could add this link as a first step? Luc, we're only adding a reference, not fulltext. Is that a publisher that does not want his article to be cited?? ___ Mailing list: https://launchpad.net/~yade-dev https://launchpad.net/%7Eyade-dev Post to : yade-dev@lists.launchpad.net mailto:yade-dev@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-dev https://launchpad.net/%7Eyade-dev More help : https://help.launchpad.net/ListHelp -- ___ Bruno Chareyre Associate Professor ENSE3 - Grenoble INP Lab. 3SR BP 53 - 38041, Grenoble cedex 9 - France Tél : 33 4 56 52 86 21 Fax : 33 4 76 82 70 43 ___ Mailing list: https://launchpad.net/~yade-dev https://launchpad.net/%7Eyade-dev Post to : yade-dev@lists.launchpad.net mailto:yade-dev@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-dev https://launchpad.net/%7Eyade-dev More help : https://help.launchpad.net/ListHelp ___ Mailing list: https://launchpad.net/~yade-dev Post to : yade-dev@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-dev More help : https://help.launchpad.net/ListHelp -- ___ Bruno Chareyre Associate Professor ENSE3 - Grenoble INP Lab. 3SR BP 53 - 38041, Grenoble cedex 9 - France Tél : 33 4 56 52 86 21 Fax : 33 4 76 82 70 43 ___ Mailing list: https://launchpad.net/~yade-dev Post to : yade-dev@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-dev More help : https://help.launchpad.net/ListHelp
Re: [Yade-dev] publications update finished
Václav Šmilauer said: (by the date of Mon, 05 Jul 2010 10:15:34 +0200) Hi everybody, I am pleased to annouce that we finished migration of the publications page to bibtex. Thanks especially to Anton who assumed the burden of converting articles of the authors who did not do it (SHAME ON THEM!). The page https://yade-dem.org/wiki/Publications is now almost empty, all its items appear in publications or references entries of Sphinx. yes, shame on me. You are damn too fast. Again, please do upload fulltext of your articles, if that is legally possible. For conference materials, there should be no issue, for journal articles, preprints are OK to be put online. (Janek, especially, you have so many conference stuff, upload them!) This is the task that I am planning to do since 2007 :) The biggest problem is to find them! But I'll try again - it will require some serious gravedigging. -- Janek Kozicki http://janek.kozicki.pl/ | ___ Mailing list: https://launchpad.net/~yade-dev Post to : yade-dev@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-dev More help : https://help.launchpad.net/ListHelp
Re: [Yade-dev] [Branch ~yade-dev/yade/trunk] Rev 2314: making TriaxialStressController more python friendly.
Try r2318. :) Bruno Janek Kozicki a écrit : Bruno Chareyre said: (by the date of Mon, 05 Jul 2010 00:01:19 +0200) Janek, sorry, could you revert please? I have uncommited code for this question, a simple python wrapper returning Vector3r stress (bound), with bound=1,...,6. If somebody wants to keep only one component or average over opposite boundaries, he can do that in python. ok - reverted. Could you please commit yours? I'd like to have a working python script. Did you also replace Real strain[3] with Vector3r strain ? -- ___ Bruno Chareyre Associate Professor ENSE3 - Grenoble INP Lab. 3SR BP 53 - 38041, Grenoble cedex 9 - France Tél : 33 4 56 52 86 21 Fax : 33 4 76 82 70 43 ___ Mailing list: https://launchpad.net/~yade-dev Post to : yade-dev@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-dev More help : https://help.launchpad.net/ListHelp
[Yade-dev] [Branch ~yade-dev/yade/trunk] Rev 2318: - Add stress getter and python wrapper (replacing reverted r2314).
revno: 2318 committer: bchareyre bchare...@dt-rv020 branch nick: trunk timestamp: Mon 2010-07-05 10:50:05 +0200 message: - Add stress getter and python wrapper (replacing reverted r2314). modified: pkg/dem/Engine/PartialEngine/TriaxialStressController.cpp pkg/dem/Engine/PartialEngine/TriaxialStressController.hpp -- lp:yade https://code.launchpad.net/~yade-dev/yade/trunk Your team Yade developers is subscribed to branch lp:yade. To unsubscribe from this branch go to https://code.launchpad.net/~yade-dev/yade/trunk/+edit-subscription === modified file 'pkg/dem/Engine/PartialEngine/TriaxialStressController.cpp' --- pkg/dem/Engine/PartialEngine/TriaxialStressController.cpp 2010-07-04 22:49:13 + +++ pkg/dem/Engine/PartialEngine/TriaxialStressController.cpp 2010-07-05 08:50:05 + @@ -12,15 +12,15 @@ #includeyade/pkg-dem/ScGeom.hpp #includeyade/pkg-dem/FrictPhys.hpp #includeyade/core/State.hpp - +#includeassert.h #includeyade/core/Scene.hpp CREATE_LOGGER(TriaxialStressController); YADE_PLUGIN((TriaxialStressController)); -TriaxialStressController::~TriaxialStressController() -{ -} +TriaxialStressController::~TriaxialStressController(){} + +Vector3r TriaxialStressController::getStress(int boundId) {assert (boundId=0 boundId=5); return stress[boundId];} void TriaxialStressController::updateStiffness () { === modified file 'pkg/dem/Engine/PartialEngine/TriaxialStressController.hpp' --- pkg/dem/Engine/PartialEngine/TriaxialStressController.hpp 2010-07-04 22:49:13 + +++ pkg/dem/Engine/PartialEngine/TriaxialStressController.hpp 2010-07-05 08:50:05 + @@ -70,7 +70,9 @@ void computeStressStrain(); //! Compute the mean/max unbalanced force in the assembly (normalized by mean contact force) Real ComputeUnbalancedForce(bool maxUnbalanced=false); - + ///! Getter for stress in python + Vector3r getStress(int boundId); + YADE_CLASS_BASE_DOC_ATTRS_INIT_CTOR_PY( TriaxialStressController,BoundaryController,An engine maintaining constant stresses on some boundaries of a parallepipedic packing. , @@ -98,10 +100,10 @@ ((Real,width0,0,)) ((Real,depth0,0,)) ((Real,sigma_iso,0,applied confining stress (see :yref:`TriaxialStressController::isAxisymetric`))) - ((Real,sigma1,0,applied stress on axis 1 (see :yref:`TriaxialStressController::isAxisymetric`))) - ((Real,sigma2,0,applied stress on axis 2 (see :yref:`TriaxialStressController::isAxisymetric`))) - ((Real,sigma3,0,applied stress on axis 3 (see :yref:`TriaxialStressController::isAxisymetric`))) - ((bool,isAxisymetric,true,if true, sigma_iso is assigned to sigma1, 2 and 3)) + ((Real,sigma1,0,applied stress on axis 1 (overriden if :yref:`TriaxialStressController::isAxisymetric`))) + ((Real,sigma2,0,applied stress on axis 2 (overriden if :yref:`TriaxialStressController::isAxisymetric`))) + ((Real,sigma3,0,applied stress on axis 3 (overriden if :yref:`TriaxialStressController::isAxisymetric`))) + ((bool,isAxisymetric,true,if true, sigma_iso is assigned to sigma1, 2 and 3 (applies at each iteration and overrides user-set values of s1,2,3))) ((Real,maxMultiplier,1.001,max multiplier of diameters during internal compaction (initial fast increase - :yref:`TriaxialStressController::finalMaxMultiplier` is used in a second stage))) ((Real,finalMaxMultiplier,1.1,max multiplier of diameters during internal compaction (secondary precise adjustment - :yref:`TriaxialStressController::maxMultiplier` is used in the initial stage))) ((Real,max_vel,0.001,Maximum allowed walls velocity [m/s]. This value superseeds the one assigned by the stress controller if the later is higher. max_vel can be set to infinity in many cases, but sometimes helps stabilizing packings. Based on this value, different maxima are computed for each axis based on the dimensions of the sample, so that if each boundary moves at its maximum velocity, the strain rate will be isotropic (see e.g. :yref:`TriaxialStressController::max_vel1`).)) @@ -132,7 +134,8 @@ .def_readonly(max_vel1,TriaxialStressController::max_vel1,see :yref:`TriaxialStressController::max_vel` |ycomp|) .def_readonly(max_vel2,TriaxialStressController::max_vel2,see :yref:`TriaxialStressController::max_vel` |ycomp|) .def_readonly(max_vel3,TriaxialStressController::max_vel3,see :yref:`TriaxialStressController::max_vel` |ycomp|) - ) + .def(stress,TriaxialStressController::getStress,(python::arg(id)),Return the mean stress vector acting on boundary 'id', with 'id' between 0 and 5.) + ) DECLARE_LOGGER; }; REGISTER_SERIALIZABLE(TriaxialStressController); ___ Mailing list: https://launchpad.net/~yade-dev Post to : yade-dev@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-dev More help : https://help.launchpad.net/ListHelp
Re: [Yade-dev] Wiki problem
Remi just disabled changes without login. Let see if we have to ban accounts/IP in the future. B. Janek Kozicki a écrit : Anton Gladky said: (by the date of Mon, 5 Jul 2010 08:14:05 +0200) https://yade-dem.org/w/index.php?title=Talk:Development_schedulediff=946oldid=prev is it a spam? definitely yes, I deleted it. We need to think about spam protection :(( -- ___ Bruno Chareyre Associate Professor ENSE3 - Grenoble INP Lab. 3SR BP 53 - 38041, Grenoble cedex 9 - France Tél : 33 4 56 52 86 21 Fax : 33 4 76 82 70 43 ___ Mailing list: https://launchpad.net/~yade-dev Post to : yade-dev@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-dev More help : https://help.launchpad.net/ListHelp
Re: [Yade-dev] Wiki problem
An easy anti-spam would be to moderate accounts creation, so only people we know can modify the wiki. What do you think? Bruno Bruno Chareyre a écrit : Remi just disabled changes without login. Let see if we have to ban accounts/IP in the future. B. Janek Kozicki a écrit : Anton Gladky said: (by the date of Mon, 5 Jul 2010 08:14:05 +0200) https://yade-dem.org/w/index.php?title=Talk:Development_schedulediff=946oldid=prev is it a spam? definitely yes, I deleted it. We need to think about spam protection :(( -- ___ Bruno Chareyre Associate Professor ENSE3 - Grenoble INP Lab. 3SR BP 53 - 38041, Grenoble cedex 9 - France Tél : 33 4 56 52 86 21 Fax : 33 4 76 82 70 43 ___ Mailing list: https://launchpad.net/~yade-dev Post to : yade-dev@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-dev More help : https://help.launchpad.net/ListHelp
Re: [Yade-dev] Wiki problem
I agree 2010/7/5 Bruno Chareyre bruno.chare...@hmg.inpg.fr An easy anti-spam would be to moderate accounts creation, so only people we know can modify the wiki. What do you think? Bruno Bruno Chareyre a écrit : Remi just disabled changes without login. Let see if we have to ban accounts/IP in the future. B. Janek Kozicki a écrit : Anton Gladky said: (by the date of Mon, 5 Jul 2010 08:14:05 +0200) https://yade-dem.org/w/index.php?title=Talk:Development_schedulediff=946oldid=prev is it a spam? definitely yes, I deleted it. We need to think about spam protection :(( -- ___ Bruno Chareyre Associate Professor ENSE3 - Grenoble INP Lab. 3SR BP 53 - 38041, Grenoble cedex 9 - France Tél : 33 4 56 52 86 21 Fax : 33 4 76 82 70 43 ___ Mailing list: https://launchpad.net/~yade-devhttps://launchpad.net/%7Eyade-dev Post to : yade-dev@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-devhttps://launchpad.net/%7Eyade-dev More help : https://help.launchpad.net/ListHelp ___ Mailing list: https://launchpad.net/~yade-dev Post to : yade-dev@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-dev More help : https://help.launchpad.net/ListHelp
Re: [Yade-dev] updating publications list
Anton Gladky a écrit : Sorry, Bruno, it is already is in there. It is not. Where is it gone?! ;-) B. 2010/7/5 Anton Gladky gladky.an...@gmail.com mailto:gladky.an...@gmail.com Bruno, please, add your PHD-thesis to references also. Thanks. __ Anton Gladkyy 2010/7/5 Bruno Chareyre bruno.chare...@hmg.inpg.fr mailto:bruno.chare...@hmg.inpg.fr Hehe. You lost me too Luc. ;-) Concerning fulltext, I think we have a preprint of this one. We could upload it as this journal is not from one of the big publishers and many universities will not have it accessible online. Bruno Václav Šmilauer a écrit : I would like to ask the journal before adding the reference to the list, but maybe I could add this link as a first step? Luc, we're only adding a reference, not fulltext. Is that a publisher that does not want his article to be cited?? ___ Mailing list: https://launchpad.net/~yade-dev https://launchpad.net/%7Eyade-dev Post to : yade-dev@lists.launchpad.net mailto:yade-dev@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-dev https://launchpad.net/%7Eyade-dev More help : https://help.launchpad.net/ListHelp -- ___ Bruno Chareyre Associate Professor ENSE3 - Grenoble INP Lab. 3SR BP 53 - 38041, Grenoble cedex 9 - France Tél : 33 4 56 52 86 21 Fax : 33 4 76 82 70 43 ___ Mailing list: https://launchpad.net/~yade-dev https://launchpad.net/%7Eyade-dev Post to : yade-dev@lists.launchpad.net mailto:yade-dev@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-dev https://launchpad.net/%7Eyade-dev More help : https://help.launchpad.net/ListHelp ___ Mailing list: https://launchpad.net/~yade-dev Post to : yade-dev@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-dev More help : https://help.launchpad.net/ListHelp -- ___ Bruno Chareyre Associate Professor ENSE3 - Grenoble INP Lab. 3SR BP 53 - 38041, Grenoble cedex 9 - France Tél : 33 4 56 52 86 21 Fax : 33 4 76 82 70 43 ___ Mailing list: https://launchpad.net/~yade-dev Post to : yade-dev@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-dev More help : https://help.launchpad.net/ListHelp
Re: [Yade-dev] publications update finished
Good job guys, but I don't understand how uploaded papers are supposed to be found if there are no link to them. What is the idea? Bruno Janek Kozicki a écrit : Václav Šmilauer said: (by the date of Mon, 05 Jul 2010 10:15:34 +0200) Hi everybody, I am pleased to annouce that we finished migration of the publications page to bibtex. Thanks especially to Anton who assumed the burden of converting articles of the authors who did not do it (SHAME ON THEM!). The page https://yade-dem.org/wiki/Publications is now almost empty, all its items appear in publications or references entries of Sphinx. yes, shame on me. You are damn too fast. Again, please do upload fulltext of your articles, if that is legally possible. For conference materials, there should be no issue, for journal articles, preprints are OK to be put online. (Janek, especially, you have so many conference stuff, upload them!) This is the task that I am planning to do since 2007 :) The biggest problem is to find them! But I'll try again - it will require some serious gravedigging. -- ___ Bruno Chareyre Associate Professor ENSE3 - Grenoble INP Lab. 3SR BP 53 - 38041, Grenoble cedex 9 - France Tél : 33 4 56 52 86 21 Fax : 33 4 76 82 70 43 ___ Mailing list: https://launchpad.net/~yade-dev Post to : yade-dev@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-dev More help : https://help.launchpad.net/ListHelp
Re: [Yade-dev] updating publications list
http://bazaar.launchpad.net/~yade-dev/yade/trunk/annotate/head:/doc/references.bib#L26 Is that yours? ___ Mailing list: https://launchpad.net/~yade-dev Post to : yade-dev@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-dev More help : https://help.launchpad.net/ListHelp
Re: [Yade-dev] [Branch ~yade-dev/yade/trunk] Rev 2314: making TriaxialStressController more python friendly.
Oh sorry, I though there was problem only for stress. No problem to turn it a Vector3r. Bruno Janek Kozicki a écrit : Bruno Chareyre said: (by the date of Mon, 05 Jul 2010 10:53:28 +0200) Try r2318. :) Thanks, but how can I read strain? Python gives following error: return triaxialStressController.strain[1] TypeError: No to_python (by-value) converter found for C++ type: double [3] Did I miss something? Currently to get this to work I must change line 38 in TriaxialStressController.hpp from his: Realstrain [3]; into this: Vector3rstrain; And then the attached script works very good. ___ Mailing list: https://launchpad.net/~yade-dev Post to : yade-dev@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-dev More help : https://help.launchpad.net/ListHelp -- ___ Bruno Chareyre Associate Professor ENSE3 - Grenoble INP Lab. 3SR BP 53 - 38041, Grenoble cedex 9 - France Tél : 33 4 56 52 86 21 Fax : 33 4 76 82 70 43 ___ Mailing list: https://launchpad.net/~yade-dev Post to : yade-dev@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-dev More help : https://help.launchpad.net/ListHelp
Re: [Yade-dev] publications update finished
Good job guys, but I don't understand how uploaded papers are supposed to be found if there are no link to them. What is the idea? Bruno, Janek, you just add url={...} to the respective bibtex entry. See other entries that have it. Then the link will appear automatically. The publications file is generated from doc/sphinx/publications.rst.in, which in turn includes bib2rst output from doc/yade-*.doc. Cheers, Vaclav ___ Mailing list: https://launchpad.net/~yade-dev Post to : yade-dev@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-dev More help : https://help.launchpad.net/ListHelp
Re: [Yade-dev] updating publications list
Another question : is there a reason to link DOIs (pointing to abstracts) when fulltext are available from the website? Exemple this : https://yade-dem.org/wiki/File:Chareyre%26Villard2005_licensed.pdf. I guess it can be linked directly? There can be both (and are, in many cases). Since DOI is really the standard for cross-referencing (it is unique), I think it should be included for articles that have one. I think there are some tools that use DOI for article lookup, when not using BiBTeX. v. ___ Mailing list: https://launchpad.net/~yade-dev Post to : yade-dev@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-dev More help : https://help.launchpad.net/ListHelp
Re: [Yade-dev] [Branch ~yade-dev/yade/trunk] Rev 2318: - Add stress getter and python wrapper (replacing reverted r2314).
Bruno, I think the interface is quite horrible (c-style), sorry. I suggest that stress is not a function, but a property (TT.stress, rather than TT.stress(..)) which internally calls a function and those 6 values are returned as a tuple. Is that OK for you? I think it is much more friendly. Then you call TT.stress[3] instead of TT.stress(3). For sigma1, sigma2, sigma3, I suggest just sigma which just returns a Vector3r... Or call it avgStress if you want. What do you think? I can do those changes if you don't feel like it. V. ___ Mailing list: https://launchpad.net/~yade-dev Post to : yade-dev@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-dev More help : https://help.launchpad.net/ListHelp
Re: [Yade-dev] updating publications list
Ok, I saw those double links DOI/fullText. Thanks. Bruno Václav Šmilauer a écrit : Another question : is there a reason to link DOIs (pointing to abstracts) when fulltext are available from the website? Exemple this : https://yade-dem.org/wiki/File:Chareyre%26Villard2005_licensed.pdf. I guess it can be linked directly? There can be both (and are, in many cases). Since DOI is really the standard for cross-referencing (it is unique), I think it should be included for articles that have one. I think there are some tools that use DOI for article lookup, when not using BiBTeX. v. ___ Mailing list: https://launchpad.net/~yade-dev Post to : yade-dev@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-dev More help : https://help.launchpad.net/ListHelp -- ___ Bruno Chareyre Associate Professor ENSE3 - Grenoble INP Lab. 3SR BP 53 - 38041, Grenoble cedex 9 - France Tél : 33 4 56 52 86 21 Fax : 33 4 76 82 70 43 ___ Mailing list: https://launchpad.net/~yade-dev Post to : yade-dev@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-dev More help : https://help.launchpad.net/ListHelp
Re: [Yade-dev] [Branch ~yade-dev/yade/trunk] Rev 2314: making TriaxialStressController more python friendly.
Bruno Chareyre said: (by the date of Mon, 05 Jul 2010 12:33:49 +0200) Oh sorry, I though there was problem only for stress. No problem to turn it a Vector3r. thanks for understanding :) I will not commit this though, because I hope that you will allow Vaclav to make it even more python friendly. BTW, I was (again) confused about using stress() or getStress(). We should agree on one policy for getters/setters, and use it EVERYWHERE. My script didn't work at first becuase I was trying to call getStress() which is not exposed to python. -- Janek Kozicki http://janek.kozicki.pl/ | ___ Mailing list: https://launchpad.net/~yade-dev Post to : yade-dev@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-dev More help : https://help.launchpad.net/ListHelp
Re: [Yade-dev] [Branch ~yade-dev/yade/trunk] Rev 2314: making TriaxialStressController more python friendly.
BTW, I was (again) confused about using stress() or getStress(). We should agree on one policy for getters/setters, and use it EVERYWHERE. My script didn't work at first becuase I was trying to call getStress() which is not exposed to python. You don't need any getters/setters in python. Use .add_property(foo,YourClass::getFoo,doc) or .add_property(foo,YourClass::getFoo,YourClass::setFoo,doc) to create read-only or read-write object.foo thing (object.foo=something will raise an exception if it is read-only). If you were talking about c++, then you're probably right, although here is just a few gettes/setters and they are located a few lines away from the .add_property in the same class. v. ___ Mailing list: https://launchpad.net/~yade-dev Post to : yade-dev@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-dev More help : https://help.launchpad.net/ListHelp
Re: [Yade-dev] [Branch ~yade-dev/yade/trunk] Rev 2318: - Add stress getter and python wrapper (replacing reverted r2314).
Václav Šmilauer a écrit : Bruno, I think the interface is quite horrible (c-style), sorry. I suggest that stress is not a function, but a property (TT.stress, rather than TT.stress(..)) which internally calls a function and those 6 values are returned as a tuple. Is that OK for you? I think it is much more friendly. Then you call TT.stress[3] instead of TT.stress(3). I'll have to update all my scripts... but its ok if somebody wants to make this change (with index in 1,...,6 please). For sigma1, sigma2, sigma3, I suggest just sigma which just returns a Vector3r... Or call it avgStress if you want. 1/ Many users around are using sigma1,2,3 at the moment. More accessors can be added but not sigma's removed. 2/ sigma1,2,3 are not averaged stresses but _prescribed_ stresses 3/ For actual stresses (the tuple above), average them in python if you need, I see no reason to give access to 3 values only when there are 6. Bruno What do you think? I can do those changes if you don't feel like it. V. ___ Mailing list: https://launchpad.net/~yade-dev Post to : yade-dev@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-dev More help : https://help.launchpad.net/ListHelp -- ___ Bruno Chareyre Associate Professor ENSE3 - Grenoble INP Lab. 3SR BP 53 - 38041, Grenoble cedex 9 - France Tél : 33 4 56 52 86 21 Fax : 33 4 76 82 70 43 ___ Mailing list: https://launchpad.net/~yade-dev Post to : yade-dev@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-dev More help : https://help.launchpad.net/ListHelp
Re: [Yade-dev] [Branch ~yade-dev/yade/trunk] Rev 2318: - Add stress getter and python wrapper (replacing reverted r2314).
I'll have to update all my scripts... but its ok if somebody wants to make this change (with index in 1,...,6 please). Tuples are numbered from 0 in python, just like arrays in c/c++. Get over that, it cannot be changed. 1/ Many users around are using sigma1,2,3 at the moment. More accessors can be added but not sigma's removed. 2/ sigma1,2,3 are not averaged stresses but _prescribed_ stresses 3/ For actual stresses (the tuple above), average them in python if you need, I see no reason to give access to 3 values only when there are 6. OK, I didn't understand that. ___ Mailing list: https://launchpad.net/~yade-dev Post to : yade-dev@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-dev More help : https://help.launchpad.net/ListHelp
[Yade-dev] [Bug 601866] [NEW] InsertionSortCollider misses interactions on rotated cell
Public bug reported: This bug was reported first by Jan at http://www.mail-archive.com/yade- us...@lists.launchpad.net/msg02096.html. Interaction accross the periodic cell boundary are being missed apparently, as the attached script demonstrates. ** Affects: yade Importance: Medium Assignee: Václav Šmilauer (eudoxos) Status: Confirmed -- InsertionSortCollider misses interactions on rotated cell https://bugs.launchpad.net/bugs/601866 You received this bug notification because you are a member of Yade developers, which is subscribed to Yade. Status in Yet Another Dynamic Engine: Confirmed Bug description: This bug was reported first by Jan at http://www.mail-archive.com/yade-us...@lists.launchpad.net/msg02096.html. Interaction accross the periodic cell boundary are being missed apparently, as the attached script demonstrates. ___ Mailing list: https://launchpad.net/~yade-dev Post to : yade-dev@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-dev More help : https://help.launchpad.net/ListHelp
[Yade-dev] [Bug 601866] Re: InsertionSortCollider misses interactions on rotated cell
** Attachment added: the same scene, but with periodicity disabled; that makes the rendering clearer. http://launchpadlibrarian.net/51409520/after-O.periodic%3DFalse.png ** Summary changed: - InsertionSortCollider misses interactions on rotated cell + shift2 parameter in InteractionDispatchers computed incorrectly with rotated cell -- shift2 parameter in InteractionDispatchers computed incorrectly with rotated cell https://bugs.launchpad.net/bugs/601866 You received this bug notification because you are a member of Yade developers, which is subscribed to Yade. Status in Yet Another Dynamic Engine: Confirmed Bug description: This bug was reported first by Jan at http://www.mail-archive.com/yade-us...@lists.launchpad.net/msg02096.html. Interaction accross the periodic cell boundary are being missed apparently, as the attached script demonstrates. ___ Mailing list: https://launchpad.net/~yade-dev Post to : yade-dev@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-dev More help : https://help.launchpad.net/ListHelp
[Yade-dev] [Branch ~yade-dev/yade/trunk] Rev 2319: - Add definition of work input from boundaries (resp. macro strain) in TriaxialStressController (...
revno: 2319 committer: bchareyre bchare...@dt-rv020 branch nick: trunk timestamp: Mon 2010-07-05 15:38:12 +0200 message: - Add definition of work input from boundaries (resp. macro strain) in TriaxialStressController (resp. PeriTriaxController). modified: pkg/dem/Engine/GlobalEngine/PeriIsoCompressor.cpp pkg/dem/Engine/GlobalEngine/PeriIsoCompressor.hpp pkg/dem/Engine/PartialEngine/TriaxialStressController.cpp pkg/dem/Engine/PartialEngine/TriaxialStressController.hpp -- lp:yade https://code.launchpad.net/~yade-dev/yade/trunk Your team Yade developers is subscribed to branch lp:yade. To unsubscribe from this branch go to https://code.launchpad.net/~yade-dev/yade/trunk/+edit-subscription === modified file 'pkg/dem/Engine/GlobalEngine/PeriIsoCompressor.cpp' --- pkg/dem/Engine/GlobalEngine/PeriIsoCompressor.cpp 2010-06-29 14:32:03 + +++ pkg/dem/Engine/GlobalEngine/PeriIsoCompressor.cpp 2010-07-05 13:38:12 + @@ -232,6 +232,8 @@ //-bogusPoisson*(cellGrow[ax1]/refSize[ax1])*(stiff[ax1]/cellArea[ax1])-bogusPoisson*(cellGrow[ax2]/refSize[ax2])*(stiff[ax2]/cellArea[ax2]); } for (int k=0;k3;k++) strainRate[k]=scene-cell-velGrad(k,k); + //Update energy input + externalWork+=(scene-cell-velGrad*stressTensor).trace()*scene-dt*scene-cell-Hsize.determinant(); prevGrow = strainRate; if(allOk){ === modified file 'pkg/dem/Engine/GlobalEngine/PeriIsoCompressor.hpp' --- pkg/dem/Engine/GlobalEngine/PeriIsoCompressor.hpp 2010-06-29 14:32:03 + +++ pkg/dem/Engine/GlobalEngine/PeriIsoCompressor.hpp 2010-07-05 13:38:12 + @@ -67,6 +67,7 @@ ((Real,currUnbalanced,NaN,current unbalanced force (updated every globUpdate) |yupdate|)) ((Vector3r,prevGrow,Vector3r::Zero(),previous cell grow)) ((Real,mass,NaN,mass of the cell (user set))) + ((Real,externalWork,0,Work input from boundary controller.)) ); DECLARE_LOGGER; }; === modified file 'pkg/dem/Engine/PartialEngine/TriaxialStressController.cpp' --- pkg/dem/Engine/PartialEngine/TriaxialStressController.cpp 2010-07-05 08:50:05 + +++ pkg/dem/Engine/PartialEngine/TriaxialStressController.cpp 2010-07-05 13:38:12 + @@ -62,6 +62,7 @@ } previousTranslation[wall] = (1-wallDamping)*translation*normal[wall] + 0.8*previousTranslation[wall];// formula for steady-flow evolution with fluctuations p-se3.position += previousTranslation[wall]; + externalWork += previousTranslation[wall].dot(getForce(scene,wall_id[wall])); // this is important is using VelocityBins. Otherwise the motion is never detected. Related to https://bugs.launchpad.net/yade/+bug/398089 p-vel=previousTranslation[wall]/scene-dt; //if(log)TRVAR2(previousTranslation,p-se3.position); === modified file 'pkg/dem/Engine/PartialEngine/TriaxialStressController.hpp' --- pkg/dem/Engine/PartialEngine/TriaxialStressController.hpp 2010-07-05 08:50:05 + +++ pkg/dem/Engine/PartialEngine/TriaxialStressController.hpp 2010-07-05 13:38:12 + @@ -99,10 +99,10 @@ ((Real,height0,0,)) ((Real,width0,0,)) ((Real,depth0,0,)) - ((Real,sigma_iso,0,applied confining stress (see :yref:`TriaxialStressController::isAxisymetric`))) - ((Real,sigma1,0,applied stress on axis 1 (overriden if :yref:`TriaxialStressController::isAxisymetric`))) - ((Real,sigma2,0,applied stress on axis 2 (overriden if :yref:`TriaxialStressController::isAxisymetric`))) - ((Real,sigma3,0,applied stress on axis 3 (overriden if :yref:`TriaxialStressController::isAxisymetric`))) + ((Real,sigma_iso,0,prescribed confining stress (see :yref:`TriaxialStressController::isAxisymetric`))) + ((Real,sigma1,0,prescribed stress on axis 1 (see :yref:`TriaxialStressController::isAxisymetric`))) + ((Real,sigma2,0,prescribed stress on axis 2 (see :yref:`TriaxialStressController::isAxisymetric`))) + ((Real,sigma3,0,prescribed stress on axis 3 (see :yref:`TriaxialStressController::isAxisymetric`))) ((bool,isAxisymetric,true,if true, sigma_iso is assigned to sigma1, 2 and 3 (applies at each iteration and overrides user-set values of s1,2,3))) ((Real,maxMultiplier,1.001,max multiplier of diameters during internal compaction (initial fast increase - :yref:`TriaxialStressController::finalMaxMultiplier` is used in a second stage))) ((Real,finalMaxMultiplier,1.1,max multiplier of diameters during internal compaction (secondary precise adjustment - :yref:`TriaxialStressController::maxMultiplier` is used in the initial stage))) @@ -112,6 +112,7 @@ ((bool,internalCompaction,true,Switch between 'external' (walls) and 'internal' (growth of particles) compaction.)) ((Real,meanStress,0,Mean stress in the packing.)) ((Real,volumetricStrain,0,Volumetric strain (see :yref:`TriaxialStressController::strain`).)) + ((Real,externalWork,0,Energy provided by boundaries.)) , /* extra initializers */ , ___ Mailing list: https://launchpad.net/~yade-dev Post to :
[Yade-dev] [Branch ~yade-dev/yade/trunk] Rev 2320: 1. Add show Paraview documentation to the postprocessing section
revno: 2320 fixes bug(s): https://launchpad.net/bugs/601866 committer: Václav Šmilauer eudo...@arcig.cz branch nick: trunk timestamp: Mon 2010-07-05 15:41:14 +0200 message: 1. Add show Paraview documentation to the postprocessing section 2. Fix at least partially the rotated cell bug in shift2 (https://bugs.launchpad.net/yade/+bug/601866), still some issues elsewhere, though. added: doc/sphinx/fig/paraview-glyph-icon.png doc/sphinx/fig/paraview-open-files.png doc/sphinx/fig/paraview-rendering-apply.png modified: doc/sphinx/user.rst examples/funnel.py pkg/common/Engine/Dispatcher/InteractionDispatchers.cpp pkg/common/Engine/GlobalEngine/InsertionSortCollider.cpp pkg/common/Engine/GlobalEngine/InsertionSortCollider.hpp scripts/test/periodic-grow.py -- lp:yade https://code.launchpad.net/~yade-dev/yade/trunk Your team Yade developers is subscribed to branch lp:yade. To unsubscribe from this branch go to https://code.launchpad.net/~yade-dev/yade/trunk/+edit-subscription === added file 'doc/sphinx/fig/paraview-glyph-icon.png' Binary files doc/sphinx/fig/paraview-glyph-icon.png 1970-01-01 00:00:00 + and doc/sphinx/fig/paraview-glyph-icon.png 2010-07-05 13:41:14 + differ === added file 'doc/sphinx/fig/paraview-open-files.png' Binary files doc/sphinx/fig/paraview-open-files.png 1970-01-01 00:00:00 + and doc/sphinx/fig/paraview-open-files.png 2010-07-05 13:41:14 + differ === added file 'doc/sphinx/fig/paraview-rendering-apply.png' Binary files doc/sphinx/fig/paraview-rendering-apply.png 1970-01-01 00:00:00 + and doc/sphinx/fig/paraview-rendering-apply.png 2010-07-05 13:41:14 + differ === modified file 'doc/sphinx/user.rst' --- doc/sphinx/user.rst 2010-05-17 08:51:45 + +++ doc/sphinx/user.rst 2010-07-05 13:41:14 + @@ -1250,6 +1250,81 @@ Postprocessing *** +3d rendering videos +== + +There are multiple ways to produce a video of simulation: + +#. Capture screen output (the 3d rendering window) during the simulation â there are tools available for that (such as `Istanbul http://live.gnome.org/Istanbul`_ or `RecordMyDesktop http://recordmydesktop.sourceforge.net/about.php`_, which are also packaged for most Linux distributions). The output is what you see is what you get, with all the advantages and disadvantages. + +#. Periodic frame snapshot using :yref:`SnapshotEngine` (see :ysrc:`examples/bulldozer.py` for a full example):: + + O.engines=[ + #... + SnapshotEngine(iterPeriod=100,fileBase='/tmp/bulldozer-',viewNo=0,label='snapshooter') + ] + + which will save numbered files like ``/tmp/bulldozer-.png``. These files can be processed externally (with `mencoder http://www.mplayerhq.hu`_ and similar tools) or directly with the :yref:`yade.utils.encodeVideoFromFrames`:: + + utils.encodeVideoFromFrames(snapshooter.savedSnapshots,out='/tmp/bulldozer.ogg',fps=2) + + The video is encoded in the `Theora http://www.theora.org`_ format stored in an ogg container. + +#. Specialized post-processing tools, notably `Paraview http://www.paraview.org`_. This is described in more detail in the following section. + +Paraview +- + +Saving data during the simulation +^ + +Paraview is based on the `Visualization Toolkit http://www.vtk.org`_, which defines formats for saving various types of data. One of them (with the ``.vtu`` extension) can be written by a special engine :yref:`VTKRecorder`. It is added to the simulation loop:: + + O.engines=[ + # ... + VTKRecorder(iterPeriod=100,recorders=['spheres','facets','colors'],fileName='/tmp/p1-') + ] + +* :yref:`iterPeriodPeriodicEngine.iterPeriod` determines how often to save simulation data (besides :yref:`iterPeriodPeriodicEngine.iterPeriod`, you can also use :yref:`virtPeriodPeriodicEngine.virtPeriod` or :yref:`realPeriodPeriodicEngine.realPeriod`). It the period is too high (and data are saved only few times), the video will have few frames. +* :yref:`fileNameVTKRecorder.fileName` is the prefix for files being saved. In this case, output files will be named ``/tmp/p1-spheres.0.vtu`` and ``/tmp/p1-facets.0.vtu``, where the number is the number of iteration; many files are created, putting them in a separate directory is advisable. +* :yref:`recordersVTKRecorder.recorders` determines what data to save (see the :yref:`documentationVTKRecorder.recorders`) + +Loading data into Paraview +^^ + +All sets of files (``spheres``, ``facets``, â¦) must be opened one-by-one in Paraview. The open dialogue automatically collapses numbered files in one, making it easy to select all of them: + +.. _img-paraview-open-files: +.. figure:: fig/paraview-open-files.png + +Click on the Apply button in the Object inspector sub-window to make loaded objects visible. You can see tree of displayed objects in the Pipeline browser: + +..
[Yade-dev] [Bug 601866] Re: shift2 parameter in InteractionDispatchers computed incorrectly with rotated cell
** Branch linked: lp:yade -- shift2 parameter in InteractionDispatchers computed incorrectly with rotated cell https://bugs.launchpad.net/bugs/601866 You received this bug notification because you are a member of Yade developers, which is subscribed to Yade. Status in Yet Another Dynamic Engine: Confirmed Bug description: This bug was reported first by Jan at http://www.mail-archive.com/yade-us...@lists.launchpad.net/msg02096.html. Interaction accross the periodic cell boundary are being missed apparently, as the attached script demonstrates. ___ Mailing list: https://launchpad.net/~yade-dev Post to : yade-dev@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-dev More help : https://help.launchpad.net/ListHelp
[Yade-dev] [Bug 601866] Re: shift2 parameter in InteractionDispatchers computed incorrectly with rotated cell
Still some issues, though not directly related to shift2; they borh appear when running scripts/test/periodic-shear.py 1. Bo1_Facet_Aabb does not work correctly (in the script mentioned, z coord is the same for both min and max, although the facet is inclined) 2. The collider does not delete potential interactions when bboxes go out of overlap in the periodic case (??) ** Changed in: yade Status: Confirmed = In Progress -- shift2 parameter in InteractionDispatchers computed incorrectly with rotated cell https://bugs.launchpad.net/bugs/601866 You received this bug notification because you are a member of Yade developers, which is subscribed to Yade. Status in Yet Another Dynamic Engine: In Progress Bug description: This bug was reported first by Jan at http://www.mail-archive.com/yade-us...@lists.launchpad.net/msg02096.html. Interaction accross the periodic cell boundary are being missed apparently, as the attached script demonstrates. ___ Mailing list: https://launchpad.net/~yade-dev Post to : yade-dev@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-dev More help : https://help.launchpad.net/ListHelp
Re: [Yade-dev] [Bug 601866] Re: shift2 parameter in InteractionDispatchers computed incorrectly with rotated cell
2. The collider does not delete potential interactions when bboxes go out of overlap in the periodic case (??) This is only happening with the periodic case, right? There was this thread http://www.mail-archive.com/yade-us...@lists.launchpad.net/msg02036.htmlwhere I was wondering if it is normal that the interaction remains potential (hence not completely deleted) even when bboxes are no more overlapping. Just for confirmation.. ___ Mailing list: https://launchpad.net/~yade-dev Post to : yade-dev@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-dev More help : https://help.launchpad.net/ListHelp
[Yade-dev] [Branch ~yade-dev/yade/trunk] Rev 2321: fix two typos, replace Real strain[3] with Vector3r strain
revno: 2321 committer: Janek Kozicki cosu...@berlios.de branch nick: trunk timestamp: Mon 2010-07-05 18:01:00 +0200 message: fix two typos, replace Real strain[3] with Vector3r strain modified: doc/sphinx/user.rst pkg/dem/Engine/PartialEngine/TriaxialStressController.hpp -- lp:yade https://code.launchpad.net/~yade-dev/yade/trunk Your team Yade developers is subscribed to branch lp:yade. To unsubscribe from this branch go to https://code.launchpad.net/~yade-dev/yade/trunk/+edit-subscription === modified file 'doc/sphinx/user.rst' --- doc/sphinx/user.rst 2010-07-05 13:41:14 + +++ doc/sphinx/user.rst 2010-07-05 16:01:00 + @@ -1383,7 +1383,7 @@ #7 0x004a7c5e in call_function (f=Frame 0x1c54620, for file ipython console, line 1, in module (), throwflag=value optimized out) at ../Python/ceval.c:3750 #8 PyEval_EvalFrameEx (f=Frame 0x1c54620, for file ipython console, line 1, in module (), throwflag=value optimized out) at ../Python/ceval.c:2412 -If you think this might be error in Yade, file a bug report as explained below. Do not forget to attach *full* yade output from terminal, including startup messages and debugger output -- select with right moust button, paste with middle button to the bugreport to to a file and attach it. Attach your simulation script as well. +If you think this might be error in Yade, file a bug report as explained below. Do not forget to attach *full* yade output from terminal, including startup messages and debugger output -- select with right mouse button, paste with middle button to the bugreport to to a file and attach it. Attach your simulation script as well. Reporting bugs == === modified file 'pkg/dem/Engine/PartialEngine/TriaxialStressController.hpp' --- pkg/dem/Engine/PartialEngine/TriaxialStressController.hpp 2010-07-05 13:38:12 + +++ pkg/dem/Engine/PartialEngine/TriaxialStressController.hpp 2010-07-05 16:01:00 + @@ -35,7 +35,7 @@ boost::arrayVector3r,6 previousTranslation; //! The value of stiffness (updated according to stiffnessUpdateInterval) vectorReal stiffness; - Real strain [3]; + Vector3r strain; Vector3r normal [6]; //! The values of stresses Vector3r stress [6]; @@ -130,7 +130,7 @@ porosity=1; , .def_readonly(strain,TriaxialStressController::strain,Current strain (logarithmic).) - .def_readonly(porosity,TriaxialStressController::porosity,Pososity of the packing.) + .def_readonly(porosity,TriaxialStressController::porosity,Porosity of the packing.) .def_readonly(boxVolume,TriaxialStressController::boxVolume,Total packing volume.) .def_readonly(max_vel1,TriaxialStressController::max_vel1,see :yref:`TriaxialStressController::max_vel` |ycomp|) .def_readonly(max_vel2,TriaxialStressController::max_vel2,see :yref:`TriaxialStressController::max_vel` |ycomp|) ___ Mailing list: https://launchpad.net/~yade-dev Post to : yade-dev@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-dev More help : https://help.launchpad.net/ListHelp
Re: [Yade-dev] [Branch ~yade-dev/yade/trunk] Rev 2314: making TriaxialStressController more python friendly.
Bruno Chareyre said: (by the date of Mon, 05 Jul 2010 12:33:49 +0200) Janek Kozicki a écrit : change line 38 in TriaxialStressController.hpp from his: Realstrain [3]; into this: Vector3rstrain; Oh sorry, I though there was problem only for stress. No problem to turn it a Vector3r. ok, in the end I actually committed this :) I think that it would be best to remove TriaxialStateRecorder and replace it with python completely. And maybe other recorders too. Hmm... those recorders that are still present as .cpp files were the ones most needed. Maybe the best would be to extend the section in the user manual about 'recording results' and while deleting each of those Recorder*.[hc]pp files - at the same time add python script example to the manual that records the same thing in python that was just deleted in .cpp. -- Janek Kozicki http://janek.kozicki.pl/ | ___ Mailing list: https://launchpad.net/~yade-dev Post to : yade-dev@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-dev More help : https://help.launchpad.net/ListHelp
Re: [Yade-dev] [Bug 601866] Re: shift2 parameter in InteractionDispatchers computed incorrectly with rotated cell
This is only happening with the periodic case, right? There was this thread http://www.mail-archive.com/yade-us...@lists.launchpad.net/msg02036.html where I was wondering if it is normal that the interaction remains potential (hence not completely deleted) even when bboxes are no more overlapping. Just for confirmation.. I would happen in the non-periodic case as well. As said in the commit message, everybody should update! Cheers, v. ___ Mailing list: https://launchpad.net/~yade-dev Post to : yade-dev@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-dev More help : https://help.launchpad.net/ListHelp
[Yade-dev] [Branch ~yade-dev/yade/trunk] Rev 2322: 1. Fix stale potential interactions -- we've been dragging this bug since april, I will backport ...
revno: 2322 committer: Václav Šmilauer eudo...@arcig.cz branch nick: trunk timestamp: Mon 2010-07-05 18:34:20 +0200 message: 1. Fix stale potential interactions -- we've been dragging this bug since april, I will backport it to 0.50. You are strongly recommended to update!!! The bug was, in the end, not in the collider, but in the container; it had = instead of = in one condition. Sorry. modified: core/InteractionContainer.cpp pkg/common/Engine/GlobalEngine/InsertionSortCollider.cpp pkg/common/Engine/GlobalEngine/InsertionSortCollider.hpp scripts/test/periodic-shear.py -- lp:yade https://code.launchpad.net/~yade-dev/yade/trunk Your team Yade developers is subscribed to branch lp:yade. To unsubscribe from this branch go to https://code.launchpad.net/~yade-dev/yade/trunk/+edit-subscription === modified file 'core/InteractionContainer.cpp' --- core/InteractionContainer.cpp 2010-04-25 22:08:06 + +++ core/InteractionContainer.cpp 2010-07-05 16:34:20 + @@ -52,7 +52,7 @@ bool InteractionContainer::erase(body_id_t id1,body_id_t id2){ boost::mutex::scoped_lock lock(drawloopmutex); if (id1id2) swap(id1,id2); - if((size_t)id1=vecmap.size()) return false; // id1 out of bounds + if((size_t)id1=vecmap.size()) return false; // id1 out of bounds mapbody_id_t,size_t::iterator mii; mii=vecmap[id1].find(id2); if(mii==vecmap[id1].end()) return false; // id2 not in interaction with id1 === modified file 'pkg/common/Engine/GlobalEngine/InsertionSortCollider.cpp' --- pkg/common/Engine/GlobalEngine/InsertionSortCollider.cpp 2010-07-05 13:41:14 + +++ pkg/common/Engine/GlobalEngine/InsertionSortCollider.cpp 2010-07-05 16:34:20 + @@ -390,7 +390,15 @@ interactions-insert(newI); return; } - if(!overlap hasInter){ if(!I-isReal()) interactions-erase(id1,id2); return; } + if(!overlap hasInter){ + if(!I-isReal()) { + interactions-erase(id1,id2); + #ifdef PISC_DEBUG +if(watchIds(id1,id2)) LOG_DEBUG(Erased intr #id1+#id2); + #endif + } + return; + } assert(false); // unreachable } @@ -450,12 +458,6 @@ return true; } -#ifdef PISC_DEBUG - bool InsertionSortCollider::watchIds(body_id_t id1, body_id_t id2) const{ - return id1==3 || id2==3; //true; //id1==1 || id2==1; - } -#endif - python::tuple InsertionSortCollider::dumpBounds(){ python::list bl[3]; // 3 bound lists, inserted into the tuple at the end for(int axis=0; axis3; axis++){ @@ -463,11 +465,11 @@ if(periodic){ for(long i=0; iV.size; i++){ long ii=V.norm(i); // start from the period boundary -bl[i].append(python::make_tuple(V[ii].coord,(V[ii].flags.isMin?-1:1)*V[ii].id,V[ii].period)); +bl[axis].append(python::make_tuple(V[ii].coord,(V[ii].flags.isMin?-1:1)*V[ii].id,V[ii].period)); } } else { for(long i=0; iV.size; i++){ -bl[i].append(python::make_tuple(V[i].coord,(V[i].flags.isMin?-1:1)*V[i].id)); +bl[axis].append(python::make_tuple(V[i].coord,(V[i].flags.isMin?-1:1)*V[i].id)); } } } === modified file 'pkg/common/Engine/GlobalEngine/InsertionSortCollider.hpp' --- pkg/common/Engine/GlobalEngine/InsertionSortCollider.hpp 2010-07-05 13:41:14 + +++ pkg/common/Engine/GlobalEngine/InsertionSortCollider.hpp 2010-07-05 16:34:20 + @@ -72,7 +72,7 @@ // #define to turn on some tracing information for the periodic part // all code under this can be probably removed at some point, when the collider will have been tested thoroughly -// #define PISC_DEBUG +//#define PISC_DEBUG #ifdef ISC_TIMING @@ -107,7 +107,8 @@ } }; #ifdef PISC_DEBUG - bool watchIds(body_id_t id1,body_id_t id2) const; + int watch1, watch2; + bool watchIds(body_id_t id1,body_id_t id2) const { return (watch10 (watch2==id1||watch2==id2))||(watch20 (watch1==id1||watch1==id2))||(watch1==id1 watch2==id2)||(watch1==id2 watch2==id1); } #endif // keep this dispatcher and call it ourselves as needed shared_ptrBoundDispatcher boundDispatcher; @@ -213,6 +214,9 @@ #ifdef ISC_TIMING timingDeltas=shared_ptrTimingDeltas(new TimingDeltas); #endif + #ifdef PISC_DEBUG +watch1=watch2=-1; // disable watching + #endif for(int i=0; i3; i++) BB[i].axis=i; periodic=false; strideActive=false; @@ -220,7 +224,11 @@ /* py */ .def_readonly(strideActive,InsertionSortCollider::strideActive,Whether striding is active (read-only; for debugging). |yupdate|) .def_readonly(periodic,InsertionSortCollider::periodic,Whether the collider is in periodic mode (read-only; for debugging) |yupdate|) - .def(dumpBounds,InsertionSortCollider::dumpBounds,Return representation of the internal sort data. The format is ``([...],[...],[...])`` for 3 axes, where each ``...`` is a list of entries (bounds). The entry is a tuple with the fllowing items:\n\n* coordinate (float)\n* body id (int), but negated for negative bounds\n* period numer (int), if the collider is in the periodic regime.); +
[Yade-dev] [Bug 601866] Re: shift2 parameter in InteractionDispatchers computed incorrectly with rotated cell
Stale potential interactions are solved in r2322 and backported to 0.50. -- shift2 parameter in InteractionDispatchers computed incorrectly with rotated cell https://bugs.launchpad.net/bugs/601866 You received this bug notification because you are a member of Yade developers, which is subscribed to Yade. Status in Yet Another Dynamic Engine: In Progress Bug description: This bug was reported first by Jan at http://www.mail-archive.com/yade-us...@lists.launchpad.net/msg02096.html. Interaction accross the periodic cell boundary are being missed apparently, as the attached script demonstrates. ___ Mailing list: https://launchpad.net/~yade-dev Post to : yade-dev@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-dev More help : https://help.launchpad.net/ListHelp
[Yade-dev] [Branch ~yade-dev/yade/trunk] Rev 2323: Fix Facet AABB computation in periodic scenes (another important update!)
revno: 2323 committer: Václav Šmilauer eudo...@arcig.cz branch nick: trunk timestamp: Mon 2010-07-05 19:05:41 +0200 message: Fix Facet AABB computation in periodic scenes (another important update!) modified: pkg/common/Engine/Functor/Bo1_Facet_Aabb.cpp scripts/test/periodic-shear.py -- lp:yade https://code.launchpad.net/~yade-dev/yade/trunk Your team Yade developers is subscribed to branch lp:yade. To unsubscribe from this branch go to https://code.launchpad.net/~yade-dev/yade/trunk/+edit-subscription === modified file 'pkg/common/Engine/Functor/Bo1_Facet_Aabb.cpp' --- pkg/common/Engine/Functor/Bo1_Facet_Aabb.cpp 2010-06-08 22:25:00 + +++ pkg/common/Engine/Functor/Bo1_Facet_Aabb.cpp 2010-07-05 17:05:41 + @@ -13,7 +13,7 @@ void Bo1_Facet_Aabb::go( const shared_ptrShape cm , shared_ptrBound bv , const Se3r se3 -, const Body* ) +, const Body*) { Aabb* aabb = static_castAabb*(bv.get()); Facet* facet = static_castFacet*(cm.get()); @@ -34,7 +34,7 @@ for(int i=0; i3; i++){ Vector3r v=scene-cell-unshearPt(O+facetAxisT*vertices[i]); aabb-min=aabb-min.cwise().min(v); - aabb-max=aabb-min.cwise().max(v); + aabb-max=aabb-max.cwise().max(v); } } } === modified file 'scripts/test/periodic-shear.py' --- scripts/test/periodic-shear.py 2010-07-05 16:34:20 + +++ scripts/test/periodic-shear.py 2010-07-05 17:05:41 + @@ -1,8 +1,8 @@ O.periodic=True O.cell.refSize=Vector3(.55,.55,.55) -#O.bodies.append(utils.facet([[.4,.0001,.3],[.2,.0001,.3],[.3,.2,.2]])) +O.bodies.append(utils.facet([[.4,.0001,.3],[.2,.0001,.3],[.3,.2,.2]])) O.bodies.append(utils.sphere([.3,.1,.4],.05,dynamic=True)) -#O.bodies.append(utils.sphere([.21,.201,.4],.05,dynamic=False)) +O.bodies.append(utils.sphere([.21,.201,.4],.05,dynamic=False)) O.bodies.append(utils.sphere([.3,0,0],.1,dynamic=False)) O.engines=[ ForceResetter(), @@ -33,7 +33,7 @@ O.saveTmp() rrr=yade.qt.Renderer() rrr.intrAllWire,rrr.bound=True,True -isc.watch1,isc.watch2=0,-1 +#isc.watch1,isc.watch2=0,-1 #from yade import log #import yade.qt,time @@ -43,4 +43,5 @@ from yade import log #log.setLevel('Shop',log.TRACE) -log.setLevel('InsertionSortCollider',log.TRACE) +#log.setLevel('InsertionSortCollider',log.TRACE) + ___ Mailing list: https://launchpad.net/~yade-dev Post to : yade-dev@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-dev More help : https://help.launchpad.net/ListHelp
Re: [Yade-dev] [Branch ~yade-dev/yade/trunk] Rev 2314: making TriaxialStressController more python friendly.
Traceback (most recent call last): File string, line 1, in module File /home/bruno/YADE/lib/yade-true-true/py/yade/plot.py, line 154, in saveGnuplot fPlot=file(baseName+.gnuplot,'w') TypeError: 'str' object is not callable Looks like you have a string variable called file somewhere. Perhaps in utils.saveVars/utils.loadVars? Did I put the warning in https://yade-dem.org/sphinx/user.html#saving-python-variables for nothing??! v. ___ Mailing list: https://launchpad.net/~yade-dev Post to : yade-dev@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-dev More help : https://help.launchpad.net/ListHelp
[Yade-dev] [Bug 601866] Re: shift2 parameter in InteractionDispatchers computed incorrectly with rotated cell
The facet Aabb is fixed in r2323. Closing. ** Changed in: yade Status: In Progress = Fix Released -- shift2 parameter in InteractionDispatchers computed incorrectly with rotated cell https://bugs.launchpad.net/bugs/601866 You received this bug notification because you are a member of Yade developers, which is subscribed to Yade. Status in Yet Another Dynamic Engine: Fix Released Bug description: This bug was reported first by Jan at http://www.mail-archive.com/yade-us...@lists.launchpad.net/msg02096.html. Interaction accross the periodic cell boundary are being missed apparently, as the attached script demonstrates. ___ Mailing list: https://launchpad.net/~yade-dev Post to : yade-dev@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-dev More help : https://help.launchpad.net/ListHelp
Re: [Yade-dev] [Branch ~yade-dev/yade/trunk] Rev 2314: making TriaxialStressController more python friendly.
Traceback (most recent call last): File string, line 1, in module File /home/bruno/YADE/lib/yade-true-true/py/yade/plot.py, line 154, in saveGnuplot fPlot=file(baseName+.gnuplot,'w') TypeError: 'str' object is not callable Looks like you have a string variable called file somewhere. Perhaps in utils.saveVars/utils.loadVars? Did I put the warning in https://yade-dem.org/sphinx/user.html#saving-python-variables for nothing??! Thanks for suggestion but it is not the problem. file doesn't have to be saved since it will be overwritten each time a simulation is loaded. file is currently defined in params.table for batch jobs. Even hardcoding it in the script doesnt fix the problem. Running in interactive yade makes the problem disappear. Bruno ___ Mailing list: https://launchpad.net/~yade-dev Post to : yade-dev@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-dev More help : https://help.launchpad.net/ListHelp
Re: [Yade-dev] [Branch ~yade-dev/yade/trunk] Rev 2314: making TriaxialStressController more python friendly.
2010/7/5 Bruno Chareyre bruno.chare...@hmg.inpg.fr Cpp recorders are still quite usefull for me. They are more robust, especially when runing jobs on the server and when simulations are saved and reloaded (I'm still strugling with reloading periodic triax atm, no success yet, I get funny errors like below). Also, some recorders could compute rather complex stuff before recording it, in that case we want cpp for speed. So, I don't think they should disappear. Bruno Traceback (most recent call last): File string, line 1, in module File /home/bruno/YADE/lib/yade-true-true/py/yade/plot.py, line 154, in saveGnuplot fPlot=file(baseName+.gnuplot,'w') TypeError: 'str' object is not callable I had this problem recently. The solution was in adding str(). I mean: fPlot=file(str(baseName)+.gnuplot,'w') Or something like that. About cpp-recorders. I think, we can not delete them as we can loose productivity. ___ Mailing list: https://launchpad.net/~yade-dev Post to : yade-dev@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-dev More help : https://help.launchpad.net/ListHelp
Re: [Yade-dev] [Branch ~yade-dev/yade/trunk] Rev 2314: making TriaxialStressController more python friendly.
Thanks for suggestion but it is not the problem. file doesn't have to be saved since it will be overwritten each time a simulation is loaded. file is currently defined in params.table for batch jobs. Even hardcoding it in the script doesnt fix the problem. Running in interactive yade makes the problem disappear. Same problem. You're overwriting the file builtin name with your variable. Use something different. I sort of expected those problems. The best will be to move all saveVars/loadVars and -multi variables to a synthesized module, such as yade.params and such. I will think about that; it will break existing scripts, though. V. ___ Mailing list: https://launchpad.net/~yade-dev Post to : yade-dev@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-dev More help : https://help.launchpad.net/ListHelp
Re: [Yade-dev] [Branch ~yade-dev/yade/trunk] Rev 2314: making TriaxialStressController more python friendly.
I had this problem recently. The solution was in adding str(). I mean: fPlot=file(str(baseName)+.gnuplot,'w') Anton, this is something different. His is not callable means that the object in question is before the (). ___ Mailing list: https://launchpad.net/~yade-dev Post to : yade-dev@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-dev More help : https://help.launchpad.net/ListHelp
Re: [Yade-dev] [Branch ~yade-dev/yade/trunk] Rev 2314: making TriaxialStressController more python friendly.
Anton Gladky said: (by the date of Mon, 5 Jul 2010 19:28:14 +0200) 2010/7/5 Bruno Chareyre bruno.chare...@hmg.inpg.fr About cpp-recorders. I think, we can not delete them as we can loose productivity. OK Václav Šmilauer said: (by the date of Mon, 05 Jul 2010 19:31:45 +0200) I sort of expected those problems. The best will be to move all saveVars/loadVars and -multi variables to a synthesized module, such as yade.params and such. I will think about that; it will break existing scripts, though. I'm all for it. How would it work? (I'm learning python ;) extending yade.params class with your own attributes, then saving that class? pickle? We are after 0.50 release. It is normal that just after the release there are breaking changes. But why and how it would break those scripts? -- Janek Kozicki http://janek.kozicki.pl/ | ___ Mailing list: https://launchpad.net/~yade-dev Post to : yade-dev@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-dev More help : https://help.launchpad.net/ListHelp
Re: [Yade-dev] [Branch ~yade-dev/yade/trunk] Rev 2314: making TriaxialStressController more python friendly.
Oh! You just meant file is somehow a reserved name (since it already exist at startup in empty session?). I didn't get that when you spoke about scopes. It solves the problem, thanks! Bruno Václav Šmilauer a écrit : Thanks for suggestion but it is not the problem. file doesn't have to be saved since it will be overwritten each time a simulation is loaded. file is currently defined in params.table for batch jobs. Even hardcoding it in the script doesnt fix the problem. Running in interactive yade makes the problem disappear. Same problem. You're overwriting the file builtin name with your variable. Use something different. I sort of expected those problems. The best will be to move all saveVars/loadVars and -multi variables to a synthesized module, such as yade.params and such. I will think about that; it will break existing scripts, though. V. ___ Mailing list: https://launchpad.net/~yade-dev Post to : yade-dev@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-dev More help : https://help.launchpad.net/ListHelp -- ___ Bruno Chareyre Associate Professor ENSE3 - Grenoble INP Lab. 3SR BP 53 - 38041, Grenoble cedex 9 - France Tél : 33 4 56 52 86 21 Fax : 33 4 76 82 70 43 ___ Mailing list: https://launchpad.net/~yade-dev Post to : yade-dev@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-dev More help : https://help.launchpad.net/ListHelp
Re: [Yade-dev] [Branch ~yade-dev/yade/trunk] Rev 2314: making TriaxialStressController more python friendly.
Bruno Chareyre said: (by the date of Mon, 05 Jul 2010 20:11:19 +0200) Oh! You just meant file is somehow a reserved name (since it already exist at startup in empty session?). I didn't get that when you spoke about scopes. It solves the problem, thanks! Bruno, you could try to configure python syntax highlighting in your editor. I would never know that 'file' is a reserved language keyword, if gvim didn't display it in the same blue color as 'print' and 'def'. -- Janek Kozicki http://janek.kozicki.pl/ | ___ Mailing list: https://launchpad.net/~yade-dev Post to : yade-dev@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-dev More help : https://help.launchpad.net/ListHelp
Re: [Yade-dev] [Branch ~yade-dev/yade/trunk] Rev 2314: making TriaxialStressController more python friendly.
Bruno, you could try to configure python syntax highlighting in your editor. I would never know that 'file' is a reserved language keyword, if gvim didn't display it in the same blue color as 'print' and 'def'. Its configured already. print is bolded, but file is not. :( B. -- ___ Bruno Chareyre Associate Professor ENSE3 - Grenoble INP Lab. 3SR BP 53 - 38041, Grenoble cedex 9 - France Tél : 33 4 56 52 86 21 Fax : 33 4 76 82 70 43 ___ Mailing list: https://launchpad.net/~yade-dev Post to : yade-dev@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-dev More help : https://help.launchpad.net/ListHelp
Re: [Yade-dev] [Branch ~yade-dev/yade/trunk] Rev 2314: making TriaxialStressController more python friendly.
I'm all for it. How would it work? (I'm learning python ;) extending yade.params class with your own attributes, then saving that class? pickle? You will see. ___ Mailing list: https://launchpad.net/~yade-dev Post to : yade-dev@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-dev More help : https://help.launchpad.net/ListHelp
[Yade-dev] live plot update during simulation
Hello, I am learning python and there's a lot of stuff in python that I don't know yet. To learn a little bit more I decided to try adding a feature of showing live plot updates during simulation, like this: http://geo.hmg.inpg.fr/~janek/yade-videos/yade_livePlot.mpg https://www.yade-dem.org/wiki/Screenshots_and_videos#Experimantal_feature:_live_update_of_plotting By doing this I am sure that I broke some clean coding python conventions, just because I don't know python yet ;) And there is a very ugly trick involved, and I hope Vaclav that you could make this trick not ugly. The trick is following: wget http://tkinter.unpythonic.net/attach//mtTkinter/attachments/mtTkinter-0.3.tar.gz tar -xvzf ./mtTkinter-0.3.tar.gz sudo cp ./mtTkinter.py /usr/lib/python2.6/lib-tk/mtTkinter.py sudo vim /usr/lib/pymodules/python2.6/matplotlib/backends/tkagg.py :%s/import Tkinter as Tk/import mtTkinter as Tk/g :wq It is the ugliest thing that I have done to my debian installation recently. But after that? It works like a charm. Vaclav, I am not committing this, but rather sending as attachments. I prefer that you will review and clean it up. after applying those two patches you can just run uniax.py and enjoy live updating plot. best regards -- Janek Kozicki http://janek.kozicki.pl/ | === modified file 'py/plot.py' --- py/plot.py 2010-07-01 09:56:50 + +++ py/plot.py 2010-07-06 02:05:36 + @@ -32,9 +32,12 @@ labels={} Dictionary converting names in data to human-readable names (TeX names, for instance); if a variable is not specified, it is left untranslated. +liveLines=[] +plotFigs=[] + def reset(): Reset all plot-related variables (data, plots, labels) - global data, plots, labels # plotLines + global data, plots, labels, liveLines, plotFigs # plotLines data={}; plots={}; # plotLines={}; pylab.close('all') @@ -105,10 +108,12 @@ to save the figure to file automatically. + retPlots = [] if not noShow: pylab.ion() ## # no interactive mode (hmmm, I don't know why actually...) for p in plots: p=p.strip() - pylab.figure() + thisFig=pylab.figure() + retPlots.append(thisFig) plots_p=[_addPointTypeSpecifier(o) for o in _tuplifyYAxis(plots[p])] plots_p_y1,plots_p_y2=[],[]; y1=True for d in plots_p: @@ -132,9 +137,95 @@ pylab.ylabel(','.join([_xlateLabel(_p[0]) for _p in plots_p_y2])) pylab.xlabel(_xlateLabel(p)) if 'title' in O.tags.keys(): pylab.title(O.tags['title']) - if not noShow: pylab.show() - else: return pylab.gcf() # return current figure -updatePeriod=0 + if not noShow: + pylab.show() + return retPlots + else: + return pylab.gcf() # return current figure + +def livePlotInit(): + Prepare live plot + + + global plotFigs + global liveLines + plotFigs = [] + liveLines = [] + pylab.ion() ## # no interactive mode (hmmm, I don't know why actually...) + for p in plots: + p=p.strip() + thisFig=pylab.figure() + plotFigs.append(thisFig) + plots_p=[_addPointTypeSpecifier(o) for o in _tuplifyYAxis(plots[p])] + plots_p_y1,plots_p_y2=[],[]; y1=True + for d in plots_p: + if d[0]=='|||' or d[0]==None: +y1=False; continue + if y1: plots_p_y1.append(d) + else: plots_p_y2.append(d) + #plotLines[p]= + line, = pylab.plot(*sum([[data[p],data[d[0]],d[1]] for d in plots_p_y1],[])) + liveLines.append((line,p)) + pylab.legend([_xlateLabel(_p[0]) for _p in plots_p_y1],loc=('upper left' if len(plots_p_y2)0 else 'best')) + pylab.ylabel(','.join([_xlateLabel(_p[0]) for _p in plots_p_y1])) + if len(plots_p_y2)0: + # try to move in the color palette a little further (magenta is 5th): r,g,b,c,m,y,k + origLinesColor=pylab.rcParams['lines.color']; pylab.rcParams['lines.color']='m' + # create the y2 axis + pylab.twinx() + #plotLines[p]+= + line, = pylab.plot(*sum([[data[p],data[d[0]],d[1]] for d in plots_p_y2],[])) + liveLines.append((line,p)) + pylab.legend([_xlateLabel(_p[0]) for _p in plots_p_y2],loc='upper right') + pylab.rcParams['lines.color']=origLinesColor + pylab.ylabel(','.join([_xlateLabel(_p[0]) for _p in plots_p_y2])) + pylab.xlabel(_xlateLabel(p)) + if 'title' in O.tags.keys(): pylab.title(O.tags['title']) + +def livePlotUpdateData(): + global plotFigs + global liveLines + for (line,p) in liveLines: + p=p.strip() + plots_p=[_addPointTypeSpecifier(o) for o in _tuplifyYAxis(plots[p])] + plots_p_y1,plots_p_y2=[],[]; y1=True + for d in plots_p: + if d[0]=='|||' or d[0]==None: +y1=False; continue + if y1: plots_p_y1.append(d) + else: plots_p_y2.append(d) + # I don't know how to directly make a call to line.set_data, so I am using TMP_data + # for calling set_xdata() and set_ydata() + # but all those lines with TMP_data should be instead done by this single line below: + #line.set_data(*sum([[data[p],data[d[0]],d[1]] for d in plots_p_y1],[])) + TMP_data=sum([[data[p],data[d[0]],d[1]] for d in plots_p_y1],[]) + line.set_ydata(TMP_data[1]) + line.set_xdata(TMP_data[0])
Re: [Yade-dev] live plot update during simulation
Janek Kozicki said: (by the date of Tue, 6 Jul 2010 04:39:07 +0200) Hello, I am learning python and there's a lot of stuff in python that I don't know yet. To learn a little bit more I decided to try adding a feature of showing live plot updates during simulation, like this: http://geo.hmg.inpg.fr/~janek/yade-videos/yade_livePlot.mpg https://www.yade-dem.org/wiki/Screenshots_and_videos#Experimantal_feature:_live_update_of_plotting By doing this I am sure that I broke some clean coding python conventions, just because I don't know python yet ;) And there is a very ugly trick involved, and I hope Vaclav that you could make this trick not ugly. The trick is following: wget http://tkinter.unpythonic.net/attach//mtTkinter/attachments/mtTkinter-0.3.tar.gz tar -xvzf ./mtTkinter-0.3.tar.gz sudo cp ./mtTkinter.py /usr/lib/python2.6/lib-tk/mtTkinter.py sudo vim /usr/lib/pymodules/python2.6/matplotlib/backends/tkagg.py :%s/import Tkinter as Tk/import mtTkinter as Tk/g :wq It is the ugliest thing that I have done to my debian installation recently. But after that? It works like a charm. Vaclav, I am not committing this, but rather sending as attachments. I prefer that you will review and clean it up. after applying those two patches you can just run uniax.py and enjoy live updating plot. best regards there's a lot of duplicated code between plot(), livePlotInit() and livePlotUpdateData(). Both functions plot() and livePlotInit() could just call livePlotUpdateData(). And perhaps livePlotInit() could be merged into plot(). The only difference is that livePlotInit() is non-blocking, while plot() is blocking by calling pylab.show() OK.. in attached patch I have merged plot() and plotInit() into a single function. and also I added a delay in seconds. Now you can write yade.plot.livePlot(0.1) and see an updated plot 10 times per second! -- Janek Kozicki http://janek.kozicki.pl/ | === modified file 'py/plot.py' --- py/plot.py 2010-07-01 09:56:50 + +++ py/plot.py 2010-07-06 03:01:36 + @@ -31,10 +31,14 @@ dictionary x-name - (yspec,...), where yspec is either y-name or (y-name,'line-specification') labels={} Dictionary converting names in data to human-readable names (TeX names, for instance); if a variable is not specified, it is left untranslated. +liveLines=[] +Used by livePlot() to store and refresh 'live' plot data. liveLines contains arrays of x:y points. +plotFigs=[] +Used by livePlot() to store and refresh 'live' plot data. plotFigs is an array of pylab.figure() so that the opened windows can be refreshed. def reset(): Reset all plot-related variables (data, plots, labels) - global data, plots, labels # plotLines + global data, plots, labels, liveLines, plotFigs # plotLines data={}; plots={}; # plotLines={}; pylab.close('all') @@ -92,7 +96,7 @@ if l in labels.keys(): return labels[l] else: return l -def plot(noShow=False): +def plot(noShow=False,livePlotInit=False): Do the actual plot, which is either shown on screen (and nothing is returned: if *noShow* is False) or returned as object (if *noShow* is True). You can use @@ -102,13 +106,22 @@ import os os.path.exists('someFile.pdf') True + + To have a live plot of the simulation use: + + yade.plot.livePlot() to save the figure to file automatically. + global plotFigs + global liveLines + plotFigs = [] + liveLines = [] if not noShow: pylab.ion() ## # no interactive mode (hmmm, I don't know why actually...) for p in plots: p=p.strip() - pylab.figure() + thisFig=pylab.figure() + plotFigs.append(thisFig) plots_p=[_addPointTypeSpecifier(o) for o in _tuplifyYAxis(plots[p])] plots_p_y1,plots_p_y2=[],[]; y1=True for d in plots_p: @@ -117,7 +130,8 @@ if y1: plots_p_y1.append(d) else: plots_p_y2.append(d) #plotLines[p]= - pylab.plot(*sum([[data[p],data[d[0]],d[1]] for d in plots_p_y1],[])) + line, =pylab.plot(*sum([[data[p],data[d[0]],d[1]] for d in plots_p_y1],[])) + liveLines.append((line,p)) pylab.legend([_xlateLabel(_p[0]) for _p in plots_p_y1],loc=('upper left' if len(plots_p_y2)0 else 'best')) pylab.ylabel(','.join([_xlateLabel(_p[0]) for _p in plots_p_y1])) if len(plots_p_y2)0: @@ -126,15 +140,67 @@ # create the y2 axis pylab.twinx() #plotLines[p]+= - [pylab.plot(*sum([[data[p],data[d[0]],d[1]] for d in plots_p_y2],[]))] + line, =pylab.plot(*sum([[data[p],data[d[0]],d[1]] for d in plots_p_y2],[])) + liveLines.append((line,p)) pylab.legend([_xlateLabel(_p[0]) for _p in plots_p_y2],loc='upper right') pylab.rcParams['lines.color']=origLinesColor pylab.ylabel(','.join([_xlateLabel(_p[0]) for _p in plots_p_y2])) pylab.xlabel(_xlateLabel(p)) if 'title' in O.tags.keys(): pylab.title(O.tags['title']) - if not noShow: pylab.show() - else: return pylab.gcf() # return current figure -updatePeriod=0 + if not livePlotInit: # block only if
[Yade-dev] checking values of registered attributes
what is the python command to see a listing of all values of all registered attributes of a given engine? For example I want to check what are the values of O.engines[5] so I try print(O.engines[5]) and but doesn't work :) I tried to use pickle to save it into a textfile, but no success again. -- Janek Kozicki http://janek.kozicki.pl/ | ___ Mailing list: https://launchpad.net/~yade-dev Post to : yade-dev@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-dev More help : https://help.launchpad.net/ListHelp