[Yade-users] IMPORTANT: Mailing list migration.
Hello, There were many problems with yade mailing lists on berlios.de recently. The fact that they were completely broken for almost two weeks, a month ago, made use to solve this problem ultimately: We are switching to launchpad. This switch has beed first tested on yade-dev and now we are doing this on yade-users. Please see instructions for migration to launchpad: http://yade.wikia.com/wiki/Launchpad_Migration We want to make this migration as swift as possible: * all mailing list archives are already imported to launchpad * both mailing lists will stay SYNCHRONIZED for SEVERAL MONTHS * this (deprecated) mailing list [EMAIL PROTECTED] will become RECEIVE-ONLY * every user that will subscribe to launchpad will be unsubscribed from yade-users (to avoid receiving each post twice, from both mailing lists). Therefore: - if you only want to receive posts (without sending), you don't do anything for few months. Afterwards you will need to subscribe to launchpad. - if you want to be able to send new messages, you need to subscribe: https://launchpad.net/~yade-users/+join -- Janek Kozicki | ___ 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] IMPORTANT: Mailing list migration.
Janek Kozicki said: (by the date of Mon, 22 Sep 2008 22:09:56 +0200) > * every user that will subscribe to launchpad will be unsubscribed > from yade-users (to avoid receiving each post twice, from both > mailing lists). OK, I have unsubscribed from berlios all people who are already subscribed to launchpad: Bruno, Przewdnik, Sega, Vaclav. If all went well: - you have received previous message twice, - and this one - just once. I will be subsequently unsubsribing people from berlios, who subscribe to launchpad. Or if you receive messages twice, and don't want to wait until I unsubscribe you from berlios - you can do it yourself :) Now everyone is allowed to send messages only to yade-users@lists.launchpad.net -- Janek Kozicki | ___ 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] IMPORTANT: Mailing list migration.
You can compare old and new mailing list archives here: https://lists.launchpad.net/yade-users/maillist.html http://lists.berlios.de/pipermail/yade-users/2008/date.html#start (sorted by date, so it's easier to spot the last message) - Everything that is sent to launchpad is also forwarded to berlios with [deprecated list] subject prefix. - Everything that is sent to berlios (not launchpad) gets a rejection notice about mailing list migration. For example this post by XSX has been rejected: "How can I change or add preprocessor's source code?" please resend it to launchpad :) I'm sorry for this inconvenience, I think that lauchpad will not have any problems that berlios had - after all - it is hosting ubuntu project itself :) One more thing - when you click "reply" please make sure that you send reply to the mailing list, NOT to a PRIVATE address. Most modern email clients should have this done automatically, but better to check by yourself (and see if you can configure your email client). The lauchpad mailing list does not override the "Reply-To" header. -- Janek Kozicki | ___ 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] [deprecated list] [Fwd: Re: Problem installation svn 1523]
Václav Šmilauer said: (by the date of Wed, 24 Sep 2008 18:24:31 +0200) > Jerome Duriez napsal(a): > > Hello Vaclav, here is my answer I sent to the whole list. Because it > > waits for moderator approval (and because I'm a bit in a hurry) I > > afford me to send it to you in private (because also you seem to be > > the one that could help me, thanks a lot). > OMG, why are you sending 250kb log? (message limit is 40kb). Try the > same thing without distcc (CXX=g++, or even better CXX=g++-4.3). Distcc > runs g++ on different machines without checking they are at some > particular version. That version of g++ that happens to be called by g++ > (the default one) will be used. this is my bet also - the problem is because of distcc. You need to talk with each person that has a computer which you are using with distcc and compare your g++ versions. simpler to not use distcc. But maybe Bruno has the same version as you? I have 4.3.1, we might help each other here. -- Janek Kozicki | ___ 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] [deprecated list] what does "unb_force" mean in the record file of CohesiveTriaxialTest?
Bruno Chareyre said: (by the date of Thu, 25 Sep 2008 16:14:50 +0200) > Also, don't hesitate to include aditional comments in the code and > commit it when you think something is missing. Xsx cannot commit anything yet, because he doesn't have write-access to our SVN repository! Xsx, but nothing prevents you from getting this access :) You only need to register on berlios and tell me your berlios login name. So I will add you to the project. Then you will read http://yade.wikia.com/wiki/Quick_subversion_tutorial to learn how to commit. Then everyone will enjoy your work, and if you screw something up - don't worry - you can always commit a fix, because SVN remembers all history of changes :) The same applies to Nurul in fact :) We don't want to lost your work. -- Janek Kozicki | ___ 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] [deprecated list] IMPORTANT: Mailing list migration.
Janek Kozicki said: (by the date of Mon, 22 Sep 2008 22:27:09 +0200) > I will be subsequently unsubsribing people from berlios, who > subscribe to launchpad. Or if you receive messages twice, and don't > want to wait until I unsubscribe you from berlios - you can do it > yourself :) To avoid receiving posts twice, people who subscribed to launchpad are being unsubscribed from berlios. I'm doing those unsubscriptions for you. However few people subscribed to launchpad with hidden email address, and I don't know what email to unsubscribe from berlios. Those people will need to unsubscribe themselves from berlios. -- Janek Kozicki | ___ 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] yade 0.12.1 released
Hi, I made today 0.12.1 release. Have fun! http://yade.wikia.com/wiki/News -- Janek Kozicki | ___ 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] Critical bug fix
Bruno Chareyre said: (by the date of Sun, 04 Jan 2009 23:04:51 +0100) > Hello all yade users, and happy new year. :) > > I just (r1605) commited a fix for a bug introduced recently (kn was not > registered with interaction physics, I still don't know when it was > introduced exactly). It's very simple to check who introduced this bug, just do: svn blame pkg/dem/DataClass/InteractionPhysics/ElasticContactInteraction.cpp And you will see that it's Jean Francios Jerrier. To see who was working with this file before just do: svn blame pkg/dem/DataClass/InteractionPhysics/elasticcontactinteraction@1554 svn blame pkg/dem/DataClass/InteractionPhysics/elasticcontactinteraction@1187 The numbers I'm using are the last modification - 1, from earlier 'svn blame' -- Janek Kozicki | ___ 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] boolean Momentrotationlaw
pkg/dem/Engine/StandAloneEngine/CohesiveFrictionalContactLaw.cpp line 309 -- Janek Kozicki | ___ 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] About join the SVN
Chen, Feng said: (by the date of Wed, 31 Dec 2008 14:16:10 -0500) > Hi, Janek: > > I have uploaded two files for viscous damping > (pkg/dem/Engine/StandAloneEngine/ViscousForceDamping.cpp, hpp), I am not sure > if I have done enough, should I modify the SConscript accordingly? and should > I (or can I) modify the change log? Sorry for late reply. Better if you ask this stuff on the mailing list. I simple missed your email before (and I'm also late with reading the mailing list...) So for example Vaclav or Bruno could answer you. Yes, please modify SConscript so that it will compile your stuff. And please update the Changelog too (everyone should be doing it, but I still have problems with enforcing that on people, those yade developers are like a herd of cats, and I was never good at herding cats). -- Janek Kozicki | ___ 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 about cylindrical object
Jean-Francois Jerier said: (by the date of Fri, 16 Jan 2009 17:28:54 +0100) > > Hi Janek, > > I have a very simple question. One time, you showed me a cylindrical > object. > > Have you realized this object by facets ? or have you defined a > cylindrical function similar to createBox() or createSphere() in Yade ? you have to ask Vaclav on yade-users -- Janek Kozicki | ___ 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] Subversion checkout/update issue under Windows
Thomas Paviot said: (by the date of Sun, 18 Jan 2009 14:41:25 +0100) > Windows is not case > sensitive for files/folders names as Unix/Linux/MacOSX can be. thanks for reporting. I've fixed it in the latest commit. But anyway yade is not going to compile on windows, unless you've got skills for doing that. Technically it's possible, but you will need to modify some code for that. If you manage to compile yade on windows, please send us a diff of your modifications, or commit it yourself to the repository! -- Janek Kozicki | ___ 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] Subversion checkout/update issue under Windows
Chen, Feng said: (by the date of Sun, 18 Jan 2009 14:58:54 -0500) > In a word, can we make things easier? :-) Of course! You have my permission to commit a patch, and update wiki as well! :-P -- Janek Kozicki | ___ 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] [deprecated list] Errors in compiling latest svn version of Yade
MarcoDottor said: (by the date of Mon, 26 Jan 2009 19:26:39 -) > Hello, i downloaded the latest version of YADE with svn checkout > https://svn.berlios.de/svnroot/repos/yade/trunk > > when compiling i have this errors > /usr/include/boost/archive/detail/oserializer.hpp:40:47: error: > boost/serialization/is_abstract.hpp: No such file or directory you need to install boost serialization package. -- Janek Kozicki | ___ 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] [deprecated list] R: Applying constant force on a wall
Václav S(milauer said: (by the date of Thu, 29 Jan 2009 20:36:26 +0100) > PS. Instead of PhysicalActionDamper, PhysicalActionApplier and > PhysicalParametersMetaEngine, use NewtonsDampedLaw. It is functionally > the same, but faster, since it does less loops. out of curiosity - did you make any benchmark to confirm this? See how much faster? -- Janek Kozicki | ___ 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] [deprecated list] About the easiest method to obtain the contact force of each particle?
Chen, Feng said: (by the date of Sat, 31 Jan 2009 01:23:17 -0500) > The ElasticContactLaw seems to loop over the contact but not for each > particle. the sum of all forces acting on each body is stored in physical actions / bex size of this container == number of bodies -- Janek Kozicki | ___ 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] [deprecated list] About the easiest method to obtain the contact force of each particle?
oh, that's just forces for each interaction. You can look on interactions to get a contact force. I thought that you need total force on each grain. -- Janek Kozicki | ___ 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] "primary view" transparent window
Please check if your graphics card is OK, type this: glxinfo | grep render and you should get answer which contains text "direct rendering: Yes" Maybe you will need to install package "mesa-utils" for this. Then please start `glxgears` and you should see a basic 3D graphics with rotating gears. If both work, then I'm puzzled why 3d display in yade is broken. You can try to upgrade to latest version from SVN, but I think that 0.12.1 was ok in this matter... I think that you can try to reinstall packages with restricted modules for your current kernel version. -- Janek Kozicki | ___ 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] [deprecated list] "primary view" transparent window
maybe you need to disable compiz, or another composite manager. Check your desktop settings. I remember that Bruno had to disable this for yade. -- Janek Kozicki | ___ 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] compiling problem - cannot find lminiWm3
Bruno Chareyre said: (by the date of Wed, 04 Feb 2009 16:51:39 +0100) > > It is all the more curious because, if I understand, Wm3 is used only > > for Delaunay triangulation, no? > > Wm3 is used for any maths in Yade, EXCEPT for triangulation, where CGAL > is used. in fact I'm using delaunay triangulation from wildmagic, in lattice model. But Bruno is using CGAL for voronoi tesselation :) But wm3 is used for ALL mathematics in yade. Vector3r and Quaternionr are from Wm3. -- Janek Kozicki | ___ 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] Be carefull with "normalize"
Luc Sibille said: (by the date of Wed, 04 Feb 2009 18:09:01 +0100) > Hi, > > Is the "normalize" function from wm3 used currently in Yade? I mean > not in specific packages your are developing at the present time but in > some basic and usual computation made in Yade. > I think for instance to the computation of the normal vector defining > the intergranular contact plane (for the DEM), or something else. If yes > it could a real problem... > > Bruno have you got an idea of the default value of the "tolerance" > value? The reason for this check could be to avoid a division by zero > or "something" to close to zero. see: lib/miniWm3/Wm3Vector3.inl line 301 lib/miniWm3/Wm3Math.cpp line 29: template<> const double Math::ZERO_TOLERANCE = 1e-20; In my snow grains simulation I'm dealing with really small triangles, because the base unit is meter. And the snow grain average diameter is 0.001m and the size of triangles that form a polyhedron representing the whole grain is about 0.01m (but smaller are possible). I was calculating normals for those triangles (it's necessary for collision detection between polyhedrons), and suddenly some triangles were disappearing. Finally I've found the reason - the length of cross product was less than 1e-20, for example: 1.221342351454256e-21 (we have 16 digits of precision with double). This function Normalize() is used everywhere in yade. But I don't know where :) We could try 'grep Normalize ./* -R' to see where it is used. For example I don't see it in ElasticContactLaw. If someone is making simulations with spheres smaller than... I don't know, maybe 0.1m then maybe he has a problem... -- Janek Kozicki | ___ 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] [Yade-dev] Be carefull with "normalize"
eudoxos said: (by the date of Thu, 05 Feb 2009 15:38:08 +0100) > Want repeat this one? http://www.cnn.com/TECH/space/9909/30/mars.metric/ > > And I still think that the tolerance value has nothing to do with > precision. NUmber of decimal places is the same for 1e-20 and for 1e20. But > the tolerance must scale with that, that is the only problem, as I see it. > How anout making ZERO_TOLERANCE and let the user set it to some reasonable > value according to the particle size, timestep, etc? Let's just set it to zero. And either: 1. put a std::cerr warning when a division by zero is detected or 2. remove the check altogether, let it divide by zero and crash. I prefer 2nd option. Much safer. Units have nothing to do with that. -- Janek Kozicki | ___ 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] Triaxial statetransition and code submission
Luc Sibille said: (by the date of Tue, 10 Feb 2009 14:36:12 +0100) > Question about submission of code to svn: please create an account for you on http://developer.berlios.de/ and send me your login that you used. I'll add you to the project and you will have write access to SVN. have a look at: http://yade.wikia.com/wiki/Quick_subversion_tutorial and http://yade.wikia.com/wiki/Launchpad_Migration#SVN_committers that's it! -- Janek Kozicki ___ 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] Triaxial statetransition and code submission
Luc Sibille said: (by the date of Fri, 13 Feb 2009 09:25:02 +0100) > Hi Janek, >Here is my login on Berlios: lucsibille. >Could you please add me to Yade project? done! Welcome on board! -- Janek Kozicki | ___ 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] 1689 compilation errors
MarcoDottor said: (by the date of Wed, 25 Feb 2009 11:50:56 -) > InteractionHashMap.{hpp,cpp} do not exist, if I copy manually to the > target folder the building goes on but I have errors from Brefcom and > associated files I'm sure that Vaclav will fix it very quick. -- Janek Kozicki | ___ 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] ssh and committing code
Luc Sibille said: (by the date of Fri, 06 Mar 2009 11:44:49 +0100) >I understand that to commit code to repository, I need to have a > read/write access from subversion. > To download a subversion with read/write access I have to use ssh > protocol, for instance: > > svn checkout svn+ssh://svn.berlios.de/svnroot/repos/yade/trunk > > From my university, access outside the university with ssh is totally > locked. > Hence my questions are: > > 1/ Do I really need to perform a checkout with svn and read/write access > for then be able to submit code? > > 2/ If the answer is yes for question 1/, is there a way to perform a > checkout with read/write access without using ssh? I guess that you have your network misconfigured, and that you are using proxy for http. I've seen similar problems in 3s, before. Please ask your network administrator to verify that your /etc/network/interfaces (and /etc/resolv.conf) files are correct. ssh access should not be locked, really - it is possible but extremely unlikely, especially at the university. You need to ask admin about that. -- Janek Kozicki | ___ 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] ssh and committing code
Luc Sibille said: (by the date of Fri, 06 Mar 2009 14:47:43 +0100) > I have already asked my administration about that, and it is clear ssh > is not authorized. I see, please try this: svn checkout http+svn://svn.berlios.de:80/svnroot/repos/yade/trunk Let me know if it works, and if you can commit with this checkout. And if yes - then please add this to wiki webpage (just click "edit" to edit the webpage). -- Janek Kozicki | ___ 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] [deprecated list] pregenerated sphere packings
Václav Šmilauer said: (by the date of Thu, 12 Mar 2009 11:56:53 +0100) > Hi, > > I would like to have pregenerated (periodic) packing of spheres which > could be used to fill arbitrary volumes just by putting one cell next to > another and then clip the result to get the exact shape. I use constant > sphere radius. How would you generate such packing? I imagine like 10k > spheres. Would it be useful for other people to have it in yade as text > file and some utilities to use it? > > I know yade cannot do it at the moment, but perhaps PFC can? Vincent is working with JF Jerier on filling a volume with spheres. The volume is a mesh exported from gmsh or netgen. Or maybe is just described as triangular faces? You got to ask them, because Vincent has demonstrated last month that it already works in yade. But maybe is not finished. -- Janek Kozicki | ___ 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] [deprecated list] Exclude something from compilation ?
So you have an older version of yade, without snow in it. If you want to commit your work, you need to: 1. 'svn up' (and you will have snow then, and Vaclav's multithreading improvements, and so on) 2. make sure that it compiles 3. commit ;) -- Janek Kozicki | ___ 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] depreceated mailing list update
To avoid receiving each email twice I unsubscribed two of you from berlios mailing list: rbarnold and ken.diang. The mirror of our mailing list, which is on berlios will be soon terminated. I advise to subscribe to launchpad, if you haven't done this yet. -- Janek Kozicki | ___ 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] [deprecated list] Sheltering Implementation (force reduction based on relative position)
Václav Šmilauer said: (by the date of Sat, 18 Apr 2009 15:35:13 +0200) > > > I need to simulate mining rocks with possibility its destruction. > > Can YADE lattice model be suitable for that? I can code C++ so I can > > add my code. > Janek's lattice model is only for concrete and is suitable only for > tension, IIRC. So no, you need your own model for that; if you know c++, > it should be fairly straightforward (but not necessarily easy). Vaclav not exactly. lattice works with compression, but has one limitation I never came around to fix - it doesn't have collision detection with itself. Once something breaks into two halves, they can overlap if they move onto each other. But I didn't need to fix this for my calculations, because the deformations were so small, that if something breaks - it doesn't move more than the crack size. concrete is a fake rock, lattice will work for rock fracturing, subject to collisions limitation. Adding collisions is possible by enveloping a lattice mesh into a polyhedron and use collision detection between polyhedrons. A bit of work, though. Lattice can not do dynamics, though. No impacts, etc. Only quasi-static simulations. -- Janek Kozicki | ___ 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] [deprecated list] Sheltering Implementation (force reduction based on relative position)
Anton Gladky said: (by the date of Mon, 20 Apr 2009 08:38:19 +0200) > What is your opinion, is it really difficult to learn YADE for adding new > modules? I guess that the difficulty in adding new modules is roughly equal to the difficulty in understanding the "MyTetrahedron" example. Find all the files that contain "MyTetrahedron", eg. with this command: grep MyTetrahedron -l --include="*.hpp" --include="*.cpp" ./* -R And read the comments inside. Look at the Publications on our website too. -- Janek Kozicki | ___ 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] [deprecated list] Timer works, but no motion
Václav Šmilauer said: (by the date of Thu, 14 May 2009 10:08:31 +0200) > Change the simestep by hand to something like 1e-2. I will put it to the > code also. yes, that's too small timestep. > RotatingBox crashed here and I had to remove lines Why VecSet is crashing and only VecMap is working? -- Janek Kozicki | ___ 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] Timer works, but no motion
Václav Šmilauer said: (by the date of Fri, 15 May 2009 13:37:38 +0200) > I propose to delete VecSet, since using VecMap speeds up simulations by > about 30% compared to VecSet (that' why it is not the default any more) > and it will never work with parallel code. yep, please delete it. -- Janek Kozicki | ___ 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] [deprecated list] svn commit
Václav Šmilauer said: (by the date of Tue, 19 May 2009 18:33:33 +0200) > Janek will give you write access to the repository and you will be able > to commit (see svn instruction on the wiki). For this one, I will apply > the patch to my local copy and commit it the next time (it can take a > while, though, because of bigger changes being done). Vaclav I've just returned from a conference and still quite busy. Vaclav (and Bruno), you both have access permissions to add people to the project. You can do it faster than me. Otherwise you will have to wait a bit.. -- Janek Kozicki | ___ 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] [deprecated list] question about lattice model
Jingsong Chen said: (by the date of Fri, 26 Jun 2009 22:22:56 -) > Hello, everyone! > > First, thank you all for the effort on Yade reference document. I think > it is very important for the new user (like me) to learn Yade. > > Recently I tried to learn how to use lattice model and I tried the > latticeExample in Yade (version 0.12rc1), but I found Yade automatically > quited after I started the simulation for some time and some contents > (like [New Thread 0xb5fc56e0 (LWP 8331)]) were showed in the terminal. > Four data files also were generated, but only file (strains) has data. > So I want to know what's the problem with it and how can I fix it? if it crashed right after you started calculation, then it's a bug that I don't know. if it crashed after the sample broke, then it is a known bug. It is related to drawing in OpenGL a rod that is being deleted at the same time (because it breaks). This does not occur when you close the OpenGL window. I never got around to fix this bug, beucase synchronising threads (display <-> calculation) is so complex. But also, this bug never bothered me too much, because when some serious calculations are being run, the OpenGL display is always off (no point to draw calculations that takes few days, better to look at it after it's finished). There are few more simple FileGenerator examples in the code in latest trunk, you might want to try the svn version and see it. -- Janek Kozicki | ___ 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] [deprecated list] question about lattice model
Janek Kozicki said: (by the date of Sat, 27 Jun 2009 00:47:54 +0200) > I never got around to fix this bug, beucase synchronising threads oh, and IIRC if you check the option "sync.display" in the Display tab of the Simulation Controller, then this problem disappears, and calculation is going much slower. -- Janek Kozicki | ___ 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] crash in lattice model
Jingsong Chen said: (by the date of Sat, 27 Jun 2009 14:58:45 -) > Dear Janek Kozicki: > > thank you for your suggestion, and i tried your method, but it still > crashed as before. > > i also tried the simple FileGenerator examples in the code in latest > trunk. I should made some change in the code to let it through when i > compiled it (delete latticeLaw->tension_compression_different_stiffness > = true; add "false" in REGISTER_SERIALIZABLE(LatticeExampleSimple); ). > Then the compilation succeed. I don't get it.. you picked files LatticeExampleSimple.[ch]pp from trunk and compiled them with 0.12rc ? This mixing maybe works, but shouldn't be done by unexperienced people. Either you are compiling and using the svn treunk HEAD or 0.12rc. To try latest examples you have to use HEAD. > For the simple example, once after I started the simulation, the four > control button in the Simulation tab of the Simulation Controller turn > grey, I can not stop or pause the simulation by myself. The simulation > will not stop, and there is no items in the OpenGL display (before i > started the simulation, i can see some node in the display). > > I also found this in terminal. > "/home/daisy/build-0.12rc1/include/yade-0.12rc1/yade/core/MetaEngine2D.hpp:61 > WARNING! dynamic cast of engine unit LatticeSet2LatticeBeams failed, > will use static_cast. Go figure why." this message you can safely ignore. It has nothing to do with lattice and is related to some dynamic casting in C++ in general, not with lattice. > > I think there may exist problems in version. some code can work in old > version (like version yade-0.11.1), but may not work in new version > (like version yade-0.12rc1). the version yade-0.12rc1 is also different > with the latest svn version. > > I think this may be the reason for the crash. you shouldn't be mixing different versions, unless you 100% understand what you are doing. Now, let me tell you about that OpenGL crash: 1. after you load simulation, you should be able to see a 3D view of lattice sample which was generated. Click "center scene" if it's not visible. Then you must see it. Not a single sphere, but a sample, full of rods connected together. 2. then you have looked at your sample, you can click "right arrow" button, to start simulation. It will start calculations, and it will be displayed in 3D while being calculated. 3. "sync.display" checkbox may affect this, but in general it is a known bug that simulation can crash *IF* the OpenGL window is opened while calculating. I did no fix this, because I don't need to: all serious calculation are ran *without* display. So to avoid crash, simply close the view. After simulation is finished I am loading automatically saved snapshots (using NullGUI) and look at the sample in various stages of calculation. This crash occurs, because it can happen that an element is being drawn on the screen while simultaneously being deleted by the calculating thread. 4. Run the simulation without OpenGL 3D view, by either just closing it, or by running the simulation with NullGUI or python script. And it will never crash and produce a correct physical result. OpenGL is only used for debugging and is not useful for week-long calculations, so it wasn't important enough for me to fix this crash. Yes, I agree that it's very annoying. best reagrds -- Janek Kozicki | ___ 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] crash in lattice model
陈敬松 said: (by the date of Sun, 5 Jul 2009 05:50:42 +0800) > For the lattice model, I closed the primary view and then run the simulation > just as you suggested, but after about 3-4 seconds (iteration #304) the > simulation still crashed. I don't know what's the problem. first things first. Please make sure the we don't have any version conflicts here. Please delete your ~/.yade-* directories Then please delete your ~/YADE/ (backup anything you might need later) Then download again latest svn, compile it and run. It is a common error that yade uses some old plugins from previous versions, than are incompatibile, perhaps we would need some kind of binary lib* versioning to prevent that. It became my habit to delete config files and old binary files in case of some inexplicable problems. PS: please reply to the mailing list (not in private), it's better to keep the discussion public. best regards -- Janek Kozicki | ___ 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] Yade Wiki
Bruno Chareyre said: (by the date of Tue, 07 Jul 2009 17:53:29 +0200) > One remark about the "WhoIsDoingWhat" page : don't underestimate the > number of users who don't read the mailing list (yes, they use an old > version too), And I was planning to remove the old version more than 6 months ago... but still I can't find time for that, heh ;) -- Janek Kozicki | ___ 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] [deprecated list] Content page on WIKI
Anton Gladky said: (by the date of Thu, 9 Jul 2009 09:53:02 +0200) > Does this page generates automatically? > > I cant find http://yade.wikia.com/wiki/Category:Developer_guide/FAQ what I > created recently. you need to put a [[Category:Developer guide]] inside a wiki page, and it will be put by the wiki engine automatically into this category. Just look at how other pages are written. This "Content page on wiki" is in fact the "Browse YADE" expandable tree on the fron page, just click it, and you will see all the categories and articles. "All" means all those that have a proper [[Category:SOMETHING]] written inside them. -- Janek Kozicki | ___ 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] OLD SUBSCRIBERS: berlios deprecated list will close on 24 august 2009.
Important note to all "old" subscribers who did not resubscribe to launchpad yet: The berlios "mirror" of our launchpad mailing list will close on 24.August 2009. You have one week to resubscribe to launchpad, see: http://yade.wikia.com/wiki/Launchpad_Migration in short you need to subscribe: https://launchpad.net/~yade-users/+join best regards, and thanks for staying with us! -- Janek Kozicki | ___ 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] And so.. we have moved to launchapad.
http://lists.berlios.de/pipermail/yade-dev/2009/001805.html http://lists.berlios.de/pipermail/yade-users/2009/001727.html :) no more [deprecated list] here :) -- Janek Kozicki | ___ 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] And so.. we have moved to launchapad.
Václav Šmilauer said: (by the date of Mon, 24 Aug 2009 19:21:20 +0200) > Could you also, please, shut down the svn repository and other related > stuff so that we don't leave too much stuff behind at berlios? Thanks. sure, but tomorrow :) -- Janek Kozicki | ___ 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] YADE in background
Anton Gladky said: (by the date of Tue, 25 Aug 2009 13:07:56 +0200) > Hello! > > Is it possible to start YADE in background like a daemon? And if yes, is it > possible to see its parameters during simulation? > I'm planning to start YADE on Ubuntu Server 9.04. > Should I use "screen" command? yes, definitely. screen is great for background calculations. I use it all the time. Look for some screen tutorial on the web. inside screen command Ctrl-A-? gives a list of all keybindings. most often used are Ctrl-A-C create new shell Ctrl-A-N next shell Ctrl-A-P previous shell Ctrl-A-0 shell no. 0 Ctrl-A-1 shell no. 1 Ctrl-A-2 shell no. 2 Ctrl-A-Ctrl-Esc allows to scroll up -- Janek Kozicki | ___ 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] pfc3d videos at youtube
Václav Šmilauer said: (by the date of Fri, 28 Aug 2009 00:39:17 +0200) > http://www.youtube.com/watch?v=KUv26xlh89I r1743:examples/mill.py (it > took me a while to get the video right, but the yade part was quite > easy). Compare to http://www.youtube.com/watch?v=005rdDBoe4w :-) I know that you can post videos as an "answer to" another video. I noticed then, when looking at some video and just under it there was written "This video was uploaded as an answer to that video" and "There is an answer to this video uploaded". If you find how to post those "answer" this would make those videos directly connected with each other, there would be an URL link directly from one video to another one. -- Janek Kozicki | ___ 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] NullGUI command line format
Chen, Feng said: (by the date of Mon, 7 Sep 2009 21:12:58 -0400) > has the format of the command line should be changed? yes, it changed, see `yade -h` yade -n -- -f '2mm_0.35%_medium-01.xml.bz2' -m 40 -p -b -s 400 -- Janek Kozicki | ___ 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] How to keep a constant stress boundary?
kan said: (by the date of Fri, 11 Sep 2009 09:19:36 -0500) > Hi, everyone, > > I am doing a simulation that I need to keep a constant stress boundary, and > the boundary may need to move at the same time. > Did anybody handle this before or how is it handled in YADE? can you give > any suggestion? > If YADE has already includes this kind of boundary, can you tell me where it > is? it's defined in TriaxialTest -- Janek Kozicki | ___ 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] Triax profiling on cluster
Bruno Chareyre said: (by the date of Mon, 21 Sep 2009 17:52:17 +0200) > As a preliminary result, Remi said "weird, it using very few cpu". He > still investigating this. there's an OPEN MP option somewhere saying how many CPUs you want to use. Vaclav should know how to set it. Perhaps by default it uses just 2 CPUs? And you have 16... -- Janek Kozicki | ___ 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] Triax profiling on cluster
Bruno Chareyre said: (by the date of Wed, 23 Sep 2009 14:53:17 +0200) > > https://yade.hmg.inpg.fr/index.php/Triaxial_Test_Parallel > > I got interesting results on the cluster. The fastest run is obtained > with 5 cores (trying with more now). > I included results on 200 steps on a dense packing (10k + 200 steps), > which confirm the great improvement on collider time thanks to Vaclav. > > Strange part : the base time in single thread is bigger than the one > obtained by previous testers on other machines, and looks not really > fast compared to my old PC. I suspect not optimized compilation or > something. There goes my rant: Those processors aren't fast. There's simply a lot of them. That was the cheapest option available which had 16 cores in it. What do you expect when you buy a cheapest laptop? For sure you don't expect that it will be fast :) When we were buying those I made a table with their prices: Model RAM speed GB/s Cache RAM GB GHz cores price E5440 21/4=5.32x6 8 2.83Intel 8 5800 X5460 21/4=5.32x6 8 3.16Intel 8 7000 X5355 21/4=5.32x4 8 2.66Intel 8 4300 E5345 21/4=5.32x4 8 2.33Intel 8 5400 L5310 21/4=5.32x4 8 1.6 Intel 8 2850 E7320 17/4=4.32x2 4 2.13Intel 8 6900 E7220 17/4=4.32x2 8 2.93Intel 8 10700 E7340 17/8=2.12x4 16 2.40Intel 1617200 X7350 17/8=2.12x4 16 2.93Intel 1618500 822042/2=21 2x1 16 2.80AMD 8 11700 821842/2=21 2x1 16 2.60AMD 8 17000 822042/2=21 2x1 32 2.80AMD 16 21500 And which did they take? 16 cores Intel X7350 with 32GB RAM * 3 nodes, RAM speed 2.1 GB/sec 8 cores Intel E5440 with 16GB RAM * 2 nodes, RAM speed 5.3 GB/sec 8 cores Intel E5440 with 8GB RAM * 2 nodes, RAM speed 5.3 GB/sec And the (cheaper) E5440 (8 CPUs) are faster than X7350 (16 CPUs) due to RAM speed difference. Those 16 core nodes are twice slower when all 16 CPUs are under 100% load. This is confirmed by my benchmarks. And so is RAM speed 2.1 GB/sec twice slower than 5.3 GB/sec RAM speed on AMD which were available at that time was 21 GB/sec This dividing 42/2=21 or 21/4=5.3 is the number of CPUs that share the same bridge to connect CPUs to memory. Eg. Intel has 8 cores, but only 2 bridges, so 4 cores use the same bridge simultaneously, and must share the RAM speed among themselves. I have some .pdfs about that... Nobody was listening to my ramblings that AMD is faster. Intel has a monopoly just like microsoft :P Also I see that in the end they bought the cheapest option, but with more RAM (the 32GB Intel were not included in my analysis, because I didn't know it's there). And if you add a price of extra 16GB of RAM to that X7350 you will reach the same price as AMD 8220 with 32 GB. There is no clock difference 2.93 vs. 2.80 Mhz, because AMDs are well known to be faster clock-for-clock when compared to Intel. If you use RAM for your calculations then AMD is faster. If you don't (for example you calculate prime numbers or digits of pi, which don't need RAM) then Intel is faster. That table with prices is not confidential. I simply copy/paste them from sun's website about promotional pricing for universities. The RAM speeds and clock speeds I checked on Intel and AMD websites. Currently the matters are different as Intel reached RAM speed of about 40 GB/sec, and AMD 60 GB/sec, as I heard, but don't take my word on it, as I didn't make deep research to write this sentence ;> I just know, that they got a lot better, and Intel learned that they should compete with AMD, having a monopoly doesn't always help. Having a good product, does. > Could it be linked with these messages we have when starting the jobs? : > > WARNING:root:WARNING: job #8 wants 4 slots but only 1 are available > WARNING:root:WARNING: job #9 wants 5 slots but only 1 are available yes, and not only this. Speed also depends on how many other jobs are currently being run on a node. So if you use 5 threads on 16 CPU machine, and 11 other CPUs are idle, you will be twice faster than when you use 5 CPUs and 11 other CPUs are used by someone else for other calculations. That's because Intel has very slow RAM access (contrary to AMD). Therefore making benchmarks on cluster makes little sense, you will get random results. (Unless you talk with everyone else to stop doing their calculations ;). I was doing calculations for several months, and I had 'htop' running of every node and I was noting down whether I am
Re: [Yade-users] Triax profiling on cluster
And one more thing, the head node on a cluster is AMD. Everyone uses it to submit jobs, the head node should never be used to run calculations. But I made a benchmark on head node during some weekend on the night, when nobody wasn't working. This head node with AMD is indeed twice faster than 8 CPU nodes E5440, and four times faster than 16 CPU nodes X7350 (under full load). Four times faster, can you imagine? But of course that head node is only 2 CPUs. So it cannot calculate that many as those 16 CPU nodes. But a single monothread job goes crazy fast. I suspect that when Gael told me that the cluster is twice faster than his old AMD sun workstations in his room (orioles, etc..) is that he was running a simulation on the AMD head node, instead of submitting it to a cluster. But I never had a chance to ask him. best regards -- Janek Kozicki | ___ 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] Triax profiling on cluster
Bruno Chareyre said: (by the date of Wed, 23 Sep 2009 15:56:32 +0200) > > > > > So if you use 5 threads on 16 CPU machine, and 11 other CPUs are > > idle, you will be twice faster than when you use 5 CPUs and 11 other > > CPUs are used by someone else for other calculations. That's because > > Intel has very slow RAM access (contrary to AMD). > > > > > Oh, I get it! I'm not alone on a machine. The workaround would be to > require 16 threads for the full test to keep the other threads idle > (still no guarantee since the grid engine could give me 8 proc. on one > core + 8 proc. on another...). > > > Therefore making benchmarks on cluster makes little sense, you will > > get random results. (Unless you talk with everyone else to stop doing > > their calculations ;). I was doing calculations for several months, > > and I had 'htop' running of every node and I was noting down whether > > I am calculating alone, or if others are also using CPU. And those > > above were my observations. > > > > > Did you try the "big cache" option? It allows you to skip RAM access and > use the internal memory attached to the node. Remi said it can speed up > "some" jobs a lot. Remi told me to use local HDD /tmp directory which I did do. I don't know what may mean this "big cache". All nodes ARE using internal memory attached to a node. You are confusing something here. Each node is an *ordinary* PC. They are just connected to each other with a mechanism which allows submitting jobs (sun grid engine). There is nothing special about them. Maybe Remi was talking about big CPU cache which is always used automatically. And indeed is relatively big: a whole 6 MB ! Which confirms what I already said, if you don't use RAM then Intels are much faster than AMD (this is the case when you are calculating digits of pi or mandelbrot set, or such). If you do use RAM, then AMDs are faster. In our calculations we use RAM. A smallest simulation uses 100MB. Another simulation could be 1 GB. There is no point with 6 MB of CPU cache then. AMD had a small CPU cache, only 1 MB. But 21 GB/sec RAM speed. Intels had a big CPU cache 6 MB, and 2.1 GB/sec RAM speed. I write "had" because currently both AMD and Intel have caches even up to 12 MB. The hallmark of stupidity for me was deciding to use Intels with such small RAM speed, then decide to add more *slow* ram! This explains why Intels with 32GB RAM wasn't in default offer from SUN. Guys at SUN realized that 32 GB of RAM with Intel makes no sense at all. And they only offered AMDs with 32 GB. If you want to take advantage of 6 MB of CPU cache, then you shouldn't be adding another 16 GB of *slow* RAM! You should rather buy just only 2 GB of RAM. If you want to take advantage of lots of RAM, you want RAM to be fast, and don't care about little 1 MB cache. And you should take AMD. Who at the university decided to buy Intels with 32 GB... I don't get it. man, why I am so upset, better forget this. -- Janek Kozicki | ___ 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] Triax profiling on cluster
Václav Šmilauer said: (by the date of Wed, 23 Sep 2009 16:03:01 +0200) > > > Could it be linked with these messages we have when starting the jobs? : > > > > WARNING:root:WARNING: job #1 wants 2 slots but only 1 are available > No, this is actually harmless (you probably ran yade-multi --jobs=1). > The --jobs=1 tells the "scheduler" to take only 1 core in account, in > order to prevent 5 single-thread processes running at the same time on 5 > cores (which does have impact on their speed), but it still runs them > with OMP_NUM_THREADS=the number it asks for. oh, ok. I thought that this is a message from sun-grid-rnginr not yade :) -- Janek Kozicki | ___ 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] Triax profiling on cluster
Václav Šmilauer said: (by the date of Thu, 24 Sep 2009 10:42:40 +0200) > L1 cache is certainly not useless even for DEM, it's just that all your > data will not fit inside. But still if one part of your data is at one > memory location (not chain of shared_ptr's jumping all over the RAM), it > makes the computation much faster (e.g. Dem3Dof classes have comparable > speed to SpheresContactGeometry even if they copy extra > Vector3r+Quaternionr (=28b of data) at every step. There are some papers > [1] on that; speeds of the L1 cache are orders of magnitude higher than > speed of CPU-RAM bus and of the RAM modules themselves. > > [1] http://people.redhat.com/drepper/cpumemory.pdf Yes. I know that. But cluster benchmarks show that if a 16 CPU machine has all 16 cores at 100% load, it calculates at half the speed, than when only 4 CPUs are used and 12 remaining are sitting idle. This must correspond to RAM speed, or call me crazy. -- Janek Kozicki | ___ 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] DEM equations, written down.
kan said: (by the date of Fri, 2 Oct 2009 17:49:18 -0500) > Hi,Mr. Janek, > > > I have some questions; > 1. for equation (34), I think the mi should not be there, what do you think? that's a simplifications on yade's side. Go into code and see how `I` is calculated. You will see that `I` is already multiplied by mass, to save on repeating this one multiplication every time . I was against this from start, but Olivier insisted that optimisation is so important... I would prefer to either rename `inertia` to `inertia_times_mass` or removing mass from it. > 2. for the contact moment M(vector), in eqn (25), what is the physical > meaning? it's as if the spheres were glued together. Or as if they had a rough surface which is able to transfer moment. If you use contact moments and have a "line" of spheres touching each other, then they behave as a one long beam. -- Janek Kozicki | ___ 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] DEM equations, written down.
I'm sending the latest update, with only few corrections: - forgot _i index for mass of i-th sphere - added V(t+dt/2), V(t-dt/2) clarifications in the leap frog integration part. Please alert me if I made some stupid mistake, which is of course possible ;) Thanks to Vincent about his remarks about this part :) best regards -- Janek Kozicki | ___ 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] Particle Generation (how to avoid explosion)
Václav Šmilauer said: (by the date of Fri, 30 Oct 2009 18:25:27 +0100) > Oh yes, the packing is not stess-free (for that, you would have to use > some sort of geometric algorithm). But as long as you have cohesive > material (which is the case for rock, as far as I know ;-) ), you can > say that the initial distance of spheres is equilibrium for that bond; > that's what I do for concrete and it works well. And Jean Fransois Jerrier has implemented a geometric algorithm! But - is it committed? Vincent was committing it. I don't know if it's done already. Vincent, is there some sample python script that takes a mesh as input (e.g. as facets) and outputs spheres? -- Janek Kozicki | ___ 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] Compilation of yade-0.12rc1 using scons always re-compiles everything during a small modification
Anton Gladky said: (by the date of Tue, 10 Nov 2009 07:28:15 +0100) > To decrease compilation time, you can add the option pretty=0 how 'pretty' can affect compilation time? -- Janek Kozicki | ___ 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] Contact detection
chiara.moden...@libero.it said: (by the date of Thu, 12 Nov 2009 16:55:30 +0100 (CET)) > Hello, > > just a quick question on the contact detection method used by Yade > code. Well, looking at the sweep and prune algorithm actually I see that it > sorts the min and max coordinates of the bb. My question is: Why do we need > to > extend the sorting to all the bb and not just for instance to bb close to > each > others? Is this contact detection method more efficient in terms of search > time > than other methods based on spatial subdivisions? Interesting. that would mix grid collider, with SAP collider. Perhaps worth a try. We didn't compare with other methods, because we have just this one currently implemented. Some papers about SAP (see SIGGRAPH papers, they are cited in our publications about yade) say that it's really fast :) That's why we used it. But WE don't have a comparison with others. -- Janek Kozicki | ___ 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] R: Re: Contact detection
Václav Šmilauer said: (by the date of Sat, 14 Nov 2009 13:52:19 +0100) > (I am still thinking why Olivier Galizzi and Janek didn't use > state-of-the-art algorithm in 2004 when yade was started??) oh, the answer is easy: we were not aware that such algorithms exist. Olivier was sure that SAP is the fastest one, and I had no experience with colliders. It's amazing how much I learned since we started yade :) -- Janek Kozicki | ___ 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] R: Re: Contact detection
Václav Šmilauer said: (by the date of Mon, 16 Nov 2009 09:07:17 +0100) > > > oh, the answer is easy: we were not aware that such algorithms exist. > > Olivier was sure that SAP is the fastest one, and I had no experience > > with colliders. It's amazing how much I learned since we started yade :) > > In another words, Olivier (and you) didn't bother to google out articles > on that and thought he was the smartest guy. yeah. That time there was a LOT of other stuff to bother about, than colliders :) Paint me ashamed ;> -- Janek Kozicki | ___ 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] R: Re: Contact detection
Janek Kozicki said: (by the date of Mon, 16 Nov 2009 09:33:55 +0100) > Václav Šmilauer said: (by the date of Mon, 16 Nov 2009 09:07:17 +0100) > > > > > > oh, the answer is easy: we were not aware that such algorithms exist. > > > Olivier was sure that SAP is the fastest one, and I had no experience > > > with colliders. It's amazing how much I learned since we started yade :) > > > > In another words, Olivier (and you) didn't bother to google out articles > > on that and thought he was the smartest guy. > > yeah. That time there was a LOT of other stuff to bother about, than > colliders :) Paint me ashamed ;> heh, and you should note that grid based collider is on "todo list" since yade was started (really). So it was not an ignored problem. It was from beginning just like now: "I should try implementing grid collider, but now I have no time for that and I have some working collider.". You can call that 'prioritizing stuff due to lack of time' ;P those memories make me smile :) -- Janek Kozicki | ___ 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] R: Re: Contact detection
Václav Šmilauer said: (by the date of Mon, 16 Nov 2009 09:46:52 +0100) > > > > In another words, Olivier (and you) didn't bother to google out articles > > > > on that and thought he was the smartest guy. > > > > > > yeah. That time there was a LOT of other stuff to bother about, than > > > colliders :) Paint me ashamed ;> > > I am not saying you are to be blamed, but Frederic, as supervisor of the > project, should have managed that. I recall his point of view: SDEC has a lot slower collider (IIRC: it was "check everything with everything"?. Some SDEC user could tell us). And so Frederic was very happy to see how much faster SAP is :) -- Janek Kozicki | ___ 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] R: Re: Contact detection
Bruno Chareyre said: (by the date of Wed, 18 Nov 2009 11:24:50 +0100) > Another key point, not always mentionned here, is the complexity of the > code for end-users. Currently in 3Sr, I estimate the average time of > students to be able to understand Yade's code between 6 and 12 months, > which is a lot (they are not experienced with c++ when they come - that > counts to). > > I know how Yade compare with pfc on that point (pfc is not that easy to > use, and has a crap command langage called "fish", but still easier than > Yade). I don't know how it compares with esys and Lamms, but they were > invented - not here - by very smart guys, so they are probably way more > complex. ;) How does this student learning time change, when students learn python instead of C++ ? ;-)) The weak point is that you & me are not using python in fact (except for some very simple stuff). Vaclav is. So students at 3sr cannot learn python from you - only C++... -- Janek Kozicki | ___ 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] R: Re: Contact detection
Václav Šmilauer said: (by the date of Wed, 18 Nov 2009 12:58:32 +0100) > > > I know how Yade compare with pfc on that point (pfc is not that easy to > > > use, and has a crap command langage called "fish", but still easier than > > > Yade). I don't know how it compares with esys and Lamms, but they were > > > invented - not here - by very smart guys, so they are probably way more > > > complex. ;) > I heard PFC folks would like to ditch fish in favor of python. > > > > How does this student learning time change, when students learn > > python instead of C++ ? ;-)) I meant that it will be shorter, maybe a lot shorter :) > > The weak point is that you & me are not using python in fact (except > > for some very simple stuff). > (You know where your problem is, then) > > So students at 3sr cannot > > learn python from you - only C++... > Did _you_ learn c++ (or python or whatever else) from your professor?? > There is plenty of tutorials on the web. I am sure they will better > spend 3 weeks on python & yade scripts then being frightened straight > away by c++. (No accident that The UNIX-haters handbook calls c++ "cobol > of the 90s"). give me a light-speed spaceship, so I that can compress time and learn python during extra gained days. A trip to nearest start will be an extra entertainment. ;p oh, wait. it works in opposite way. I will lose local time instead.. So let's do the opposite. I'll stay in the solar system, and let's move Earth forth and back at near the light speed :)) -- Janek Kozicki | ___ 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] New particle shape
boon chiaweng said: (by the date of Thu, 19 Nov 2009 22:50:23 +0800) > > I would like to have a new particle shape, namely an ellipsoid with an > equation f(x,y,z) = (x^2/a^2) + (y^2/b^2) + (z^2/c^2) -1. I am at the moment > confused with OpenGL. How can I do it? That's a squashed sphere right? So to draw it in OpenGL you need to modify just one line after you copy/paste code from GLDrawSphere: glScalef(radius,radius,radius); into: glScalef(radius1,radius2,radius3); this opengl scaling is linearly scaling the drawn stuff (in this case a sphere) in x,y,z directions. In fact a sphere with radius=1 is drawn but is scaled beforehand in x,y,z directions by a factor of "radius" variable. Make sure when your ellipsoids rotate, they will update their orientation quaternion. And before drawing anything in OpenGL it is rotated by this rotation. So in fact those radius1,2,3 will be sizes of your ellipsoids in x,y,z directions in coordinate system local to ellipsoid (not the global coordinate system). -- Janek Kozicki | ___ 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] New particle shape
boon chiaweng said: (by the date of Thu, 19 Nov 2009 22:50:23 +0800) > > I would like to have a new particle shape, namely an ellipsoid with an > equation f(x,y,z) = (x^2/a^2) + (y^2/b^2) + (z^2/c^2) -1. I am at the moment > confused with OpenGL. How can I do it? please make sure that you work with latest yade version, and that you will commit your changes to repository, for everyone to use this :) -- Janek Kozicki | ___ 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] New particle shape
boon chiaweng said: (by the date of Fri, 20 Nov 2009 22:00:20 +0800) > > There should be advantages in polygonizing an arbitrary equation. While > looking for solutions for graphics, there are weird shapes that can be drawn > using implicit equations.. I can't recall what shapes but they were > recommending the "marching cube" algorithm.. In the OpenGl file for sphere, > are the vertices and faces a general polygonization method for any equation? > Or is it only for a sphere-type particle? I'm a novice in this. don't go into this direction unless you are more interested in computer graphics than in ellipsoid interactions. In fact we even have marching cubes implemented somewhere, but in your case a simple drawing of a sphere scaled in radiusX,radiusY,radiusZ will just work. > How do I make sure that, with time, OpenGL's orientation on the user > interface is same as the quaternion which is used in calculation? It is the same variable. So it is equal to itself :) -- Janek Kozicki | ___ 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] clumps
Václav Šmilauer said: (by the date of Sat, 21 Nov 2009 00:09:54 +0100) > > If somebody takes time to compute the correct inertia matrix, then > > inertia will have to be rotated, I agree. > Don't we have th same problem with regular bodies as well? Inertia > matrix (body-local coords) is used unrotated in NewtonsDampedLaw to > compute angularAcceleration (global coords)? Sega pointed taht out > earlier already IIRC. For sphere you don't need to rotate inertia matrix. It is symmetric in all directions. -- Janek Kozicki | ___ 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] clumps
Václav Šmilauer said: (by the date of Sat, 21 Nov 2009 11:02:27 +0100) > > > For sphere you don't need to rotate inertia matrix. It is symmetric > > in all directions. > > Yes, but it is not rotated for other bodies either (boxes, clumps, > tetrahedra). yes... problem is bigger. Currently the inertia matrix is a vector! This vector is just a diagonal of that matrix. Did the time come to fix that? -- Janek Kozicki | ___ 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] clumps
Janek Kozicki said: (by the date of Sat, 21 Nov 2009 12:51:13 +0100) > Václav Šmilauer said: (by the date of Sat, 21 Nov 2009 11:02:27 +0100) > > > > > > For sphere you don't need to rotate inertia matrix. It is symmetric > > > in all directions. > > > > Yes, but it is not rotated for other bodies either (boxes, clumps, > > tetrahedra). > > yes... problem is bigger. > > Currently the inertia matrix is a vector! > > This vector is just a diagonal of that matrix. Did the time come to fix that? Oh, BTW, if we use a function call setInertia in that new class State, then fixing that problem will be much simpler, because internally we will store this as a matrix, but the function setInertia will have two prototypes: one that accepts a 3dvector, another that accepts a matrix :)) -- Janek Kozicki | ___ 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] sphere colors changed?
Václav Šmilauer said: (by the date of Wed, 02 Dec 2009 23:01:03 +0100) > > > Previously, spheres were drawn with two colors. Now they have only one, > > which makes it difficult to see rotations. > > How can we get the 2-color display back? > Hm, I think those 2 colors was just artifact. I removed Olivier's code It wasn't an artifact :) He has cut a sphere by two planes, into 4 parts. And the he was drawing 2 parts in darker color and 2 parts in lighter color. He did this only to allow clear seeing of sphere rotations. That was quite useful in fact. -- Janek Kozicki | ___ 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] How se3 and ori is stored
boon chiaweng said: (by the date of Mon, 14 Dec 2009 06:17:08 +0800) > > Thanks Vaclav for the clear explanation. Not to worry, renaming on Sunday > night is a gd idea. I believe everyone'll appreciate that u've thought about > them. yes! -- Janek Kozicki | ___ 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] How se3 and ori is stored
Václav Šmilauer said: (by the date of Sun, 13 Dec 2009 21:28:34 +0100) > > we wanted to get rid > of se3, but it is more difficult than I thought, since quite often it is > used to pass both position and orientation around; therefore it was kept > in this way. a nice solution with references to ori, and pos. How about renaming Se3 to DOF ? -- Janek Kozicki | ___ 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] small question (SpherePack)
eudoxos said: (by the date of Fri, 05 Mar 2010 09:24:56 +0100) > Hi Jan :-) I suppose that's not me, right? :) -- Janek Kozicki http://janek.kozicki.pl/ | ___ 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] how to run the example files?
Peiying Hsieh said: (by the date of Sun, 7 Mar 2010 12:41:28 -0500) > Hi, Anton, > > The reason why I am interested in the rod_penetration example is because I > want to learn how to import stl geometries into yade. It looks like quite a > lot has been changed since 0.20-2. > > The case I am interested in solving is the following: > > a cup, 3mm X 12 mm X 40 mm, contains about 50 % of liquid. In the liquid, > there are about 1 million para-magnetic particles (1 micro in diameter). > At time = 0, the para-magnetic particles are randomly distributed in > liquid. Then, a permanent magnet is placed next to the cup. Hence, the > magnetic field starts to attract the particles toward the cup wall. I would > like to know how long it takes to attract all particles to the wall. The > cup geometry is not a simple box of cylinder. So, I need to import the cup > geometry in stl format. > > I have already calculated the magnetic field (flux and also magnetic force > field) using a finite element PDE solver, called getDP. The magnetic field > is static, not time dependent. Because the particles are para-magnetic, it > can be assumed that the magnetic force is like external body acting on the > particles, like gravity, except that the magnetic force field varies with > space. Applying such static force (which works in similar way as gravity) is very simple. You just use the current gravity engine, and replace the added (constant) force, with a variable force that depends on particle's coordinates. > Is it possible to read the magnetic force calculated outside of yade into > yade? How to apply the force on the particles? Because the magnetic force > varies with space, the force on each particle has to find out from the nodes > (or cells) where the magnetic force was calculated. if you have sufficient C++ coding skills, then reading magnetic forces from external file is very simple for you. It would be not more than 5 or 10 lines of C++ code. > How to apply drag force on the particles? Drag force varies with speed of > the particles. If depends only on the speed, then it is simple too. Just like you applied magnetic field, but this time depending on velocity property. Having said that - I must underline that the difficulty of whole task depends on your python/C++ coding skills. If you have 1 year of experience with C++ or python it will be extremely difficult for you, and it will take you roughly 2 years to complete. (including time spent to familiarize yourself with the code). If you have 5 years experience it would be moderately difficult, and you can do that in 2 to 4 months. Depending on how much time per week you are actually doing this. (including time spent to familiarize yourself with the code). With 10 years of C++/python experience it is a piece of cake and you can do all that in 50 to 100 hours. (including time spent to familiarize yourself with the code). Personally I wonder how "good" are my wild estimates ;-) > > If the problem above is achieved, then, I would like to extend to next step: > > After all particles has been attracted at the cup wall, a small tube comes > down to near the bottom of the cup, turn on vacuum to "suck" all liquid > inside the cup out. I would like to know if the magnetic force is strong > enough to hold the particles in place. This will involve coupling yade with > OpenFOAM (free surface with surface tension effect). If this is done, I > will image that, it has to be done on a cluster because this has to be very > calculation intensive. > > Pei-Ying The second part seems more difficult than the first one. I'm not working on the OpenFOAM part, and I'm not working on liquids here. Also, currently all calculations are done in vacuum. -- Janek Kozicki http://janek.kozicki.pl/ | ___ 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] Seminar of Vaclav this Friday at lab 3S-R, Grenoble, France
Sergei D. said: (by the date of Wed, 10 Mar 2010 16:49:03 +0300) > Will be the presentation (and may be a handouts) available to those who > are not from Grenoble? I bet that you can count on Vaclav, and he will make it available. Maybe even upload to: https://yade-dem.org/index.php/Publications ? :) (but not to http://yade.wikia.com/wiki/Publications which is outdated, even though it still contains those .pdf files that many people have uploaded ;) -- Janek Kozicki http://janek.kozicki.pl/ | ___ 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] presentation from Grenoble is online
Václav Šmilauer said: (by the date of Mon, 15 Mar 2010 16:40:49 +0100) > Hi, > > I polished pdf of the Friday's presentation and I put it online at > http://beta.arcig.cz/~eudoxos/yade/eudoxos2010-yade-past-present-future.pdf > (4.7MB). wow, it is impressive. PS:a side note: %s/ź/z/g in my surname ;-) -- Janek Kozicki http://janek.kozicki.pl/ | ___ 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] Visualization/Post-processing
Anton Gladky said: (by the date of Thu, 20 May 2010 10:39:27 +0200) > Yes, I think paraview would be the best. > You need just to add one more engine: > > VTKRecorder(iterPeriod=100,fileName='youFileOutput'), > > then grab created files by paraview and you can play with colors, types of > visualisations, create videos, make screenshots etc. > > Some notes about paraview usage are here: > http://www.mail-archive.com/yade-users@lists.launchpad.net/msg01714.html > > PS Vaclav, may I add some notes about paraview usage into the sphinx-manual? > Or later? wow, it would be great if you could explain that. Even better with a working python script example :) I never used paraview. The new abilities of yade are still stunning me :) -- Janek Kozicki http://janek.kozicki.pl/ | ___ 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] Granular ratchetting explained
Bruno Chareyre said: (by the date of Wed, 26 May 2010 11:00:31 +0200) > p.s. Damn, man! Is there a topic not covered in your documentation? Let's see if Vaclav will answer to this question by giving a link to his documentation ;) -- Janek Kozicki http://janek.kozicki.pl/ | ___ 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] Yade 0.50 released
Pisistrate said: (by the date of Sat, 12 Jun 2010 17:22:19 +1000) > Thanks for your email. No worries, I'll do it. > > Anton Gladky a écrit : > > Dear, Prof. Donze! > > > > it was very interesting to read the short YADE story (actually, it is > > almost 10 years old!). > > Could yo not to find a time to write some more about those events? We > > could add also something from newest YADE history and place "YADE > > history" part into the documentation and (or) on website. > > > > I think it will be interesting to current and future yade-users and > > contributors. > > > > Thank you. Congratulations to Vaclav, the work that you have done is colossal. Anton, there is a piece of history written on our wiki, called [Yade history] it's very outdated though :) -- Janek Kozicki http://janek.kozicki.pl/ | ___ 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] save spheres packing
Emanuele Catalano said: (by the date of Thu, 24 Jun 2010 12:37:11 +0200) > Hi, > I would like to let my spheres' packing arrange under gravity > acceleration, and save the spheres position after that (by fixing a > kineticEnergy threshold). The yade.pack.SpherePack.save('..') function > doesn't help me, it saves the positions of spheres initially generated, > the original cloud. > I didn't find anything else that could help me in yade modules, am I wrong? > > TriaxialCompressionEngine uses Shop::saveSpheresToFile to do what I need. > How can I access that function from python? how about this one? from yade import export export.text("spheres.txt") -- Janek Kozicki http://janek.kozicki.pl/ | ___ 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] save spheres packing
Václav Šmilauer said: (by the date of Thu, 24 Jun 2010 16:35:18 +0200) > Vaclav, PhD :-) wow, congratulations! :-) -- Janek Kozicki http://janek.kozicki.pl/ | ___ 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] Elastic energy
chiara modenese said: (by the date of Fri, 2 Jul 2010 17:41:36 +0100) > Hi guys, > > I am experiencing again a bit of troubles with total energy conservation. > For a sphere-sphere impact test everything seems fine. Now I have tried > another simple example: few spheres with an input initial velocity in a box. > I attach the script, if you run it you will obtain the plot in the attached > figure. If there is no friction, then total energy is more or less constant > as shown in the first part of the plot (not exactly constant due to the way > we compute velocities, as already discussed in this thread > http://www.mail-archive.com/yade-users@lists.launchpad.net/msg01729.html). > However, as long as I include some friction, both total and kinetic energy > decreases and no slip occurs since the function plasticDissipation() of > Law2_ScGeom_FrictPhys_Basic contact law returns 0. I have already checked on > paper and discussed with Bruno and the code which computes > plasticDissipation in ScGeom is formally correct. How about heat? Usually friction goes to increasing temperature of those -- Janek Kozicki http://janek.kozicki.pl/ | ___ 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] Elastic energy
(sorry, working over vnc caused me to accidentally send before I finished writing this email - sending again) chiara modenese said: (by the date of Fri, 2 Jul 2010 17:41:36 +0100) > Hi guys, > > I am experiencing again a bit of troubles with total energy conservation. > For a sphere-sphere impact test everything seems fine. Now I have tried > another simple example: few spheres with an input initial velocity in a box. > I attach the script, if you run it you will obtain the plot in the attached > figure. If there is no friction, then total energy is more or less constant > as shown in the first part of the plot (not exactly constant due to the way > we compute velocities, as already discussed in this thread > http://www.mail-archive.com/yade-users@lists.launchpad.net/msg01729.html). > However, as long as I include some friction, both total and kinetic energy > decreases and no slip occurs since the function plasticDissipation() of > Law2_ScGeom_FrictPhys_Basic contact law returns 0. I have already checked on > paper and discussed with Bruno and the code which computes > plasticDissipation in ScGeom is formally correct. How about heat? Usually friction increases temperature of those bodies that are in friction. But in yade we don't have heat, so this turns into an energy loss. -- Janek Kozicki http://janek.kozicki.pl/ | ___ 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] Elastic energy
chiara modenese said: (by the date of Fri, 2 Jul 2010 23:34:21 +) > > > decreases and no slip occurs since the function plasticDissipation() of > > > Law2_ScGeom_FrictPhys_Basic contact law returns 0. I have already checked > > on > > > paper and discussed with Bruno and the code which computes > > > plasticDissipation in ScGeom is formally correct. > > > > How about heat? Usually friction increases temperature of those > > bodies that are in friction. But in yade we don't have heat, so this > > turns into an energy loss. > > > In fact there is no heat effect at all in Yade, Janek could you elaborate > your thought? Energy must be conserved as long as the system is closed. I am > trying to see in a TT simulation what happens. Bruno, have you tried it? > Actually I am thinking to inlcude in the TTRecorder the various energy > terms, mechanical energy and so on. heat from friction should proportional to the total path that has slipped. A simplest way to track that is to just keep track of how long distance [m] everything has slipped, and use some conversion from distance to energy, due to friction. Eg. calculate the work: W=F*x. Better stay with energy than go to heat & temperature, because if you decided to go into thermodynamics, you will add a work worth of a second PhD to what you are already doing. Heat transfer, specific heat capacity, phase changes (a molten sphere?) and all that stuff. It appears that plasticDissipation() counter is almost what you need here - the simpler (non thermodynamic) approach which I mentioned above. I didn't know about it - when did you add this? (time to rediscover yade for me ;). best regards -- Janek Kozicki http://janek.kozicki.pl/ | ___ 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] Elastic energy
chiara modenese said: (by the date of Sun, 4 Jul 2010 09:15:03 +) > Thanks Janek for explanation! And thanks Bruno for remind me I should set to > True the bool traceEnergy ;) I did it. But I do not understand the results. > You can also reproduce them setting traceEnergy=True in the script I > attached in this thread. Please just see the attached plot. The code of > plasticDissipation() I am sure it is correct. There is sliding as expected > in fact. But what is wrong now? hmm. I remember calculating internal work, and in fact I remember that we stumbled upon this problem. (I hope that your UTF-8 works good, because I'm using UTF below) What is the work of a typical spring? W=∫F*dx F=k*x W=∫k*x*dx = k*x²/2 , see that squared distance factor? But we need to integrate that in a little different manner, because we are summing from one iteration to another. Let us make a plot of force versus displacement and calculate the surface area below the force. To make it simple we are integrating using the Trapezoidal Rule: Wᵢ = (Fᵢ+Fᵢ₋₁)*Δxᵢ⁄2 , where ᵢ is the iteration, Fᵢ₋₁ is previous force, Fᵢ is current force, Δxᵢ=xᵢ-xᵢ₋₁ is the displacement that happened from iteration ᵢ₋₁ to ᵢ. Now if we perform summation over all iterations, like that: W += Wᵢ we would get: i="now" W = ∑ (Fᵢ+Fᵢ₋₁)*(xᵢ-xᵢ₋₁)⁄2 i=1 In the end we were using that formula for all DOFs, to get a total work, as a sum of normal, shearing and rotational displacements over respective forces (and moment). W=Wn+Ws+Wr Wn =∑ (Fnᵢ+Fnᵢ₋₁)*(xᵢ-xᵢ₋₁)⁄2 Ws =∑ (Fsᵢ+Fsᵢ₋₁)*(sᵢ-sᵢ₋₁)⁄2 Wr =∑ (Mᵢ+Mᵢ₋₁)*quaternion_to_Euler_angle(qᵢ*(qᵢ₋₁)⁻¹).angle_in_radians⁄2 I don't have the implementation at hand right now, I'll find it tomorrow. I might have made some mistake above, but you should get the general idea. If I find a mistake I'll let you know :) best regards -- Janek Kozicki http://janek.kozicki.pl/ | ___ 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] Elastic energy
chiara modenese said: (by the date of Sun, 4 Jul 2010 17:27:04 +) > Hi Janek, thanks for your anwer. > > W=∫k*x*dx = k*x²/2 > > Wᵢ = (Fᵢ+Fᵢ₋₁)*Δxᵢ⁄2 > > > Not sure to understand the point. I wanted to say that I was actually doing a numerical integration with trapezoidal rule instead of using analytical method. > Using trapezoidal rule, hence working out > the net work done by the spring in an incremental way, or either taking the > value of the integral should give you the same result. This might be not true for slipping - we are entering plastic behaviour regime. See below. > Perhaps the mistake is in the computation of the plastic dissipation. But I > have not found out why :( I will try again, maybe this time I'll help you? Let me rewrite this line from elasticEnergy(): energy += 0.5*(phys->normalForce.squaredNorm()/phys->kn + phys->shearForce.squaredNorm()/phys->ks); into something more readable: E += (Fn²⁄kn + Fs²⁄ks)⁄2 The normal part Wn =∑ (Fnᵢ+Fnᵢ₋₁)*(xᵢ-xᵢ₋₁)⁄2 should be rather equivalent to En+=(Fn²⁄kn)⁄2 But slipping might be actually different in those two approaches: Ws =∑ (Fsᵢ+Fsᵢ₋₁)*(sᵢ-sᵢ₋₁)⁄2 and this: Es+=(Fs²⁄ks)⁄2 That is because the slip distance is implicitly calculated in formula (Fs²⁄ks)⁄2, because after all: Fs²⁄ks = (ks*s)²/ks = ks*s² and I'm afraid that maybe s≠∑(sᵢ-sᵢ₋₁) , because sᵢ is supposed to follow the slipping path (or slip "trace") on the surface of a sphere, while s is calculated from current value Fs. To say in other words, I think that when spheres start to slip on each other and Fs stays constant, the increment of s which stays inside constant Fs differs from the path increment on the sphere's surface slipping path sᵢ-sᵢ₋₁. I'm not sure if I worded myself clearly I hope that you can understand what I mean? IIRC Vaclav was calculating somewhere the total accumulated _geometrical_ path of one sphere on another sphere. best regards -- Janek Kozicki http://janek.kozicki.pl/ | ___ 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] Elastic energy
Janek Kozicki said: (by the date of Sun, 4 Jul 2010 20:47:40 +0200) > I'm not sure if I worded myself clearly I hope that you can > understand what I mean? to rephrase in even different words: in plastic regime the Fs remains constant at the limiting value. While the sphere slipping distance sᵢ-sᵢ₋₁ can be actually bigger, that what has been contributed into the value of Fs, and is 's'. hmm, I see that ElasticContactLaw.cpp lines 96-104 are actually implementing a simlar thing to what I'm saying, by actually calculating the difference between s and sᵢ-sᵢ₋₁. So apparently there is just a bug inside here. Is maxFs correct? is trialForce the right value? Is the formula really similar? Let's rewrite this: plasticDissipation += ((1/currentContactPhysics->ks)*(trialForce-shearForce))//plastic disp. .dot(shearForce);//active force into: Ep += (Fs-Fsmax)⋅Fsmax/ks And compare this with: Es+=(Fs²⁄ks)⁄2 hmmm is there a "⁄2" missing? I mean: Ep += ((Fs-Fsmax)⋅Fsmax/ks)⁄2 I'm not sure in fact :) Next I am trying to check this again: Es+=(Fs²⁄ks)⁄2 where in fact: Fs²⁄ks = (ks*s)²/ks = ks*s² And compare again with this: Ep += ((Fs-Fsmax)⋅Fsmax/ks)⁄2 and try to rewrite it: (Fs-Fsmax)⋅Fsmax/ks = Fs⋅Fsmax/ks-Fsmax²/ks = = (ks*s)*(ks*∑(sᵢ-sᵢ₋₁))/ks - (ks*∑(sᵢ-sᵢ₋₁)²/ks = = s*ks*∑(sᵢ-sᵢ₋₁) - ks*∑(sᵢ-sᵢ₋₁)² but I must leave now. You could start derivation from this place where I stopped, and try to continue verifying if Ep is correct or not. Also I wanted to check how Ep could be expressed if using the same terms as in (or in terms of) Ws =∑ (Fsᵢ+Fsᵢ₋₁)*(sᵢ-sᵢ₋₁)⁄2 but unfortunately not today, I must go. But maybe you will be able to figure this out? best regards -- Janek Kozicki http://janek.kozicki.pl/ | ___ 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] Elastic energy
chiara modenese said: (by the date of Sun, 4 Jul 2010 19:22:01 +) > > This might be not true for slipping - we are entering plastic > > behaviour regime. See below. > > > Jan, I think there is some misunderstanding here. Or maybe you are not > updated with the way we calculate plastic dissipation. We do it > _incrementally_. See the code in plasticDissipation() and see also attached > files I sent to Bruno a while ago which explain more analytically the > concept. > The elastic part can be always computed in a once analytically since anyway > the friction force cannot overcome the maximum value. Therefore what we > compute in elasticEnergy is only elastic part, both for shear and normal > direction. yes, I am not updated on the topic. You're helping me to get back on track. I'm sorry if that is disturbing for you ;) Please call me Janek btw, because there's another Jan around here. In the other email I was trying to find that plastic part and compare with that other (trapezoidal) approach, but I didn't finish that today. Thank you for the attached .pdfs. -- Janek Kozicki http://janek.kozicki.pl/ | ___ 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] Elastic energy
Hi Chiara, according to those .pdf files that you have sent, shouldn't you maybe include the U_tot in the plasticDissipation() formula?, for example like this: if( shearForce.squaredNorm() > maxFs ){ Real ratio = Mathr::Sqrt(maxFs) / shearForce.norm(); Vector3r trialForce=shearForce;//store prev force for definition of plastic slip //define the plastic work input and increment the total plastic energy dissipated shearForce *= ratio; plasticDissipation +=(-shearDisp -(trialForce-shearForce)/currentContactPhysics->ks)//plastic disp. .dot(shearForce);//active force } where U_tot is shearDisp. I may be wrong, though - just an idea. The graph is still wrong, but it looks a little bit better. best regards -- Janek Kozicki http://janek.kozicki.pl/ | ___ 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] Elastic energy
Janek Kozicki said: (by the date of Mon, 5 Jul 2010 01:26:08 +0200) > where U_tot is shearDisp. I may be wrong, though - just an idea. > The graph is still wrong, but it looks a little bit better. yes.. I know that this is wrong. But maybe we could identify what assumption is wrong if we find the answer: why with this modification the graphs are better? The plastic dissipation doesn't go through the roof, but actually looks like an averaged value of what it should be. Did you notice that kinetic energy becomes too high just after the friction angle is set to 25? -- Janek Kozicki http://janek.kozicki.pl/ | ___ 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] Elastic energy
Bruno Chareyre said: (by the date of Mon, 05 Jul 2010 13:35:42 +0200) > FYI, energy is conservated almost exactly in a periodic triaxial test > (taking into account also the work input from boundaries). I just checked. > It seems errors come only in dynamic bouncing spheres, I hope you'll > find the problem folk! dynamic you say... So - what exactly happens when the contact breaks? The plastic energy is changing into kinetic energy??? Look at the elastic energy, it's almost zero, how is it possible that kinetic energy is increasing? I made some change to plots, see attachment. Slip_how is what we are expected to calculate. But Ek_Eel is more interesting, you can see here, that there is no way that elastic energy could contribute to kinetic energy *that much*. How plastic energy can turn back into kinetic energy??? Because where else that increase of kinetic energy would be coming from? To check if current calculation of plasticDissipation is only correct when it *increases*, but skips the case when it decreases, I made another plot - the negative_Ek_only_decreasing. It is calculated from remaining global energy (kinetic and elastic), but only when that global energy *decreases*, thus the case when plasticDissipation increases. Look at how strikingly similar negative_Ek_only_decreasing is to plasticDissipation ! And they are both calculated in a totally different way. There is a weird factor of *2.0 included. Why, again? They look so similar, that I don't think it is a coincidence. I guess that the only difference between two curves is coming from the same thing that caused me to add the lines: if(O.materials[0].frictionAngle == 0): return 0 to the python code. Comment that out and you will see an integral of energy instabilities (summing only when Ek+Eel decreases). To conclude, I suppose that this formula: plasticDissipation += ((1/currentContactPhysics->ks)*(trialForce-shearForce))//plastic disp. .dot(shearForce);//active force is correct only when plasticDissipation increases. But totally ignores the case when it decreases. -- Janek Kozicki http://janek.kozicki.pl/ | #!/home/janek/bin/yy --threads=1 # -*- coding: utf-8 -*- # -*- encoding=utf-8 -*- # Script to monitor the energy of a system from yade import utils #- # material #- young=600.0e6 poisson=0.6 density=2.60e3 frictionAngle=radians(0) O.materials.append(FrictMat(young=young,poisson=poisson,density=density,frictionAngle=frictionAngle,label='mat')) #- # geometry #- # create a random packing in a box space from yade import pack sp=pack.SpherePack() mn=Vector3(0,0,0) mx=Vector3(1.0,1.0,1.0) ntot=10 R=0.1 std=0.0 sp.makeCloud(minCorner=mn,maxCorner=mx,rMean=R,rRelFuzz=std,num=ntot,periodic=False,porosity=0.85) for s in sp: O.bodies.append(utils.sphere(s[0],s[1])) # create some boundaries wires=True O.bodies.append(utils.box(center=[-0.1,0.5,0.5],extents=[.0025,1.0,1.0],dynamic=False,wire=wires,material='mat')) O.bodies.append(utils.box(center=[1.1,0.5,0.5],extents=[.0025,1.0,1.0],dynamic=False,wire=wires,material='mat')) O.bodies.append(utils.box(center=[1.1/2,-0.1,0.5],extents=[1.0,0.0025,1.0],dynamic=False,wire=wires,material='mat')) O.bodies.append(utils.box(center=[1.1/2,1.1,0.5],extents=[1.0,0.0025,1.0],dynamic=False,wire=wires,material='mat')) O.bodies.append(utils.box(center=[0.5,0.5,-0.1],extents=[1.0,1.0,0.0025],dynamic=False,wire=wires,material='mat')) O.bodies.append(utils.box(center=[0.5,0.5,1.1],extents=[1.0,1.0,0.0025],dynamic=False,wire=wires,material='mat')) #- # initial condition (velocities) #- v=7.0 for b in O.bodies: if b.id%2 == 0: b.state.vel=Vector3(-v,v,-v) # assign an initial velocity else: b.state.vel=Vector3(v,-v,v) # assign an initial velocity #- # list of engines #- O.engines=[ ForceResetter(), BoundDispatcher([Bo1_Sphere_Aabb(),Bo1_Box_Aabb()]), InsertionSortCollider(), InteractionDispatchers( [Ig2_Sphere_Sphere_ScGeom(),Ig2_Box_Sphere_ScGeom()], [Ip2_FrictMat_FrictMat_FrictPhys()], [Law2_ScGeom_FrictPhys_Basic(label='dry',traceEnergy=True)] ), NewtonIntegrator(damping=0.0), # *** NO DAMPING *** PeriodicPythonRunner(iterPeriod=10,command='monitoring()') ] #- # time step #- O.dt=.1*utils.PWaveTimeStep() O.saveTmp('in
Re: [Yade-users] Elastic energy
Václav Šmilauer said: (by the date of Mon, 05 Jul 2010 15:02:00 +0200) > E.g. if you slide 2 spheres back and > forth, then each cycle dissipates energy, which will never come back. exactly. this is why I am so surprised. Notice my three ??? in my previous post ;) > (If an interaction is broken, then it is a different issue, i.e. that > dissipated energy of broken interactions should be saved somehow, since > otherwise we lose the number). the calculation of plasticDissipation is incremental. If the contact breaks, then nothing is lost, you only stop incrementing it. Bruno Chareyre said: (by the date of Mon, 05 Jul 2010 15:21:22 +0200) > >> Look at the elastic energy, it's > >> almost zero, how is it possible that kinetic energy is increasing? > >> > > Thats right, kinetic should never increase with this script. > > > I should have say it can't increase in average. It can still increase > after the peaks in ElastE. Kinetic energy is increasing, and it never should. But plasticDissipation() as I have shown on the graph increases only when kinetic goes down. So maybe the mistake is not in plasticDissipation, but in kinetic energy? The contact breaks and suddenly the sphere gets big velocity, but it shouldn't? It would be worth checking both velocity and angular velocity. -- Janek Kozicki http://janek.kozicki.pl/ | ___ 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] Elastic energy
There's definitely a bug hidden somewhere. And it might be not in plasticDissipation. See attached picture: it is 140'000 iterations. Total energy is not going through the roof. But isn't conserved either. It's just conserved more or less. How I did it: 1. I used neverErase flag, because something goes wrong when interaction breaks. So do not delete it, but only reset Fn=0 and Fs=0. [Law2_ScGeom_FrictPhys_Basic(label='dry',traceEnergy=True,neverErase=True)] the neverErase flasg shouldn't change anything in the resulting graphs of total energy. But evidently it helps! So this is a BUG #1 here. 2. But that total energy is still wrong. It increases, albeit a little slower. And for some unknown reason using shearDisp helps. As if the mistake of using shearDisp is correcting another mistake present somewhere else: plasticDissipation += (-shearDisp - (1/currentContactPhysics->ks)*(trialForce-shearForce))//plastic disp. .dot(shearForce);//active force And this is BUG #2 in fact I suppose that BUG#1 == BUG#2 :) But where it is? -- Janek Kozicki http://janek.kozicki.pl/ <>#!/home/janek/bin/yy --threads=1 # -*- coding: utf-8 -*- # -*- encoding=utf-8 -*- # Script to monitor the energy of a system from yade import utils #- # material #- young=600.0e6 poisson=0.6 density=2.60e3 frictionAngle=radians(0) O.materials.append(FrictMat(young=young,poisson=poisson,density=density,frictionAngle=frictionAngle,label='mat')) #- # geometry #- # create a random packing in a box space from yade import pack sp=pack.SpherePack() mn=Vector3(0,0,0) mx=Vector3(1.0,1.0,1.0) ntot=10 R=0.1 std=0.0 sp.makeCloud(minCorner=mn,maxCorner=mx,rMean=R,rRelFuzz=std,num=ntot,periodic=False,porosity=0.85) for s in sp: O.bodies.append(utils.sphere(s[0],s[1])) # create some boundaries wires=True O.bodies.append(utils.box(center=[-0.1,0.5,0.5],extents=[.0025,1.0,1.0],dynamic=False,wire=wires,material='mat')) O.bodies.append(utils.box(center=[1.1,0.5,0.5],extents=[.0025,1.0,1.0],dynamic=False,wire=wires,material='mat')) O.bodies.append(utils.box(center=[1.1/2,-0.1,0.5],extents=[1.0,0.0025,1.0],dynamic=False,wire=wires,material='mat')) O.bodies.append(utils.box(center=[1.1/2,1.1,0.5],extents=[1.0,0.0025,1.0],dynamic=False,wire=wires,material='mat')) O.bodies.append(utils.box(center=[0.5,0.5,-0.1],extents=[1.0,1.0,0.0025],dynamic=False,wire=wires,material='mat')) O.bodies.append(utils.box(center=[0.5,0.5,1.1],extents=[1.0,1.0,0.0025],dynamic=False,wire=wires,material='mat')) #- # initial condition (velocities) #- v=7.0 for b in O.bodies: if b.id%2 == 0: b.state.vel=Vector3(-v,v,-v) # assign an initial velocity else: b.state.vel=Vector3(v,-v,v) # assign an initial velocity #- # list of engines #- O.engines=[ ForceResetter(), BoundDispatcher([Bo1_Sphere_Aabb(),Bo1_Box_Aabb()]), InsertionSortCollider(), InteractionDispatchers( [Ig2_Sphere_Sphere_ScGeom(),Ig2_Box_Sphere_ScGeom()], [Ip2_FrictMat_FrictMat_FrictPhys()], [Law2_ScGeom_FrictPhys_Basic(label='dry',traceEnergy=True,neverErase=True)] ), NewtonIntegrator(damping=0.0), # *** NO DAMPING *** PeriodicPythonRunner(iterPeriod=10,command='monitoring()') ] #- # time step #- O.dt=.1*utils.PWaveTimeStep() O.saveTmp('init') from yade import qt qt.View() qt.Controller() #- # plot some results #- from math import * from yade import plot plot.plots={'t':('Ek','Eel','Slip','Etot'),'t_':('Slip')} def monitoring(): plot.addData(Ek=utils.kineticEnergy(),Eel=dry.elasticEnergy(),Slip=dry.plasticDissipation(),t=O.time,t_=O.time, Etot=utils.kineticEnergy()+dry.elasticEnergy()+dry.plasticDissipation()) O.run(1,True); print "\n Now friction angle is set from 0 to 25 degrees. \n"; O.materials[0].frictionAngle=radians(25) O.run(13,True); plot.plot() ___ 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] 'Hanging" particles
Anton Gladky said: (by the date of Mon, 5 Jul 2010 16:48:40 +0200) > I will try "localize" the problem (decrease number of particles, simplify > the model etc...), but not sure it is easy. hm, if you share your script, we will be able to reproduce your problem. And reproducing it is the first step to solving it :) -- Janek Kozicki http://janek.kozicki.pl/ | ___ 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] Elastic energy
chiara modenese said: (by the date of Mon, 5 Jul 2010 16:02:45 +0100) > > 1. I used neverErase flag, because something goes wrong when > > interaction breaks. So do not delete it, but only reset Fn=0 and Fs=0. > > > > [Law2_ScGeom_FrictPhys_Basic(label='dry',traceEnergy=True,neverErase=True)] > > > Good Janek, so you agree there something unexpected is happening once > calling the function requestErase(). Potential interactions seem somehow not > deleted and I do not know if this can have any consequence somehow. We > should definitely check that function which almost every contact law is > using, most importantly. Yes, and this function currently is a mystery for me. I guess, that when spheres aren't in contact, but very close to each other, then the interaction isn't deleted actually. And the shearForce and normalForce aren't zeroed either? Just a guess, I don't know. > > plasticDissipation += > > (-shearDisp - > > (1/currentContactPhysics->ks)*(trialForce-shearForce))//plastic disp. > > .dot(shearForce);//active force > > > This is weird because as I already said to me plasticDissipation code looks > right as it is. I would not be able to prove on paper why the addition of > shearDispl increment. yes! It shouldn't be there. I feel that this error (using shearDisp) is somehow balancing the bug somewhere else, which causes mysterious increase of kinetic energy. -- Janek Kozicki http://janek.kozicki.pl/ | ___ 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] Elastic energy
Bruno Chareyre said: (by the date of Mon, 05 Jul 2010 18:00:06 +0200) > > > >> (If an interaction is broken, then it is a different issue, i.e. that > >> dissipated energy of broken interactions should be saved somehow, since > >> otherwise we lose the number). > >> > > > > the calculation of plasticDissipation is incremental. If the contact > > breaks, then nothing is lost, you only stop incrementing it. > > > Good point. Something is missed each time a contact is lost, since this > contact dissipated something on [t,t+dt] even if it is lost at time t+dt. > This can be negligible in dense packing (triaxial) but significant in > bouncing spheres. > It doesn't explain the excessive growth of plasticE though... > > I'm wondering if the problem is not just the time integration scheme : > if a bouncing is described in 2-3 steps, the approximation of > derivatives is horrible, and it might well create energy artificialy. > Perhaps Cundall introduced global damping for a reason... is it enough if we decrease timestep 1000 times? I made a comparison with jobs=1 and with the same scene (so the curves should be all identical). They are not. See attached plot. And also the script (Chiara: it is without my shearDisp modification, it is using the correct formula). on unrelated note: A more technical question, since I am learning to use plot module. Can I set a plot title? - a big text above the plot box. -- Janek Kozicki http://janek.kozicki.pl/ | <>#!/usr/local/bin/yade-trunk -j 1 # -*- coding: utf-8 -*- # -*- encoding=utf-8 -*- # Script to monitor the energy of a system from yade import utils #- # material #- young=600.0e6 poisson=0.6 density=2.60e3 frictionAngle=radians(0) O.materials.append(FrictMat(young=young,poisson=poisson,density=density,frictionAngle=frictionAngle,label='mat')) #- # geometry #- # create a random packing in a box space from yade import pack sp=pack.SpherePack() mn=Vector3(0,0,0) mx=Vector3(1.0,1.0,1.0) ntot=10 R=0.1 std=0.0 sp.makeCloud(minCorner=mn,maxCorner=mx,rMean=R,rRelFuzz=std,num=ntot,periodic=False,porosity=0.85) for s in sp: O.bodies.append(utils.sphere(s[0],s[1])) # create some boundaries wires=True O.bodies.append(utils.box(center=[-0.1,0.5,0.5],extents=[.0025,1.0,1.0],dynamic=False,wire=wires,material='mat')) O.bodies.append(utils.box(center=[1.1,0.5,0.5],extents=[.0025,1.0,1.0],dynamic=False,wire=wires,material='mat')) O.bodies.append(utils.box(center=[1.1/2,-0.1,0.5],extents=[1.0,0.0025,1.0],dynamic=False,wire=wires,material='mat')) O.bodies.append(utils.box(center=[1.1/2,1.1,0.5],extents=[1.0,0.0025,1.0],dynamic=False,wire=wires,material='mat')) O.bodies.append(utils.box(center=[0.5,0.5,-0.1],extents=[1.0,1.0,0.0025],dynamic=False,wire=wires,material='mat')) O.bodies.append(utils.box(center=[0.5,0.5,1.1],extents=[1.0,1.0,0.0025],dynamic=False,wire=wires,material='mat')) #- # initial condition (velocities) #- v=7.0 for b in O.bodies: if b.id%2 == 0: b.state.vel=Vector3(-v,v,-v) # assign an initial velocity else: b.state.vel=Vector3(v,-v,v) # assign an initial velocity #- # list of engines #- O.engines=[ ForceResetter(), BoundDispatcher([Bo1_Sphere_Aabb(),Bo1_Box_Aabb()]), InsertionSortCollider(), InteractionDispatchers( [Ig2_Sphere_Sphere_ScGeom(),Ig2_Box_Sphere_ScGeom()], [Ip2_FrictMat_FrictMat_FrictPhys()], [Law2_ScGeom_FrictPhys_Basic(label='dry')] ), NewtonIntegrator(damping=0.0), # *** NO DAMPING *** PeriodicPythonRunner(iterPeriod=10,command='monitoring()') ] #- # time step #- O.dt=.1*utils.PWaveTimeStep() O.saveTmp('init') from yade import qt qt.View() qt.Controller() #- # plot some results #- from math import * from yade import plot plot.plots={'t':('Ek','Eel','Slip','Etot'),'t_':('Slip')} def monitoring(): plot.addData(Ek=utils.kineticEnergy(),Eel=dry.elasticEnergy(),Slip=dry.plasticDissipation(),t=O.time,t_=O.time, Etot=utils.kineticEnergy()+dry.elasticEnergy()+dry.plasticDissipation()) O.saveTmp() O.loadTmp() O.materials[0].frictionAngle=radians(0) O.run(1,True) O.materials[0]
Re: [Yade-users] Elastic energy
chiara modenese said: (by the date of Mon, 5 Jul 2010 20:53:38 +) > > > > > I'm wondering if the problem is not just the time integration scheme : > > > if a bouncing is described in 2-3 steps, the approximation of > > > derivatives is horrible, and it might well create energy artificialy. > > > Perhaps Cundall introduced global damping for a reason... > > > This is a very good point, and I have heard people here saying exactly the > same. This is the reason why I started caring about energy conservation. > Maybe we should modify the integration algorithm say acting on the > velocities? > However, if the integration scheme is affected by such approximation, then > why with no friction energy remains constant? If it is really the > integration scheme, I think we should have the same kind of problem also > without friction. Aren't integration scheme's problems mitigated by decreasing time step several orders of magnitude? It changes the result, but doesn't fix it. Integration problems may contribute to this plasticDissipation bug, but I'm afraid it's not the only cause. > PS @Bruno, I am not receiving your mails at all, I see them only in other > people's post. Just me? please compare with: https://lists.launchpad.net/yade-users/threads.html You can see that Bruno's post are in the archive. Something could be wrong with your spam filter or such. If you want Bruno's posts (and all posts in fact) I can send you my whole yade-users as an mbox file, which you could import to your mail reader. -- Janek Kozicki http://janek.kozicki.pl/ | ___ 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] thanks answer "how to do the video"
Anton Gladky said: (by the date of Tue, 6 Jul 2010 08:20:29 +0200) > Hi, > > I created previously also videos from png-files. But I used command-line > tools for that. > > Cant find that script, but something like described here: > http://www.miscdebris.net/blog/2008/04/28/create-a-movie-file-from-single-image-files-png-jpegs/ I'm usually doing videos with this: mkdir TMP cd TMP xvidcap --fps 10 # (configure xvidcap to save .xwd files, click 'record', click 'stop') for m in *.xwd; do convert $m `basename $m .xwd`.png; rm $m; done mencoder "mf://*.png" -o video.mpg -mf fps=25 -ovc lavc -lavcopts vcodec=msmpeg4v2 and that's it -- Janek Kozicki http://janek.kozicki.pl/ | ___ 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