Re: [Yade-users] [Question #152906]: how to run the example in the tutorial
Question #152906 on Yade changed: https://answers.launchpad.net/yade/+question/152906 Luc Scholtès proposed the following answer: Hi Guo, Apparently, you are already in the YADE console when you called ./yade periodic.py. Try again to type ./yade periodic.py, but in the linux console (don't open YADE before). If you open yade before (by typing ./yade in the linux console), try to type execfile('periodic.py',globals()) in the yade console and it should work. Hope it is clear enough... Cheers Luc -- You received this question notification because you are a member of yade-users, which is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
[Yade-users] [Question #158760]: uniaxial test (no confinement) with triaxial compression engine
New question #158760 on Yade: https://answers.launchpad.net/yade/+question/158760 Hi all, just wondering if it could be possible to do a triaxial test without any confinement (like a uniaxial compression)? I know that a dedicated engine already exists, but I would like to access the same data as the one recorded by the triaxial engine. Moreover, from my experience, the boundary conditions are not exactly consistent between those two tests (loading through a rigid wall for triaxial and loading through the boundary particles for uniaxial) and it can be problematic when you want to characterize an assembly in both unconfined and confined conditions. I already tried to run a triaxial without confinement but, due to the state transition condition (unbalanced force), the deviatoric loading never occurs. Would there be a way to bypass this? Thanks for your help Luc -- You received this question notification because you are a member of yade-users, which is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #162989]: Issues on "peri3dController_triaxialCompression.py"
Question #162989 on Yade changed: https://answers.launchpad.net/yade/+question/162989 Status: Open => Answered Luc Scholtès proposed the following answer: Hi Janaka, Sorry I can't help you concerning the error you get, but I am wondering, are you trying to create a model with around 9e6 particles? From your message, I came to this conclusion doing: NbParticles=specimenVolume/spheresVolume=(100*100*200)/(1.333*pi*0.23)=9e6 If it is the case, it is normal that your simulation takes so long, and I would recommend not to use so much particles. Usually, you can model a granular material using around 10 000 particles. If it is not the case, just forget what I say... By the way, welcome to YADE community Cheers Luc 2011/6/29 janaka kumara > Question #162989 on Yade changed: > https://answers.launchpad.net/yade/+question/162989 > > Status: Answered => Open > > janaka kumara is still having a problem: > Hi Honzik, > > Thank you very much for your details. > > >Does this mean that there are limits on "initSize" and "radius"? If so, > what are those limits? > No. This only means, that saved packing does not satisfies conditions of > current simulation (and is rejected) and new packing is creating. > > Here, do you have any idea when (how long) does new packing finish > creating? I run one case with initSize 0.1162 (that gives a volume > equivalen to 100mm diameter and 200mm height cylindrical volume as my > laboratory tests) and radius 0.0002285, but even after 20 hours, I didnt > get results. However, this time, there are two lines of "REJECT: > initSize differs too much from scaled packing size". Will this give > results after some time, e.g. few more hours later? > > Thank you. > > Regards, > Janaka > > -- > You received this question notification because you are a member of > yade-users, which is an answer contact for Yade. > > ___ > Mailing list: https://launchpad.net/~yade-users > Post to : yade-users@lists.launchpad.net > Unsubscribe : https://launchpad.net/~yade-users > More help : https://help.launchpad.net/ListHelp > -- You received this question notification because you are a member of yade-users, which is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #163754]: Trying to model rock extraction through block caving method (using RpmMat)
Question #163754 on Yade changed: https://answers.launchpad.net/yade/+question/163754 Status: Open => Answered Luc Scholtès proposed the following answer: Hi Daniel, I am not sure since I am not the one who wrote this contact law but there is a parameter in Ip2_CohFrictMat_CohFrictMat_CohFrictPhys() called setCohesionNow which is False by default. I had a look at the sources and I think that you should try to define it in your script like Ip2_CohFrictMat_CohFrictMat_CohFrictPhys(setCohesionNow=True) otherwise all your interactions will be frictional only. Can anyone confirm? Luc -- You received this question notification because you are a member of yade-users, which is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
[Yade-users] [Question #165522]: How to rotate a predefined packing
New question #165522 on Yade: https://answers.launchpad.net/yade/+question/165522 Hi there, just wondering, is there a way to rotate a packing before or during a simulation? In fact, I would like to load a predefined packing (doing ymport.text(packing.spheres)) in my simulation and rotate it before applying any loading. The idea would be to perform triaxial compressive tests respectively along the 3 principal directions of the packing to characterize its anisotropy (I work with special packings). I tried to play with the definition of the walls ids in the triaxialCompressionEngine, but it seems that changing the ids in accordance with the translationAxis does not work (Am I right?). I know that there is a ThreeDTriaxialCompressionEngine, but it does not allow to perform the same loading than the classic version without going into the definition of an additional function to check for the state of stress and to consequently modify the stress/strain control. If no solution exists, would it be possible to add a function "rotate" similar to the "shift" already implemented in the Ymport.text? If yes, would you have any suggestions to do it properly? Thanks in advance Luc -- You received this question notification because you are a member of yade-users, which is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #164575]: High Young Modulus
Question #164575 on Yade changed: https://answers.launchpad.net/yade/+question/164575 Status: Open => Answered Luc Scholtès proposed the following answer: Hi Daniel, again, not sure to get to the point, but, from what I remember you work with regular packings generated with a certain overlapping (?). If the ratio between the overlapping and the "Young modulus" is high, it could explain your problem. Your packing is not stress free initially and the repulsive interparticle forces could produce the explosion. Have you tried with low values of the Young modulus? Have you experienced the same problem? Please let us know. >From my part, I also work to simulate rock like material and I use the CohesiveFrictionalPM in order to deal with initially stress-free assemblies. For instance, CFpm utilizes the initial overlapping as the equilibrium distance to compute the normal force Fn=k*(D-Deq), whereas the CohesiveFrictionalContactLaw uses the "real" overlapping between the spheres Fn=kD. Cheers Luc -- You received this question notification because you are a member of yade-users, which is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #165847]: Generating sample
Question #165847 on Yade changed: https://answers.launchpad.net/yade/+question/165847 Status: Open => Answered Luc Scholtès proposed the following answer: Hi Gayanindika, To create the walls around your packing, see the utils function aabbWalls(). Then to apply a triaxial compression, see the engine TriaxialCompressionEngine(). You should have something ressembling those lines in your script to perform what you want: # defines your assembly O.bodies.append(utils.sphere(*),...) # creates and identifies the walls for the triaxial engine walls=O.bodies.append(utils.aabbWalls(*)) # defines the triaxial engine (important here to accurately identify the walls) TriaxialCompressionEngine( wall_bottom_id=walls[2], wall_top_id=walls[3], wall_left_id=walls[0], wall_right_id=walls[1], wall_back_id=walls[4], wall_front_id=walls[5], ... ) BTW, there was a triaxial test script in the examples directory... I am not sure anymore since I don't work with the latest version, but maybe you should have a look and ask if needed... Cheers Luc -- You received this question notification because you are a member of yade-users, which is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #165522]: How to rotate a predefined packing
Question #165522 on Yade changed: https://answers.launchpad.net/yade/+question/165522 Status: Answered => Solved Luc Scholtès confirmed that the question is solved: Thanks Anton Gladky, that solved my question. -- You received this question notification because you are a member of yade-users, which is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #165522]: How to rotate a predefined packing
Question #165522 on Yade changed: https://answers.launchpad.net/yade/+question/165522 Luc Scholtès posted a new comment: To Bruno, Not sure about your comments... 1 - I vae never used the bodiesHandling function, but, If the rotation occurs before the beginning of the simulation (when the packing is loaded into the simulation, the "DEM loop" has not started yet), there should not be any inherited contact forces, no? 2 - I had a second look at the 3DCompressionEngine. As I said, it is adapted to do what I want (loading the sample in the 3 principal direction). However, in its current version, you cannot perform automatically the transition from isotropic to deviatoric compression as with the classic TriaxialCompressionEngine. You need to define a periodic function to check for the state of the simulation to do so (unless I am wrong?). For now, I have added few lines to the TriaxialCompressionEngine in order to allow for choosing the direction of straining in the deviatoric part of the loading path. Doing so, I just need to specify the translationAxis in my script. If you think that this feature could interest, I can upload the source file. Cheers Luc -- You received this question notification because you are a member of yade-users, which is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #189913]: get porosity of a packing
Question #189913 on Yade changed: https://answers.launchpad.net/yade/+question/189913 Status: Open => Answered Luc Scholtès proposed the following answer: Hi Ceguo, Try utils.porosity(X), with X the volume of your assembly and it should work. 2012/3/7 ceguo > New question #189913 on Yade: > https://answers.launchpad.net/yade/+question/189913 > > Hi, > > The problem seems trivial but when I try using `utils.porosity` I can only > get something like . The documentation > says it should return a float. > > Besides, as I am using the trunk version with a 2D packing. All the > quantities like mass, porosity, stress (averaged by area rather than > volume) etc. should be modified accordingly. Will the code take care of > these right now? If not, maybe we could do scaling (3D to 2D) outside the > code. So this is not a big problem. > > Another problem is that the documentation says we'd better use ScGeom in > stead of Dem3DofGeom. But as I try using `Ig2_Sphere_Sphere_ScGeom()`, > `Ip2_FrictMat_FrictMat_FrictPhys()` and > `Law2_ScGeom_FrictPhys_CundallStrack()`, the program runs without error but > there is no stress generated. > > Ning > > -- > You received this question notification because you are a member of > yade-users, which is an answer contact for Yade. > > ___ > Mailing list: https://launchpad.net/~yade-users > Post to : yade-users@lists.launchpad.net > Unsubscribe : https://launchpad.net/~yade-users > More help : https://help.launchpad.net/ListHelp > -- You received this question notification because you are a member of yade-users, which is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #190529]: deleting some liquid bridges in Law2_ScGeom_CapillaryPhys_Capillarity
Question #190529 on Yade changed: https://answers.launchpad.net/yade/+question/190529 Luc Scholtès proposed the following answer: Hi Jakob, If you want to loop over interactions you can do like this (with Python, right?) for i in O.interactions: To check wether the interaction is Real, you can use this if i.isReal: To check wether the interaction is between spheres or not, you can use something like this if isinstance(O.bodies[i.id1].shape,Sphere) and isinstance(O.bodies[i.id2].shape,Sphere): Then, to access bodies properties, you can do this y1 = O.bodies[i.id1].state.pos[1]; Hope it can help Cheers -- You received this question notification because you are a member of yade-users, which is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #190529]: deleting some liquid bridges in Law2_ScGeom_CapillaryPhys_Capillarity
Question #190529 on Yade changed: https://answers.launchpad.net/yade/+question/190529 Luc Scholtès proposed the following answer: You are too quick for me... Good luck -- You received this question notification because you are a member of yade-users, which is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #191904]: reproducibility of capillary law
Question #191904 on Yade changed: https://answers.launchpad.net/yade/+question/191904 Status: Open => Answered Luc Scholtès proposed the following answer: Hi Christian, Could you be a bit more precise please? You mean that running a script does not give the same result if you add the lines related to capillary law, right? It is surprising... What kind of test are you running? Could you please provide a script? Cheers -- You received this question notification because you are a member of yade-users, which is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #163929]: Example gts-horse.py
Question #163929 on Yade changed: https://answers.launchpad.net/yade/+question/163929 Luc Scholtès posted a new comment: Hi Daniela, Did you manage to solve your problem? I have the same issue using yade version 3041. Cheers -- You received this question notification because you are a member of yade-users, which is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #163929]: Example gts-horse.py
Question #163929 on Yade changed: https://answers.launchpad.net/yade/+question/163929 Luc Scholtès posted a new comment: Hi Anton, Thank you for your input. I will then take the opportunity to join github. Cheers Luc -- You received this question notification because you are a member of yade-users, which is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
[Yade-users] [Question #193416]: Scripts gts-random-pack**.py never converge?
New question #193416 on Yade: https://answers.launchpad.net/yade/+question/193416 Hi all, Does anybody experience the same problem with scripts gts-random-pack.py and gts-random-pack-random-obb.py? On my computer, the simulation seems to never converge (like if YADE was iterating indefinitely). I let it run for more than 4h, but nothing happened... Is it normal? How long does it take for you? Cheers -- You received this question notification because you are a member of yade-users, which is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #193416]: Scripts gts-random-pack**.py never converge?
Question #193416 on Yade changed: https://answers.launchpad.net/yade/+question/193416 Luc Scholtès posted a new comment: OK, thanks Anton. I wasn't sure so I asked to see wether it was only me or not... Do you get this WARN too? WARN yade.SpherePack /home/3S- LAB/lscholtes/Bureau/YADE/trunk/pkg/dem/SpherePack.cpp:107 makeCloud: porosity must be >0, changing it for you. It will be ineffective if rMean>0. -- You received this question notification because you are a member of yade-users, which is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #192598]: problem of installation Yade
Question #192598 on Yade changed: https://answers.launchpad.net/yade/+question/192598 Status: Open => Answered Luc Scholtès proposed the following answer: Did you add the plugin FlowEngine to your scons.profile? Like this: hotPlugins = 'FlowEngine' Luc -- You received this question notification because you are a member of yade-users, which is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #192598]: problem of installation Yade
Question #192598 on Yade changed: https://answers.launchpad.net/yade/+question/192598 Status: Open => Answered Luc Scholtès proposed the following answer: Try to add cgal to your features (check if it is installed on t=your computer) -- You received this question notification because you are a member of yade-users, which is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #192598]: problem of installation Yade
Question #192598 on Yade changed: https://answers.launchpad.net/yade/+question/192598 Status: Open => Answered Luc Scholtès proposed the following answer: Strange... Did you try recompile from scratch by typing scons -c before compiling wit scons? -- You received this question notification because you are a member of yade-users, which is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #192598]: problem of installation Yade
Question #192598 on Yade changed: https://answers.launchpad.net/yade/+question/192598 Status: Open => Answered Luc Scholtès proposed the following answer: OK, I think I get it. You should add DLINSOLV to the CXXFLAGS in your scons.profile like this: CXXFLAGS = ['-DFLOW_ENGINE', '-DLINSOLV'] So? -- You received this question notification because you are a member of yade-users, which is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #192598]: problem of installation Yade
Question #192598 on Yade changed: https://answers.launchpad.net/yade/+question/192598 Luc Scholtès posted a new comment: -DLINSOLV was the quick and not proper way to make Anh Tuan's able to work with his code, assuming that he is using the associated updated linsolv files. I need to implement the compressibility to periodic flow related files so as to solve Anh Tuan's problem. I am working on it today. -- You received this question notification because you are a member of yade-users, which is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #194761]: is particle distribution true or close to real sand simulated by yade
Question #194761 on Yade changed: https://answers.launchpad.net/yade/+question/194761 Luc Scholtès proposed the following answer: Hi, First, you should know that size does not matter in YADE, or, at least, should not. Indeed, interaction laws (at least, the basic ones like Law2_ScGeom_FrictPhys_CundallStrack or CohesiveFrictionalContactLaw for example) have been implemented so that they are size independent. You can try to run several triaxial tests with same parameters and loading conditions on samples with different sizes length to verify (be careful nonetheless to have "enough" particles in your samples, between 5000 and 1 is OK from my own experience). So, YES, people usually use bigger particles than real ones in order to speed up simulations, and NO, there should not be any influence on the results. Concerning now particle size distribution, I am not a specialist but it will certainly have an impact on you results, like for real granular materials. Things exist in YADE to manage particle size distribution. As you pointed out, an extended size distribution tends to penalize simulation time. Concerning now your last point about grain shape and roughness. Of course they influence the behaviour. You cannot, for example, reproduce real sand's internal friction angle with spherical particles as sand grains are not spherical in nature. That's one of the reason why some people use clumps or rolling moment law for example (polyhedral particles are not yet implemented in YADE). Please have a look here for more information if not already done: https ://yade-dem.org/doc/index-toctree.html Cheers Luc -- You received this question notification because you are a member of yade-users, which is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #197661]: on modify interactionLoop
Question #197661 on Yade changed: https://answers.launchpad.net/yade/+question/197661 Luc Scholtès proposed the following answer: I would say that Anton is right, you need to change contact properties for every existing interactions cause changing bodies properties won't be effective for existing interactions (interactions are not updated), only new interactions will benefit from the new bodies properties. so you should do something like for b in O.bodies: b.mat.frictionAngle=radians(simulationFrictDeg) AND for i in O.interactions: i.phys.frictionAngle=radians(simulationFrictDeg) Luc -- You received this question notification because you are a member of yade-users, which is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #198183]: clump packing in 2D
Question #198183 on Yade changed: https://answers.launchpad.net/yade/+question/198183 Luc Scholtès proposed the following answer: Hi Ning, as Jerome said, you have to consider that yade deals with spheres and not circles. If you want to create a "2D sample", you have to define the third dimension of the make cloud fonction approximately equal to the maximum radius of your spheres (make cloud generates assembly in a box if I remember well). I am pretty sure this works for spheres. Not sure for clumps though... Moreover, as Jerome precised, you will then have to block some of the DOFs of the elements to actually force the model to be 2D: for o in O.bodies: body.state.blockedDOFs='zXY' should work assuming that you choose (x,y) as the 2D domain. -- You received this question notification because you are a member of yade-users, which is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #199585]: how can i simulate rolling friction?
Question #199585 on Yade changed: https://answers.launchpad.net/yade/+question/199585 Luc Scholtès posted a new comment: Hi Jacob, For the 2nd point, you may want to have a look at the paper from Plassiard: http://www.springerlink.com/content/16688jw766197204/ (I can send it to you if you cannot download it). For the 1st point, I cannot help... I though that combining 2 constitutive laws was possible but, actually, I never tried... Luc -- You received this question notification because you are a member of yade-users, which is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
[Yade-users] [Question #201608]: IMPORTANT - capillary files updated
New question #201608 on Yade: https://answers.launchpad.net/yade/+question/201608 Hi all, and sorry for mass mail but there was a mistake in the capillary files needed for the capillary law. They are all updated and can be downloaded from here (https://yade-dem.org/wiki/CapillaryTriaxialTest) as before. The mistake was in the definition of the volume of the menisci. The forces are unchanged. Everything should work as usual. Tell us if it is not the case. Cheers Luc -- You received this question notification because you are a member of yade-users, which is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #201608]: IMPORTANT - capillary files updated
Question #201608 on Yade changed: https://answers.launchpad.net/yade/+question/201608 Luc Scholtès posted a new comment: should not, only the volumes have changed. -- You received this question notification because you are a member of yade-users, which is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #201608]: IMPORTANT - capillary files updated
Question #201608 on Yade changed: https://answers.launchpad.net/yade/+question/201608 Luc Scholtès gave more information on the question: PLEASE UPDATE TO THE LAST VERSION PUBLISHED AT 16:14, 27 JUNE https://yade-dem.org/wiki/File:CapillaryJune2012.tar.gz Hope everything is OK now. -- You received this question notification because you are a member of yade-users, which is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #201608]: IMPORTANT - capillary files updated
Question #201608 on Yade changed: https://answers.launchpad.net/yade/+question/201608 Luc Scholtès posted a new comment: Hi liucheng, You have to paste the files M(r=i) into the folder where the yade executable is (I guess it is the "yade file in bin folder" you mentionnned). Cheers -- You received this question notification because you are a member of yade-users, which is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #202299]: how to model rock joints
Question #202299 on Yade changed: https://answers.launchpad.net/yade/+question/202299 Luc Scholtès proposed the following answer: Hi Henry, What exactly do you want to study? The behaviour of the joint as described in here: http://www.sciencedirect.com/science/article/pii/S1365160910001784 or the behaviour of the jointed rock mass as described in here: http://www.sciencedirect.com/science/article/pii/S1365160912000391 Luc -- You received this question notification because you are a member of yade-users, which is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #203385]: Export command for sphere packings from YADE to FEM packages like ABAQUS
Question #203385 on Yade changed: https://answers.launchpad.net/yade/+question/203385 Status: Open => Answered Luc Scholtès proposed the following answer: Hey, Just to be sure about what you want to do. Do you actually want to export positions and radii of particles into a text file so that you can import it into ABAQUS? If yes, the export function should work, but you have to import the export module first (I know, the combination import export can sound a bit weird). In your terminal (with a model previously launched, of course!), try to type: from yade import export export.text('spheres') That should do the trick. You are probably aware of those works from B Harthong and JF Jerier on the subject: http://www.sciencedirect.com/science/article/pii/S0032591010004481 http://www.sciencedirect.com/science/article/pii/S0020740312001014 http://www.sciencedirect.com/science/article/pii/S0020768309002054 Cheers Luc -- You received this question notification because you are a member of yade-users, which is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #203709]: Which physical parameters i need and how to add them
Question #203709 on Yade changed: https://answers.launchpad.net/yade/+question/203709 Luc Scholtès posted a new comment: Dear Christian, As mentionned by yade (in your terminal), GravityEngine is now deprecated and you should use NewtonIntegrator to apply gravity in your simulation like this: NewtonIntegrator(damping=yourValueOfDamping, gravity=(0,yourValueOfGravity,0)) The examples using GravityEngine are deprecated, but everything should work with GravityEngine anyway. Cheers Luc -- You received this question notification because you are a member of yade-users, which is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
[Yade-users] [Question #207750]: cannot find GUI-libs during compilation
New question #207750 on Yade: https://answers.launchpad.net/yade/+question/207750 Hi all, I tried to compile YADE in its new version (ubuntu 10.04 lucid). Everything just went fine except that I cannot open the GUI because the GUI-libs could not be found during compilation (the GUI feature is therefore disable). Is there a way to solve that point? It would help me a lot not to work only with paraview. Thanks for your help Cheers -- You received this question notification because you are a member of yade-users, which is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #207750]: cannot find GUI-libs during compilation
Question #207750 on Yade changed: https://answers.launchpad.net/yade/+question/207750 Status: Answered => Open Luc Scholtès is still having a problem: Thanks Anton, Actually, I do not understand why the GUI-libs cannot be found since I carefully checked that all libs were installed... My question should have been: What are the GUI-libs? Luc This is what I get when doing cmake -- Version is set to 2012-09-04.git-e931dee -- GTS using gts-config /usr/bin/gts-config -- Using GTS from /usr -- Boost_VERSION: 104000 -- Boost_LIB_VERSION: 1_40 -- Boost_INCLUDE_DIRS: /usr/include -- Boost_LIBRARIES: /usr/lib/libboost_python.so/usr/lib/libboost_thread-mt.so/usr/lib/libboost_date_time-mt.so/usr/lib/libboost_filesystem-mt.so/usr/lib/libboost_iostreams-mt.so/usr/lib/libboost_regex-mt.so/usr/lib/libboost_serialization-mt.so -- Found Eigen3 -- Found VTK -- Found OpenMP -- GTS using gts-config /usr/bin/gts-config -- Using GTS from /usr -- Found GTS -- Found QGLViewer: /usr/lib/libqglviewer-qt4.so -- GUI-LIBS NOT found -- GMP libs: /usr/lib/libgmp.so /usr/lib/libgmpxx.so -- GMP libs: /usr/lib/libgmp.so /usr/lib/libgmpxx.so -- Found CGAL -- Found GL2PS Yade will be installed to /home/invite/Bureau/LUC -- Suffix is set to -2012-09-04.git-e931dee -- LIBRARY_OUTPUT_PATH is set to lib -- runtimePREFIX is set to /home/invite/Bureau/LUC -- === -- Yade configured with following features: Eigen3 VTK OpenMP GTS CGAL GL2PS -- Disabled features: GUI -- Optimized build -- === -- Configuring done -- Generating done -- Build files have been written to: /home/invite/Bureau/LUC You received this question notification because you are a member of yade-users, which is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #207750]: cannot find GUI-libs during compilation
Question #207750 on Yade changed: https://answers.launchpad.net/yade/+question/207750 Status: Open => Solved Luc Scholtès confirmed that the question is solved: Ok, my mistake... I forgot freeglut... Sorry for that -- You received this question notification because you are a member of yade-users, which is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #210907]: on sample preparation of real granula materials
Question #210907 on Yade changed: https://answers.launchpad.net/yade/+question/210907 Status: Open => Answered Luc Scholtès proposed the following answer: Hello Wangxiaoliang, If I understand well, you are able to generate your samples at different porosities but you have some troubles when it comes to calibrate your model, right? I guess you had a look to this paper: http://www.springerlink.com/content/16688jw766197204/ which explains how the different microparameters affect the macroscopic response. If not, please have a look. If yes, could you be more precise when you state that "it fails for the rolling resistance". Is it that it does not correspond to what is described in the paper? Luc -- You received this question notification because you are a member of yade-users, which is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #210907]: on sample preparation of real granula materials
Question #210907 on Yade changed: https://answers.launchpad.net/yade/+question/210907 Luc Scholtès proposed the following answer: ""With it, the desired porosity which corresponds to the porosity of the real specimen n = 0.40 was reached" I never understand this, n in the real specimen is 0.40, but what is n in his numerical specimen?" -> it says that the porosity of his numerical assembly IS EQUAL TO the one of the real specimen. You have to note that 0.40 is the porosity after the radius expansion method. The triaxial compression is thus performed on a sample with initial porosity equal to 0.40. "In your paper "on capillary stress tensor in wet granular materials", you even used a smaller friction angle, say 0.2. In my experience, that will result a very large dilatancy angle, usually larger than 20, but in experiment it is usually about 10." -> You have to be careful here. For instance, in my case, I generated samples (radius expansion) with an interparticle friction angle equal to 0.1 deg, right, this was done so that the sample is as dense as possible at the end of the compaction phase, BUT, I CHANGED the frictional angle after the generation phase so that the triaxial compression is performed on a sample where the interparticle friction angle is equal to 30 deg (see the difference between compactionFrictionDeg and sphereFrictionDeg in the trixial test) "at the last step ,I calibrate for rolling stiffness, in the response, the macroscopic friction angle doesn't change" -> I guess this should be the title of your question? I also guess that you are using Law2_ScGeom6D_CohFrictPhys_CohesionMoment. Am I right? Luc -- You received this question notification because you are a member of yade-users, which is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #210907]: on sample preparation of real granula materials
Question #210907 on Yade changed: https://answers.launchpad.net/yade/+question/210907 Luc Scholtès proposed the following answer: OK, so the problem is more general that just "rolling moment related" as I supposed it was... Maybe you should open questions for each problem because it is difficult to see where exactly is your point. Moreover, each of them is susceptible to interest YADE users ;-) I see 2 distinct problems from your previous questions: 1 - Do we consider initial porosity as the one obtained without confinement or the one corresponding to the isotropic state pre- compression? Good question I would say... I would also say that it is difficult to generate an homogeneous sample using DEM without confinement, and I think (guys, tell me if I am wrong) that in most cases, when DEM users talk about initial porosity, it is the one obtained under isotropic confinement (the lowest confinement if you plan to run a series a triaxial compressions). BTW, is there a big change in the porosity of your real specimen when you go from 0 to 50kPa confinement? 2 - Is there any problem with rolling moment law? Why rolling stiffness does not impact my macroscopic result? If this one is actually of concern, maybe have a look to triax-cohesive.py as suggested by Bruno. Hope it helps... -- You received this question notification because you are a member of yade-users, which is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
[Yade-users] [Question #212412]: compilation error: extra/floating_point_utilities_v3/boost/math
New question #212412 on Yade: https://answers.launchpad.net/yade/+question/212412 Hi all, Here is my distrib: DISTRIB_ID=Ubuntu DISTRIB_RELEASE=10.04 DISTRIB_CODENAME=lucid DISTRIB_DESCRIPTION="Ubuntu 10.04.4 LTS" I got this error when trying to compile last git version, related to the extra: floating_point_utilities_v3/boost/math/signbit lib apparently: [100%] Building CXX object CMakeFiles/pyModules.dir/pyModules.0.cpp.o /usr/bin/c++ -DpyModules_EXPORTS -DYADE_PTR_CAST=static_pointer_cast -DYADE_CAST=static_cast -DYADE_OPENMP -DYADE_OPENGL -DYADE_VTK -DYADE_GTS -DYADE_CGAL -Wall -fPIC -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Wformat-security -Werror=format-security -fopenmp -s -DQGLVIEWER_FOUND -O3 -DNDEBUG -fPIC -I/usr/include/eigen3 -I/usr/include/python2.6 -I/usr/include/vtk-5.2 -I/usr/lib/openmpi/include -I/usr/lib/openmpi/include/openmpi -I/usr/include/tcl8.5 -I/usr/lib/jvm/default-java/include -I/usr/include/libxml2 -I/usr/include/freetype2 -I/home/invite/Bureau/LUC/YADE_git/trunk/extra/floating_point_utilities_v3 -I/home/invite/Bureau/LUC/YADE_git/trunk -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/qt4/QtScriptTools -I/usr/include/qt4/phonon -I/usr/include/qt4/QtXmlPatterns -I/usr/include/qt4/QtWebKit -I/usr/include/qt4/QtHelp -I/usr/include/qt4/QtAssistant -I/usr/include/qt4/QtDBus -I/usr/include/qt4/QtTest -I/usr/include/qt4/QtUiTools -I/usr/include/qt4/QtScript -I/usr/include/qt4/QtSvg -I/usr/include/qt4/QtXml -I/usr/include/qt4/QtSql -I/usr/include/qt4/QtOpenGL -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtDesigner -I/usr/include/qt4/Qt3Support -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtCore -I/usr/share/qt4/mkspecs/default -I/usr/include/qt4 -o CMakeFiles/pyModules.dir/pyModules.0.cpp.o -c /home/invite/Bureau/LUC/YADE_git/trunk/pyModules.0.cpp In file included from /usr/include/c++/4.4/backward/strstream:47, from /usr/include/vtk-5.2/vtkIOStream.h:112, from /usr/include/vtk-5.2/vtkSystemIncludes.h:40, from /usr/include/vtk-5.2/vtkIndent.h:24, from /usr/include/vtk-5.2/vtkObjectBase.h:43, from /usr/include/vtk-5.2/vtkObject.h:41, from /usr/include/vtk-5.2/vtkLocator.h:53, from /usr/include/vtk-5.2/vtkPointLocator.h:39, from /home/invite/Bureau/LUC/YADE_git/trunk/py/_eudoxos.cpp:13, from /home/invite/Bureau/LUC/YADE_git/trunk/pyModules.0.cpp:2: /usr/include/c++/4.4/backward/backward_warning.h:28:2: warning: #warning This file includes at least one deprecated or antiquated header which may be removed without further notice at a future date. Please use a non-deprecated interface with equivalent functionality instead. For a listing of replacement headers and interfaces, consult the file backward_warning.h. To disable this warning use -Wno-deprecated. In file included from /home/invite/Bureau/LUC/YADE_git/trunk/extra/floating_point_utilities_v3/boost/math/nonfinite_num_facets.hpp:15, from /home/invite/Bureau/LUC/YADE_git/trunk/py/wrapper/yadeWrapper.cpp:53, from /home/invite/Bureau/LUC/YADE_git/trunk/pyModules.0.cpp:5: /home/invite/Bureau/LUC/YADE_git/trunk/extra/floating_point_utilities_v3/boost/math/signbit.hpp: In function ‘T boost::math::detail::copysign_impl(T, T) [with T = float]’: /home/invite/Bureau/LUC/YADE_git/trunk/extra/floating_point_utilities_v3/boost/math/signbit.hpp:54: instantiated from here /home/invite/Bureau/LUC/YADE_git/trunk/extra/floating_point_utilities_v3/boost/math/signbit.hpp:37: error: ‘init’ is not a member of ‘boost::math::detail::copysign_impl(T, T) [with T = float]::traits’ /home/invite/Bureau/LUC/YADE_git/trunk/extra/floating_point_utilities_v3/boost/math/signbit.hpp:39: error: no type named ‘bits’ in ‘struct boost::math::detail::copysign_impl(T, T) [with T = float]::traits’ /home/invite/Bureau/LUC/YADE_git/trunk/extra/floating_point_utilities_v3/boost/math/signbit.hpp:40: error: ‘get_bits’ is not a member of ‘boost::math::detail::copysign_impl(T, T) [with T = float]::traits’ /home/invite/Bureau/LUC/YADE_git/trunk/extra/floating_point_utilities_v3/boost/math/signbit.hpp:39: error: no type named ‘bits’ in ‘struct boost::math::detail::copysign_impl(T, T) [with T = float]::traits’ /home/invite/Bureau/LUC/YADE_git/trunk/extra/floating_point_utilities_v3/boost/math/signbit.hpp:41: error: ‘sign’ is not a member of ‘boost::math::detail::copysign_impl(T, T) [with T = float]::traits’ /home/invite/Bureau/LUC/YADE_git/trunk/extra/floating_point_utilities_v3/boost/math/signbit.hpp:39: error: no type named ‘bits’ in ‘struct boost::math::detail::copysign_impl(T, T) [with T = float]::traits’ /home/invite/Bureau/LUC/YADE_git/trunk/extra/floating_point_utilities_v3/boost/math/signbit.hpp:43: error: no type named ‘bits’ in ‘struct boost::math::detail::copysign_impl(T, T) [with T = float]::traits’
Re: [Yade-users] [Question #212412]: compilation error: extra/floating_point_utilities_v3/boost/math
Question #212412 on Yade changed: https://answers.launchpad.net/yade/+question/212412 Status: Answered => Open Luc Scholtès is still having a problem: Thanks Bruno for suggestion but the computer I am installing is not mine and I don't want to generate any drawbacks... boost version is 1.40 from what I can tell (synaptic) -- You received this question notification because you are a member of yade-users, which is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
[Yade-users] [Question #212429]: computer configuration
New question #212429 on Yade: https://answers.launchpad.net/yade/+question/212429 Hi all, Sorry in advance if this is not the right place for that, but I plan to buy a computer mostly for YADE use and I have very little experience on computer's performances. For instance, between those two configurations: 1) http://h4.www4.hp.com/new_workstations/adlanding/uk/en/z600_details.html 2) http://h4.www4.hp.com/new_workstations/adlanding/uk/en/z800.html Do you think that it would be worth buying the expensive one (2) compare to the other (1)? What is actually the component to favour in regards to YADE structure and behavior? Thanks for any advice Luc -- You received this question notification because you are a member of yade-users, which is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #212429]: computer configuration
Question #212429 on Yade changed: https://answers.launchpad.net/yade/+question/212429 Status: Answered => Solved Luc Scholtès confirmed that the question is solved: OK, thank you guys for inputs. -- You received this question notification because you are a member of yade-users, which is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #222250]: model a direct shear test
Question #50 on Yade changed: https://answers.launchpad.net/yade/+question/50 Luc Scholtès requested more information: Hello Anna, sorry for the late reply. I saw your email but could not find time to answer it. -- You received this question notification because you are a member of yade-users, which is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #222250]: model a direct shear test
Question #50 on Yade changed: https://answers.launchpad.net/yade/+question/50 Luc Scholtès proposed the following answer: Euh... Me again. I was looking for a way to attach files to my answer... I have a python script that should help you. It performs a direct shear test as you describe with, first, the application of the normal load and, second, the shearing phase. The problem is that, I am not very happy with this script as the control of the normal load during shearing is not "general". I wanted to improve it so as to do something more "general" like the triaxial engine for example but did not have the time. Currently, I have to adjust a variable that I have called servoCoeff depending on the parameters of the simulation (normal load, strength of the matrial, etc...). Anyway, maybe we can discuss this by email so that I can send you the script (unless I can do it through launchpad?). Cheers Luc -- You received this question notification because you are a member of yade-users, which is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #222363]: Material Parameters about Kn and Ks
Question #222363 on Yade changed: https://answers.launchpad.net/yade/+question/222363 Status: Open => Answered Luc Scholtès proposed the following answer: Hi Henry, The use of Young and Poisson in YADE can be confusing. Actually, those two parameters define the normal and shear stiffnesses as you mentioned. Their names come from the fact that they influence the value of the Young modulus and of the Poisson's ratio of the assembly. Of course, the relationship between micro-parameters and macro-properties is not direct and it depends on the assembly you use (orthogonal, hexagonal, random,...). For the basic laws in YADE, the stiffnesses are defined according to those equations: Kn=2.*E*R1*E*R2/(E*R1+E*R2) (1) Ks/Kn=P (2) with E the "Young" parameter and P the "Poisson" parameter. In the paper you mentioned, I gave values of kn and ks computed according to (1) and (2) for the average radius of the assembly I used. Hope it helps Luc -- You received this question notification because you are a member of yade-users, which is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #222363]: Material Parameters about Kn and Ks
Question #222363 on Yade changed: https://answers.launchpad.net/yade/+question/222363 Luc Scholtès posted a new comment: I forgot to mentioned that R1 and R2 are the radii of the two particles in contact -- You received this question notification because you are a member of yade-users, which is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #222250]: model a direct shear test
Question #50 on Yade changed: https://answers.launchpad.net/yade/+question/50 Luc Scholtès posted a new comment: Hi Anna, I could not fin an email adress where to send you my script and some explanations, so here is my code below. I guess you can copy-paste it directly as a python script. Be careful, some things are maybe deprecated for last versions of YADE. TranslationEngine is used but, as told by Bruno, it is not mandatory and could/should be replaced by a condition on the boxes velocity. I am not exactly happy with the way the simulation is servo-controlled as is, but it works if the loading parameters are well adjusted (this is where I should take some time to generalize the simulation like it is done for the triaxial test or "Jerome's engine"). Be sure to adapt it to the interaction law you are using in the definition of the "InteractionLoop" (I use here a modified version of one of the currently available law). Briefly, here is the process: - packing is imported from a predefined text file. - a first box is appended at the top of the sample. - normal loading is performed until the predefined value is reached. - once equilibrium is reached, top and bottom half boxes of a "Casagrande box" are created - the bottom box is then displaced at constant velocity Do not hesitate if you have any questions. Cheers Luc # -*- coding: utf-8 -*- O=Omega() from yade import ymport, utils, plot ## parameters definition PACKING='X1Y1Z1_5k' DAMPING=0.5 dtCOEFF=0.5 normalSTRESS=5e5 normalVEL=normalSTRESS/1e8 # 0.001 for 100kPa // optimized for normalVEL=normalSTRESS/1e8? shearVEL=1*normalVEL # try different values to ensure quasi-static conditions intR=1.263 #1.263 for X1Y1Z1_5k DENS=3000 YOUNG=50e9 FRICT=18 ALPHA=0.3 TENS=45e5 COH=45e6 iterMAX=40 Output='shearTest_'+PACKING+'_K10_D3000_Y50e9A03F18T45e5C45e6_500kPa_shearVel1' ## Import of the sphere assembly ### material definition def sphereMat(): return CFpmMat(type=1,young=YOUNG,frictionAngle=radians(FRICT),density=DENS) def wallMat(): return CFpmMat(type=0,young=YOUNG,frictionAngle=radians(0),density=DENS) ## copy spheres from the packing into the scene O.bodies.append(ymport.text(PACKING+'.spheres',scale=1.,shift=Vector3(0,0,0),material=sphereMat)) ## preprocessing to get dimensions dim=utils.aabbExtrema() xinf=dim[0][0] xsup=dim[1][0] X=xsup-xinf yinf=dim[0][1] ysup=dim[1][1] Y=ysup-yinf zinf=dim[0][2] zsup=dim[1][2] Z=zsup-zinf ## initial surface S0=X*Z ## spheres factory R=0 Rmax=0 numSpheres=0. for o in O.bodies: if isinstance(o.shape,Sphere): o.shape.color=(0.7,0.5,0.3) numSpheres+=1 R+=o.shape.radius if o.shape.radius>Rmax: Rmax=o.shape.radius Rmean=R/numSpheres ## creation of shear box thickness=Y/100 oversizeFactor=1.3 ### loading platens O.bodies.append(utils.box(center=(xinf+X/2.,yinf-thickness+Rmean/10.,zinf+Z/2.),extents=(oversizeFactor*X/2,thickness,oversizeFactor*Z/2),material=wallMat,fixed=True)) bottomPlate=O.bodies[-1] O.bodies.append(utils.box(center=(xinf+X/2.,ysup+thickness-Rmean/10.,zinf+Z/2.),extents=(oversizeFactor*X/2,thickness,oversizeFactor*Z/2),material=wallMat,fixed=True)) topPlate=O.bodies[-1] ## Engines O.engines=[ ForceResetter(), InsertionSortCollider([Bo1_Sphere_Aabb(aabbEnlargeFactor=intR,label='aabb'),Bo1_Box_Aabb()]), InteractionLoop( [Ig2_Sphere_Sphere_ScGeom(interactionDetectionFactor=intR,label='ss2d3dg'),Ig2_Box_Sphere_ScGeom()], [Ip2_CFpmMat_CFpmMat_CFpmPhys(cohesiveTresholdIteration=1,alpha=ALPHA,tensileStrength=TENS,cohesion=COH,label='interactionPhys')], [Law2_ScGeom_CFpmPhys_CohesiveFrictionalPM(recordCracks=recCRACKS,label='interactionLaw')] ), GlobalStiffnessTimeStepper(defaultDt=0.1*PWaveTimeStep(),timestepSafetyCoefficient=dtCOEFF), TranslationEngine(ids=[topPlate.id],translationAxis=(0.,-1.,0.),velocity=0.,label='yTranslation'), PyRunner(iterPeriod=1,initRun=True,command='servoController()',label='servo'), NewtonIntegrator(damping=DAMPING,gravity=(0,0,0),label='damper'), PyRunner(iterPeriod=iterMAX/1000,initRun=True,command='dataCollector()'), ] ## Engines definition ( servoController() and dataCollector() ) shearing=False sigmaN=0 tau=0 Fs1=0 Fs2=0 Xdispl=0 px0=0 Ydispl=0 py0=topPlate.state.pos[1] prevTranslation=0 n=0 def servoController(): global px0, py0, sigmaN, n, Fn1, Fn2, shearing, butee, piston1, piston2 Fn1=abs(O.forces.f(topPlate.id)[1]) Fn2=abs(O.forces.f(bottomPlate.id)[1]) sigmaN=Fn1/(S0-2*Xdispl*Z) # necessary? #print yTranslation.velocity, sigmaN if shearing==False: if yTranslation.velocity(0.9*normalSTRESS): y
Re: [Yade-users] [Question #220152]: Cylinder Geometry Problem
Question #220152 on Yade changed: https://answers.launchpad.net/yade/+question/220152 Luc Scholtès posted a new comment: Hello PingYang, I guess your question is: Is it possible to simulate triaxial compressions on cylindrical specimens? If yes, first, you should open a new thread/question, or maybe look at previous messages in relation to this topic (have a look there: https://answers.launchpad.net/yade). Second, if I may answer, it is not possible to simulate triaxial tests on cylindrical specimens at the moment. To my knowledge, there is no predefined engine capable of doing that in the source code and you will need to implement a new one by yourself or maybe code it through python scripting (is that even possible?...). However, triaxial compressions can be simulated on cubical specimens quite easily (either using external walls/boxes or periodic boundary conditions). Have a look at the examples directory in the source code, you may find useful things. If no, sorry for misunderstanding your question. Luc -- You received this question notification because you are a member of yade-users, which is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #228866]: What is the meaning of len()?
Question #228866 on Yade changed: https://answers.launchpad.net/yade/+question/228866 Status: Open => Answered Luc Scholtès proposed the following answer: Hi Ray, len() is a python function, not a specific yade function. It is defined in the python documentation there: http://docs.python.org/2/library/functions.html?highlight=len#len len(O.bodies) returns the number of 'bodies' defined in the current simulation (O). Cheers Luc -- You received this question notification because you are a member of yade-users, which is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #228825]: joint
Question #228825 on Yade changed: https://answers.launchpad.net/yade/+question/228825 Status: Open => Answered Luc Scholtès proposed the following answer: Dear PingYang, Sorry for not answering earlier to your question. I can see with your other email that you seem to be very interested in modelling jointed rock masses. As you probably know, I did some work on this topic and the fact is that, at the moment, I haven't release any of my development files for many reasons. The first reason, really, is a question of time. I could release my files as they are at the moment but I do not think this will be of any help for Yade users because the files need a proper "How To" documentation that does not exist yet. This is on my agenda for several months now and I hope I will be able to do it this next summer. I also hope that, doing so, yade developers who may be interested in that topic will improve the way it should be implemented in Yade as it is in a very crude and basic coding form at the moment. Anyway, apart from the fact that the files are not available yet (BTW, they just consists in an enhanced version of the cohesive frictional law describes here: https://yade- dem.org/doc/yade.wrapper.html?highlight=cohesive%20frictional#yade.wrapper.CohesiveFrictionalContactLaw), maybe you should first learn how to use YADE and think about how you want to use it for your designated purpose. Because, before defining a simulation with a precise contact law, you need to define the geometry and the boundary conditions of your problem. For jointed rock masses, it is even more complicated because you need to define the fracture network that you want to study. What is exactly that you want to study? Considering what I just said, I encourage you to consider first the above mentionned modelling strategy. For example, as a first morking scheme, you could model your rock mass with the available cohesive contact law by deleting the contacts that belong to the fracture network (or setting them as non cohesive compared to the ones belonging to the intact rock matrix). I would be happy to help you with this ;). Hopefully, my development files will come up soon. Regards Luc -- You received this question notification because you are a member of yade-users, which is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #202299]: how to model rock joints
Question #202299 on Yade changed: https://answers.launchpad.net/yade/+question/202299 Status: Open => Answered Luc Scholtès proposed the following answer: Dear Henry, NormalInelasticity is adapted to model the behaviour of the granular material that you can find in rock joint (also called gouge). Is it really what you want to model? Did you actually have a look at the papers I mentionned in a previous answer? Cheers, Luc -- You received this question notification because you are a member of yade-users, which is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #222250]: model a direct shear test
Question #50 on Yade changed: https://answers.launchpad.net/yade/+question/50 Luc Scholtès posted a new comment: Hello, Nothing is "wrong" with the code, it is simply looking for a packing whose name is defined by PACKING at the beginning of the script and finished by ".spheres". They are a lot of different ways to generate a packing (see: https://yade-dem.org/doc/user.html#sphere-packings). Usually, I first generate packings separately and I export tehm in a text file "name.spheres" so that I can use them for whatever I want later on. So you need to figure out how to generate your textfile.spheres using the method that better suit you using the utils function export.text. Another way, if you run a triaxial test using Yade graphical interface (ype F12 once yade terminal is open), a textfile.spheres is generated with predefined geometrical properties. You can work this way for parallellepipedic packings if you want. Cheers Luc -- You received this question notification because you are a member of yade-users, which is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
[Yade-users] [Question #232493]: yade crashes when opening
New question #232493 on Yade: https://answers.launchpad.net/yade/+question/232493 Hello guys, I just installed latest version of yade (0.80.0-50-ge568cd2) on my brand new machine (ubuntu 12.04 precise). Everything ran fine until I tried to launch yade from executable. I get this error message: Welcome to Yade 0.80.0-50-ge568cd2 Traceback (most recent call last): File "./yade-0.80.0-50-ge568cd2", line 112, in import yade File "/media/sdb/yade/sources/git/build//lib/yade0.80.0-50-ge568cd2/py/yade/__init__.py", line 58, in import boot ImportError: /media/sdb/yade/sources/git/build/libcore.so: undefined symbol: _ZTI12Serializable If you have any idea? Cheers Luc -- You received this question notification because you are a member of yade-users, which is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #232493]: yade crashes when opening
Question #232493 on Yade changed: https://answers.launchpad.net/yade/+question/232493 Luc Scholtès posted a new comment: Thanks Jan but, from this discussion, everything should work with latest yade version, right? Luc -- You received this question notification because you are a member of yade-users, which is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #232493]: yade crashes when opening
Question #232493 on Yade changed: https://answers.launchpad.net/yade/+question/232493 Luc Scholtès posted a new comment: Ok, my mistake. Github is very confusing for me... getting sources using: clone g...@github.com:lucScholtes/trunk.git gives me the error when launching because, it is not the latest version... I must admit that I don't get it but, of course, everything is fine if I use: git clone g...@github.com:yade/trunk.git Yet, I followed what is described here: https://www.yade- dem.org/wiki/Yade_on_github and I don't see why my branch (lucScholtes/trunk.git) is different from the master branch (yade/trunk.git) since I did a "fork" from master branch I must be dumb... Luc -- You received this question notification because you are a member of yade-users, which is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #232493]: yade crashes when opening
Question #232493 on Yade changed: https://answers.launchpad.net/yade/+question/232493 Status: Answered => Solved Luc Scholtès confirmed that the question is solved: Yes, the plan was to commit some files in the coming days. I will do it using the main branch. I guess I will know if I am allowed to do so when I will type git commit files, right? Cheers Luc -- You received this question notification because you are a member of yade-users, which is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #232493]: yade crashes when opening
Question #232493 on Yade changed: https://answers.launchpad.net/yade/+question/232493 Luc Scholtès confirmed that the question is solved: Thanks Bruno Chareyre, that solved my question. -- You received this question notification because you are a member of yade-users, which is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #232493]: yade crashes when opening
Question #232493 on Yade changed: https://answers.launchpad.net/yade/+question/232493 Luc Scholtès posted a new comment: What I have done with pre-existing fracture planes. Basically, a contact law. This one could actually replace the current cohesiveFrictionalPM has it has the same features plus the possibility to deal with pre-existing fractures (reference to your message regarding contact laws cleaning). Maybe this could actually help me improve the way I implemented it. I will add an example folder too, so that people could have an idea about how it works with basic scripts. Is there any particular way to commit entire folders? I plan to add a screenshot or a video as well on wiki to illustrate that. -- You received this question notification because you are a member of yade-users, which is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #232493]: yade crashes when opening
Question #232493 on Yade changed: https://answers.launchpad.net/yade/+question/232493 Luc Scholtès posted a new comment: Yes, as I told you, this new law would replace cohesiveFrictionalPM, which is, as you said a duplicate of Law2_ScGeom6D_CohFrictPhys_CohesionMoment for the most part. So I would remove cohesiveFrictionalPM, agreed. BTW, what is the procedure for that matter? Now, the new law allows to take into account pre-existing fracture planes as I told you. The sort of things describe here: http://www.sciencedirect.com/science/article/pii/S1365160912000391#. Nothing really new in terms of contact behaviour (normal, shear adhesion), just a specific way of dealing with the orientation of contacts belonging to pre-existing fractures (and, of course, the initial interparticle distance as the equilibrium distance). A little bit more than number of broken contacts ;) I understand your concerns but I am not sure I could implement this particular new feature into Law2_ScGeom6D_CohFrictPhys_CohesionMoment. What I can insure though, is that I will try to keep the files updated in regards to the new features you mentionned (contact handling, PBC, etc...). Luc -- You received this question notification because you are a member of yade-users, which is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #232493]: yade crashes when opening
Question #232493 on Yade changed: https://answers.launchpad.net/yade/+question/232493 Luc Scholtès posted a new comment: I just tried to "git push" a commit (add a new reference for testing commit) but get this message: ERROR: Permission to yade/trunk.git denied to lucScholtes. fatal: The remote end hung up unexpectedly Could you help me on that one please? Luc -- You received this question notification because you are a member of yade-users, which is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #232493]: yade crashes when opening
Question #232493 on Yade changed: https://answers.launchpad.net/yade/+question/232493 Luc Scholtès posted a new comment: Thanks for inputs Bruno. As a first alternative, because it would be easier both in terms of time and coding, I would say that I would like to commit my new class as I received several demands for it. It would replace the old Cohesive frictionalPM of course if you can explain me how to delete it. In addition, I would like to commit a directory with examples so that people would be able to use it as it is. I guess I can do it by myself but Anton suggested that I may send the folder to one of you... What do you think? Luc -- You received this question notification because you are a member of yade-users, which is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #235264]: Use of JCFpmPhys.dilation ?
Question #235264 on Yade changed: https://answers.launchpad.net/yade/+question/235264 Status: Open => Answered Luc Scholtès proposed the following answer: Hi Jerome, Good to hear from you. You are right, I have not used dilation in any modelling but you have to note that it is just a variable that does not enter in any computations, unlike dilationAngle. I put it there because I thought it could be interesting to quantify dilation in joints and, actually, after double checking, I am pretty sure it is not computed the right way (see line 112 of the cpp file). Thanks for pointing out. I will have a look. Coming back to dilationAngle, it has been used in computations (see figure 8 in this paper: http://www.sciencedirect.com/science/article/pii/S1365160912000391) and, it is working when the smoothJoint contact logic is turned on. Implementation is also on line 112 of the cpp file and has been verified. There could be a discussion on the way it is implemented and I am keen for remarks. To sum up: - Yes, a parameter is currently present and functional in the source code to take into account dilatancy in joints, it is dilationAngle. - dilation is a variable that should record the amount of dilatancy in the joint but needs to be corrected. Hope it helps Luc -- You received this question notification because you are a member of yade-users, which is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #235264]: Use of JCFpmPhys.dilation ?
Question #235264 on Yade changed: https://answers.launchpad.net/yade/+question/235264 Luc Scholtès posted a new comment: "One extra remark about this topic : I thought that it would maybe sound more "rheological" to take into account dilation only at plastic sliding, and, then, to compute the normal dilation according to the plastic part of the relative shear displacement. Do you agree ?" Actually, if you have a look at the code, dilation (the change in initD) is taken into account only when maximum shear strength is reached (plastic yield) and it takes into acount only the incremental shear displacement (jointSliding). Now, definitely, the computation of the normal displacement in the joint (phys->dilation), needs to be corrected. What do you think about that way: phys->dilation += jointSliding*phys->dilationAngle So we use the incremental shear displacement (after plastic yield)? Luc -- You received this question notification because you are a member of yade-users, which is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
[Yade-users] [Question #240024]: how to get interaction attribute from interacting particles ids
New question #240024 on Yade: https://answers.launchpad.net/yade/+question/240024 Hi all, Just wondering if there is a "simple" way to access interaction attribute (like intr->phys->tangensOfFrictionAngle) when the pair of interacting particles (id1 and id2) is known. For now, I am looping over all interactions and I apply a test on intr->ids to get the information I need but it is a little bit like looking for a needle in a haystack... Also, I am currently doing it in the source code (C++) but maybe this would be easier using python... Thanks for you help Luc -- You received this question notification because you are a member of yade-users, which is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #240024]: how to get interaction attribute from interacting particles ids
Question #240024 on Yade changed: https://answers.launchpad.net/yade/+question/240024 Status: Answered => Open Luc Scholtès is still having a problem: Many thanks to both of you. Actually, I was expecting there was an easy way with python but I would like to implement my search function in C++. I (or Timos ;o) ) will try to play with the found() function. Is there already a class where this function is used? Luc -- You received this question notification because you are a member of yade-users, which is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #240024]: how to get interaction attribute from interacting particles ids
Question #240024 on Yade changed: https://answers.launchpad.net/yade/+question/240024 Status: Answered => Solved Luc Scholtès confirmed that the question is solved: Many thanks guys Cheers Luc -- You received this question notification because you are a member of yade-users, which is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
[Yade-users] [Question #251530]: PhD position: Hydrodynamics and particle transport modelling
New question #251530 on Yade: https://answers.launchpad.net/yade/+question/251530 Dear all, A PhD opportunity in the research field of Hydrodynamics and Transport Processes is available at University of Lorraine in Nancy, France. Applicants are invited for a three years PhD scholarship in the Hydro-GeoMechanics group at the GeoRessources laboratory (http://georessources.univ-lorraine.fr/). A part of the study will involve DEM-LBM modelling using YADE. The subject is as follows: "The applicant will carry out fundamental and applied research in the field of fluid mechanics and granular mechanics. The research will involve laboratory experiments, numerical simulations and analytical developments. The aim of this research is: (i) to identify the mechanisms governing transport and deposition of particles in preferential flow and (ii) to built up models in order to better predict the dynamics of particles immersed in moving fluids using a multi-scale approach (contact dynamics, fluid mechanics, solid-fluid interaction). First, experiments will be performed to investigate the influence of particle properties (density, size, geometry) and of the topology of the fracture (wavelength, amplitude and phase of the sinusoidal length of the walls) on the flow dynamics. Second, a numerical model coupling a discrete element method (DEM) and a lattice Boltzmann method (LBM) will be developed to strengthen the analyses . Finally, analytical developments will be carried out to describe the dynamics of non-spherical particles when inertia of both the particle and the fluid is non-negligible. The final goal is to characterize the conditions governing transport and deposition of immersed particles in order to better predict erosion or clogging phenomena in geological systems." If you are interested (or if you know someone who could be interested), please contact me directly at this adress (please avoid using Yade mailing list): luc.schol...@univ-lorraine.fr Best regards Luc -- You received this question notification because you are a member of yade-users, which is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #229380]: volume of the meniscus in capillary test
Question #229380 on Yade changed: https://answers.launchpad.net/yade/+question/229380 Luc Scholtès proposed the following answer: Hi Seungcheol, Phys functors give information on the interaction between two interacting bodies. CapillaryPhys "parameters" are thus variables rather than parameters if it makes sense. In any case, they are not "input parameters" and you are thus right, both volume and force are computed according to the state of the interaction and the capillary pressure that you define through the law functor: Law2_ScGeom_CapillaryPhys_Capillarity. See: https://yade- dem.org/doc/yade.wrapper.html?highlight=law2_scgeom_capillaryphys_capillarity#yade.wrapper.Law2_ScGeom_CapillaryPhys_Capillarity where it is clearly written. I hope I am making this clear... Cheers -- You received this question notification because you are a member of yade-users, which is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #254705]: Wetting angle and capillary files
Question #254705 on Yade changed: https://answers.launchpad.net/yade/+question/254705 Status: Open => Answered Luc Scholtès proposed the following answer: Hi Jerome, You are absolutely right, the solutions provided in the capillary files correspond to a wetting angle of 0 degrees. It should be written in the documentation... Could you rectify that? Luc -- You received this question notification because you are a member of yade-users, which is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #257388]: Creating a pack with Nc more than 6
Question #257388 on Yade changed: https://answers.launchpad.net/yade/+question/257388 Luc Scholtès posted a new comment: I would just add that, as Bruno said, Nc>5 is not possible with DEM using SPHERICAL particles. However, it is conceivable by using non spherical particles (e.g clumps or polyhedra) as it is sometimes done for modelling rocks. An alternative for that is to allow near neighbour contacts (contact between non overlapping particles) using the aabbEnlargeFactor and interactionDetectionFactor. It is working pretty well as shown in [1]. The questions now are more about what mterial do you want to simulate? Rock? Soil? And also why are you saying that there is a mismatch between simulations and experiments? This could also be due to an inappropriate contact law... [1] http://www.sciencedirect.com/science/article/pii/S0022509612002268 -- You received this question notification because you are a member of yade-users, which is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #263072]: Manipulating blocks created using jointedCohesiveFrictionalPM
Question #263072 on Yade changed: https://answers.launchpad.net/yade/+question/263072 Luc Scholtès proposed the following answer: Hi Veljko, After the first identification stage (DFN over sphere packing with lots of particles), you could try to identify the cohesive blocks (the ones in between the discontinuities) according to the status of the particles' interaction with their respective neighbours (cohesive or not). This can work only if you define the jointed interactions as non cohesive of course. For instance, looping over all bodies (for o in O.bodies), you loop then over all their neighbours (using O.interactions.withBody(o) ) and find those with which the interaction is cohesive. If the interaction is cohesive, they belong to the same subblock. If not, they don't. Doing so, you should be able to identify the subblocks. This is what I did to obtain the last figure of this paper: http://www.sciencedirect.com/science/article/pii/S1631072114002034 Afterwards, I did not get what you want to do precisely. I guess that replacing the particles contained in the subblocks by clumps is quite straightforward (using what Jerome proposed). You would then end up with a model that would be similar to what 3DEC proposes, with blocks presenting rough surfaces. Now, replacing these clumps by sphere assemblies... I am not sure it would be of interest... But, again, I did not get precisely your objectives. Cheers Luc -- You received this question notification because you are a member of yade-users, which is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
[Yade-users] [Question #291149]: compilation error related to CHOLMOD
New question #291149 on Yade: https://answers.launchpad.net/yade/+question/291149 Hi guys, I am currently trying to install yade (got it from: git clone https://github.com/yade/trunk.git) on a new machine (ubuntu 14.04) and I come across this error during the compilation: [23%] Building CXX object CMakeFiles/yade.dir/pkg/pfv/DFNFlow.cpp.o In file included from /usr/local/include/eigen3/Eigen/CholmodSupport:39:0, from /home/UL/dinc1/Yade/sources/trunk/lib/triangulation/FlowBoundingSphereLinSolv.hpp:17, from /home/UL/dinc1/Yade/sources/trunk/lib/triangulation/FlowBoundingSphere.hpp:172, from /home/UL/dinc1/Yade/sources/build/pkg/pfv/FlowEngine_FlowEngineT.hpp:39, from /home/UL/dinc1/Yade/sources/trunk/pkg/pfv/FlowEngine.cpp:11: /usr/local/include/eigen3/Eigen/src/CholmodSupport/CholmodSupport.h: In function ‘cholmod_sparse Eigen::viewAsCholmod(Eigen::SparseMatrix<_Scalar, _Options, _Index>&)’: /usr/local/include/eigen3/Eigen/src/CholmodSupport/CholmodSupport.h:81:37: error: ‘SuiteSparse_long’ was not declared in this scope else if (internal::is_same<_Index,SuiteSparse_long>::value) Have you met this error before? Thanks for your help Luc -- You received this question notification because your team yade-users is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #290129]: calculation of external work
Question #290129 on Yade changed: https://answers.launchpad.net/yade/+question/290129 Luc Scholtès posted a new comment: Hi guys, Building up on this question, is there any reason for not computing the external work in triaxial loadings when the walls are strain controlled rather than stress controlled? Am I missing something? Luc -- You received this question notification because your team yade-users is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #290129]: calculation of external work
Question #290129 on Yade changed: https://answers.launchpad.net/yade/+question/290129 Luc Scholtès proposed the following answer: Thanks Bruno for your answer. As I said, I probably missed something since, in the version I use, the external work is only computed in TriaxialStressController::controlExternalStress() with this line: externalWork += previousTranslation[wall].dot(getForce(scene,wall_id[wall])); Then, according to these lines in TriaxialStressController::action(), externalWork is thus computed only when the walls are stress controlled (these are the lines for bottom wall only, the same structure applies for all other walls): if (wall_bottom_activated) { if (stressMask & 2) controlExternalStress(wall_bottom, wallForce, p_bottom, max_vel2); else p_bottom->vel[1] += (-normal[wall_bottom][1]*0.5*goal2*height -p_bottom->vel[1])*(1-strainDamping); } In order to have the external work computed under strain control, I had to modify the code according to the following lines: if (wall_bottom_activated) { if (stressMask & 2) controlExternalStress(wall_bottom, wallForce, p_bottom, max_vel2); else { p_bottom->vel[1] += (-normal[wall_bottom][1]*0.5*goal2*height -p_bottom->vel[1])*(1-strainDamping); // LS: update of external work? externalWork += (p_bottom->vel.dot(getForce(scene,wall_id[wall_bottom])))*scene->dt; } Without this change, I just cannot explained where the elastic energy that is stored in my sample during the deviatoric phase is coming from. So, 2 possibilities here: 1) I miss something conceptually for not considering these additional lines (and then no work is produced when walls are strain controlled) -> this is why I ask if I missed something 2) I use an outdated version where the external is only computed in ControlExternalStress (my version is not the latest one) In any of these 2 cases, I just cannot verify the energy balance in my system and I will then stick to my changes to do so. Unless you have another explanation? Thanks Luc -- You received this question notification because your team yade-users is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
[Yade-users] [Question #403534]: How to make certain particles "invisibles" to others?
New question #403534 on Yade: https://answers.launchpad.net/yade/+question/403534 Hi guys, What would you suggest in order to make certain particles "invisible" to others while keeping them in the simulation? I know that particles can be deleted using the erase function but it is not satisfactory in my case because it does not allow to post process correctly my simulations. For instance, if I delete particles during the simulation, I cannot compute displacements fields (I usually do that using Paraview from vtk files recorded at different intervals) nor strain fields (using the Tesselation wrapper from text files recorded at different intervals) since these computations rely on the comparison between 2 states. Any suggestion would be greatly appreciated. Luc -- You received this question notification because your team yade-users is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #403534]: How to make certain particles "invisibles" to others?
Question #403534 on Yade changed: https://answers.launchpad.net/yade/+question/403534 Status: Answered => Open Luc Scholtès is still having a problem: Yes, by "invisible" I mean that they won't interact with other (and that will happen during the simulation so their state would change from "visible" to "invisible"). I tried to find more information about the groupmask but the description is kind of short in the doc ("Bitmask for determining interactions" ). Is there any example where I could grasp more precisely the idea? Thanks -- You received this question notification because your team yade-users is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #403534]: How to make certain particles "invisibles" to others?
Question #403534 on Yade changed: https://answers.launchpad.net/yade/+question/403534 Luc Scholtès posted a new comment: OK, many thanks guys. I see now more clearly how to use groupmask. I am still not sure this would be the best way to deal with my problem since the particles that I want to be invisible from the other "visible particles" should also be invisible from each others (I don't want them to interact with anything). Using groupmask, I would thus have to define a different bitmask for each of them, making sure they cannot interact one with each other... I am not sure this would be practical since I should then define the bitmask equal to 2^i for each of the i-th invisible particle and thus would probably be limited in the number of particles I can actually set as invisible... I hope this was clear enough... Luc -- You received this question notification because your team yade-users is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #403846]: JCF Contac Law
Question #403846 on Yade changed: https://answers.launchpad.net/yade/+question/403846 Status: Open => Answered Luc Scholtès proposed the following answer: Hello Luis, Firstly, you don't need to have 2 Ip2_JCFpmMat_JCFpmMat_JCFpmPhy functors defined in your script (actually, the script that you provided does not work due to the following line that you should remove: [Ip2_JCFpmMat_JCFpmMat_JCFpmPhys(cohesiveTresholdIteration=1,alpha=0.3,tensileStrength=1e6,cohesion=1e6,jointNormalStiffness=1e7,jointShearStiffness=1e7,jointCohesion=1e6,jointFrictionAngle=radians(20),jointDilationAngle=0.0)],) Secondly, you should consider the physics in the test that you defined. The 2 particles move apart tangentially. With the strength properties that you defined, it appears that bond failure occurs due to a shear mechanism. The maximum shear force is actually reached before the maximum normal force. Running 2 tests with Poisson equal to 0.4 and 0.7 respectively, you will see that, effectively, the maximum shear force is equal to ~3e6 in both cases, the difference between the 2 cases being that it is reached sooner (for smaller displacement) in the case where Poisson = 0.7 because the shear stiffness is bigger in this case. Now, regarding your concern, when the maximum shear force is reached, the bond breaks and the normal force is set to zero as well because there is no interaction anymore but, you have to keep in mind that the driving failure mechanism is shear so that the normal force at failure will be different and will be a function of the relative normal displacement between the particles. I would suggest that you run a similar test defining the relative movement of the particles in the direction normal to the contact so that failure will occur due to a tensile/normal mechanism. Luc -- You received this question notification because your team yade-users is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
[Yade-users] [Question #404534]: Control edge length in Tesselation Wrapper?
New question #404534 on Yade: https://answers.launchpad.net/yade/+question/404534 Hi guys, I had a look at Tesselation Wrapper but could not really find where to start from. I run simulations where the packing has an initial hole in it which is significantly bigger than the particles and I would like to use Tesselation Wrapper to post-process the strain field. It works but tesselation is done also across the hole and I would like to avoid that so that the the empty region remains actually empty when I visualize it. Would there be a way to restrict the size of the tetrahedron's edge in Tesselation Wrapper so that tesselation does not occur across the hole? I also tried to do this selection directly in Paraview but couldn't succeed... Many thanks in advance Luc -- You received this question notification because your team yade-users is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #404534]: Control edge length in Tesselation Wrapper?
Question #404534 on Yade changed: https://answers.launchpad.net/yade/+question/404534 Luc Scholtès posted a new comment: Unfortunately, I cannot download the file but thanks anyway for your answer. I did not think it would be so problematic to restrain the tesselation to a certain range (by avoiding edges to be bigger than a given value which could be, e.g., a function of the particle size) but I guess the difficulty comes afterwards, in the operations performed on the mesh, right? Please tell me if I can help in anyway. Thanks -- You received this question notification because your team yade-users is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #432617]: How to plot damage ratio curve
Question #432617 on Yade changed: https://answers.launchpad.net/yade/+question/432617 Status: Open => Answered Luc Scholtès proposed the following answer: Hi Tina, If you are using cohFrictMat, I guess that you are also using cohFrictPhys and Law2_ScGeom6D_CohFrictPhys_CohesionMoment (right?). In this case, you should be able to loop over interactions at any time of the simulation and count the cohesive/frictional contacts by checking if the cohesionBroken attribute is false (cohesive contact) or true (frictional contact) using lines such as: nbCohBond=0 for i in O.interactions: if not i.isReal : continue # not mandatory if i.phys.cohesionBroken==False: nbCohBond+=1 You could include these into a function that you would run periodically during your simulation (e.g. using PyrRunner()) and thus get the evolution of the number of cohesive contacts. By running it before your simulation starts, you will then be able to compute the ratio of broken bonds / initial bonds. I hope it helps -- You received this question notification because your team yade-users is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #440408]: visualization cohesive and non-cohesive bonds of an JCFpm model in paraview
Question #440408 on Yade changed: https://answers.launchpad.net/yade/+question/440408 Status: Open => Answered Luc Scholtès proposed the following answer: Hi Alma, If you add 'jcfpm' in the VTKRecorder's recorders options (VTKRecorder(option1, option2, ..., recorders=['jcfpm'], optionn, ...), you should be able to see the interactions wireframe in Paraview and then to select the isCohesive attribute to discriminate between cohesive (1) and non cohesive (0) contacts. -- You received this question notification because your team yade-users is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
[Yade-users] [Question #464303]: update BC in flowEngine
New question #464303 on Yade: https://answers.launchpad.net/yade/+question/464303 Hello guys, I am currently using flowEngine to compute permeability of samples subjected to compressive loading. I would like to compute permeabilities along the 3 directions at different stages of the loading. The problem is that when I change the flow boundary conditions to change the direction of the flow, it seems that there is some sort of influence of the previous calculation on the pressure field and the permeability measurements are thus wrong (the inlet and outlet fluxes are not equal in the second calculation). This is how I do it: print 'Flow along X!' flow.bndCondIsPressure = [1,1,0,0,0,0] flow.bndCondValue = [1,0,0,0,0,0] O.step() Qin = flow.getBoundaryFlux(0) Qout = flow.getBoundaryFlux(1) permeability = abs(Qout)*flow.viscosity*X/(Y*Z) # k=Q*nu*Length/(Area*(Pout-Pin)) print "Qin=",Qin," Qout=",Qout," ARE THEY EQUAL? IF NOT-> NO FLOW!" print "Permeability [m2]=",permeability print 'Flow along Y!' flow.bndCondIsPressure = [0,0,1,1,0,0] flow.bndCondValue = [0,0,1,0,0,0] flow.updateBCs() O.step() Qout = flow.getBoundaryFlux(3) permeability = abs(Qout)*flow.viscosity*Y/(X*Z) # k=Q*nu*Length/(Area*(Pout-Pin)) print "Qin=",Qin," Qout=",Qout," ARE THEY EQUAL? IF NOT-> NO FLOW!" print "Permeability [m2]=",permeability What do I need to add in order to update the flow boundary conditions correctly? Thanks Luc -- You received this question notification because your team yade-users is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #465653]: export dissipated energy in a vtk files
Question #465653 on Yade changed: https://answers.launchpad.net/yade/+question/465653 Status: Open => Answered Luc Scholtès proposed the following answer: Hello Jabrane, You just have to add a column in the crack file that is generated from the simulation (the one where are defined their position, type, time of occurrence, etc... in JCFPM source files) and then to add an attribute in the dedicated VTK recorder (VtkRecorder source files). I did it already but I guess I did not commit my changes. I'll do it asap but I have to say that the results might be disappointing as cracks of similar origin (tensile or shear) are usually associated to similar energy values and finally it is generally more pertinent to visualise their type (tensile of shear). Luc -- You received this question notification because your team yade-users is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #464303]: update BC in flowEngine
Question #464303 on Yade changed: https://answers.launchpad.net/yade/+question/464303 Luc Scholtès confirmed that the question is solved: Thanks Bruno Chareyre, that solved my question. -- You received this question notification because your team yade-users is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #464303]: update BC in flowEngine
Question #464303 on Yade changed: https://answers.launchpad.net/yade/+question/464303 Status: Answered => Solved Luc Scholtès confirmed that the question is solved: Many thanks Bruno. -- You received this question notification because your team yade-users is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #515400]: Introduction of defects
Question #515400 on Yade changed: https://answers.launchpad.net/yade/+question/515400 Luc Scholtès posted a new comment: Hi, If you want to include actual material defects such as weakness planes, have a look at the JCFPM class which was designed to take into account fracture networks into the modelling or rock masses. It could be also used at a smaller scale to include micro-defects such as cracks, bedding planes or schistosity. Luc -- You received this question notification because your team yade-users is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #432617]: How to plot damage ratio curve
Question #432617 on Yade changed: https://answers.launchpad.net/yade/+question/432617 Status: Open => Answered Luc Scholtès proposed the following answer: Apparently, you divide something by zero... Did you check the value of sumCohBonds by printing it before using it in your function damageRatio? Type print sumCohBonds just after its calculation in your script and you should see its value in the terminal. Actually, did you compute it at iteration 0 of your simulation or at iteration 1? I guess it is null at iteration 0 since the contacts haven't been looped over yet. Try O.step() just before computing sumCohBonds and let me know. Luc -- You received this question notification because your team yade-users is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #549040]: Poison coefficient calibration
Question #549040 on Yade changed: https://answers.launchpad.net/yade/+question/549040 Luc Scholtès proposed the following answer: The problem is that modifying this ratio will cause modification of other macromechanical properties such as the strength... it might be a non solvable problem in the end and this is actually a limitation of the model that you use (JCFPM), but you have to make some compromises at some point (like in any other modelling approaches). Another thing: how is the lateral strain measured in your numerical experiment? Is it a local measurement like in real experiments (strain gauges) or is it through the displacement of the boundary walls? That would actually be interesting to compare these two scales to make sure you compare things that are comaprable. Luc -- You received this question notification because your team yade-users is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #556907]: Apply cohesive interaction on JCFpmMat
Question #556907 on Yade changed: https://answers.launchpad.net/yade/+question/556907 Status: Open => Answered Luc Scholtès proposed the following answer: Hi, Yes, there is an easier way. Juste define the material parameters in such lines: def sphereMat(): return JCFpmMat(type=1,density=DENS,young=YOUNG,poisson = ALPHA,frictionAngle=radians(FRICT),tensileStrength=TENS,cohesion=COH) def wallMat(): return JCFpmMat(type=0,density=DENS,young=YOUNG,frictionAngle=radians(0)) Second, make sure that you have these lines in your engines list: ... InsertionSortCollider([Bo1_Box_Aabb(),Bo1_Sphere_Aabb(aabbEnlargeFactor=intR,label='Saabb')]), InteractionLoop( [Ig2_Sphere_Sphere_ScGeom(interactionDetectionFactor=intR,label='SSgeom'),Ig2_Box_Sphere_ScGeom()], [Ip2_JCFpmMat_JCFpmMat_JCFpmPhys(cohesiveTresholdIteration=1,label='interactionPhys')], [Law2_ScGeom_JCFpmPhys_JointedCohesiveFrictionalPM(recordCracks=True,Key=OUT,label='interactionLaw')] ), ... with intR a value that you previously determined to ensure a coordination number K equal to the value you want for the packing you use (K=10 for sandstone). Then, the key parameter is: cohesiveTresholdIteration which defines the iteration up to which you want to create bonds between particles (the first one here). Thus, just by runnning O.step() the bonds will be created. After, you may want to reset the interaction radius to 1 by typing SSgeom.interactionDetectionFactor=-1. Saabb.aabbEnlargeFactor=-1. You can check that the coordination number K corresponds to the one you want by: numSSlinks=0 numCohesivelinks=0 for i in O.interactions: if isinstance(O.bodies[i.id1].shape,Sphere) and isinstance(O.bodies[i.id2].shape,Sphere): numSSlinks+=1 if i.phys.isCohesive : numCohesivelinks+=1 print "| K=", 2.0*numCohesivelinks/numSpheres and then run your simulation (triaxial loading). Luc -- You received this question notification because your team yade-users is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #556907]: Apply cohesive interaction on JCFpmMat
Question #556907 on Yade changed: https://answers.launchpad.net/yade/+question/556907 Status: Open => Answered Luc Scholtès proposed the following answer: I guess that using the labels, you can get what you want. Here is a suggestion that actually I never used myself since I prepare my dense samples with a dedicated separate script (I then import these dense samples directly in my simulations, e.g. for triaxial deviatoric testing): For the isotropic compaction phase, define default values in engines such as interactions take place between strictly contacting particles ( aabbEnlargeFactor=1, interactionDetectionFactor=1) and particles interact without cohesion (cohesiveTresholdIteration=0). Then, when the confined state is reached (I guess you have a test for checking that), just use one step where you define the bonds at the right interaction range with the labels: SSgeom.interactionDetectionFactor=intR Saabb.aabbEnlargeFactor=intR interactionPhys.cohesiveTresholdIteration=O.iter+1 O.step() Then initialize the interaction range (if you want): SSgeom.interactionDetectionFactor=-1. Saabb.aabbEnlargeFactor=-1. Then run the deviatoric phase. Let me know if it solves your problem. Luc -- You received this question notification because your team yade-users is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #432617]: How to plot damage ratio curve
Question #432617 on Yade changed: https://answers.launchpad.net/yade/+question/432617 Status: Open => Answered Luc Scholtès proposed the following answer: Hum... A stupid question but do you initialize numBroCohBonds to zero each time you compute it? What happens if you include a print numBroCohBonds inside your function, just before the loop? Also, you may need to define numBroCohBonds as a global variable in your function (just add global numBroCohBonds just before the loop). If this does not work, I could probably have a look at your script to investigate your issue more precisely. Luc -- You received this question notification because your team yade-users is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #556907]: Apply cohesive interaction on JCFpmMat
Question #556907 on Yade changed: https://answers.launchpad.net/yade/+question/556907 Status: Open => Answered Luc Scholtès proposed the following answer: Sorry Weijy but I got a bit lost... It should not be so difficult to make this work. Could you please send a working script so that I can have a look? Luc ps: Robert, the neverErase flag was introduced for using the DFNFlow engine and keep record of broken interactions when simulating hydraulic fracturing. Your question might need a dedicated thread. -- You received this question notification because your team yade-users is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #562184]: I want to know the the proper constitute law for rock
Question #562184 on Yade changed: https://answers.launchpad.net/yade/+question/562184 Status: Open => Answered Luc Scholtès proposed the following answer: Hi, Have a look at the JCFPM class which has been used for modelling of rock like materials: See for instance: - http://www.sciencedirect.com/science/article/pii/S1365160912000391 - http://www.sciencedirect.com/science/article/pii/S0022509612002268 - http://www.sciencedirect.com/science/article/pii/S0013794415007225 Luc -- You received this question notification because your team yade-users is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #556907]: Apply cohesive interaction on JCFpmMat
Question #556907 on Yade changed: https://answers.launchpad.net/yade/+question/556907 Luc Scholtès proposed the following answer: Hi Weijy, Sorry for not working directly on your script but I found it easier to actually send you a script that I used to obtain the results presented in the paper you mentioned in your first post. As I told you, I usually work with predefined dense packings (I use a dedicated script for that). First because I generate them using the same procedure and make thus sure they have similar statistical properties (important for the near neighbour intR feature). Second because when I run several triaxial tests, I prefer to use always the same packing whatever the confining stress to avoid any bias related to the packing. Please find below the script (you'll have to adjust the intR parameter to the packing, I just defined a default value here). I hope it will help you to get what you want. Luc --- from yade import ymport, utils , plot # DEFINITION OF SIMULATION'S PARAMETERS packing (previously constructed) PACKING='121_1k.spheres' Boundary Conditions confinement=-1e6 strainRate=-0.02 name of output files OUT=PACKING+'_1MPa_r0.02' Simulation Control saveData=10 # data record interval iterMax=5 # maximum number of iterations saveVTK=iterMax/5 # Vtk files record interval Material microproperties -> Lac du Bonnet granite (cf. A DEM model for soft and hard rock, Scholtes & Donze, JMPS 2013) intR=1.5 # allows near neighbour interaction and defines coordination number K=13 (needs to be adjusted for every packing -> preprocessing needed) DENS=4000 # could be adapted to match material density: dens_DEM=dens_rock*(V_rock/V_particles)=dens_rock*1/(1-poro_DEM) -> poro? YOUNG=68e9 FRICT=10 ALPHA=0.4 TENS=8e6 COH=160e6 material definition def sphereMat(): return JCFpmMat(type=1,density=DENS,young=YOUNG,poisson = ALPHA,frictionAngle=radians(FRICT),tensileStrength=TENS,cohesion=COH) def wallMat(): return JCFpmMat(type=0,density=DENS,young=YOUNG,frictionAngle=radians(0)) preprocessing to get dimensions O.bodies.append(ymport.text(PACKING,scale=1.,shift=Vector3(0,0,0),material=sphereMat)) dim=utils.aabbExtrema() xinf=dim[0][0] xsup=dim[1][0] X=xsup-xinf yinf=dim[0][1] ysup=dim[1][1] Y=ysup-yinf zinf=dim[0][2] zsup=dim[1][2] Z=zsup-zinf R=0 Rmax=0 numSpheres=0. for o in O.bodies: if isinstance(o.shape,Sphere): numSpheres+=1 R+=o.shape.radius Rmean=R/numSpheres IMPORTANT LINE HERE O.reset() # all previous lines were for getting dimensions of the packing to create walls at the right positions (below) because walls have to be genrated after spheres for FlowEngine now we construct the scene with right dimensions (because walls have to be imported before spheres for certain engines) ### walls mn,mx=Vector3(xinf+0.1*Rmean,yinf+0.1*Rmean,zinf+0.1*Rmean),Vector3(xsup-0.1*Rmean,ysup-0.1*Rmean,zsup-0.1*Rmean) walls=utils.aabbWalls(oversizeFactor=1.5,extrema=(mn,mx),thickness=min(X,Y,Z)/100.,material=wallMat) wallIds=O.bodies.append(walls) ### packing O.bodies.append(ymport.text(PACKING,scale=1.,shift=Vector3(0,0,0),material=sphereMat)) # ENGINES ARE DEFINED HERE triaxial Engine triax=TriaxialStressController( internalCompaction=False ) simulation is defined here (DEM loop, interaction law, servo control, recording, etc...) O.engines=[ ForceResetter(), InsertionSortCollider([Bo1_Box_Aabb(),Bo1_Sphere_Aabb(aabbEnlargeFactor=intR,label='Saabb')]), InteractionLoop( [Ig2_Sphere_Sphere_ScGeom(interactionDetectionFactor=intR,label='SSgeom'),Ig2_Box_Sphere_ScGeom()], [Ip2_JCFpmMat_JCFpmMat_JCFpmPhys(cohesiveTresholdIteration=1,label='interactionPhys')], [Law2_ScGeom_JCFpmPhys_JointedCohesiveFrictionalPM(recordCracks=True,Key=OUT,label='interactionLaw')] ), triax, GlobalStiffnessTimeStepper(active=1,timeStepUpdateInterval=10,timestepSafetyCoefficient=0.5,defaultDt=0.1*utils.PWaveTimeStep()), NewtonIntegrator(damping=0.5,label="newton"), PyRunner(iterPeriod=int(saveData),initRun=True,command='recorder()',label='data'), VTKRecorder(iterPeriod=int(saveVTK),initRun=True,fileName=OUT+'-',recorders=['spheres','jcfpm','cracks'],Key=OUT,label='vtk') ] custom recording functions tensCks=shearCks=0 e10=e20=e30=0 def recorder(): global tensCks,shearCks,e10,e20,e30 tensCks=0 shearCks=0 for o in O.bodies: tensCks+=o.state.tensBreak shearCks+=o.state.shearBreak yade.plot.addData( t=O.time ,i=O.iter ,e1=triax.strain[0]-e10 ,e2=triax.strain[1]-e20 ,e3=triax.strain[2]-e30
Re: [Yade-users] [Question #575488]: Unexpected unbalancedForce when loading jcfpmMat sphere from txt file
Question #575488 on Yade changed: https://answers.launchpad.net/yade/+question/575488 Status: Open => Answered Luc Scholtès proposed the following answer: Hi Weijy, Sorry but I get a bit confused. You create an assembly by running an internal compaction and write it in a text file. This text file contains positions of spheres and radii of a (hopefully) dense sample. OK Then, you load this dense sample in your simulation and run once again an internal compaction (stressMask = 7,internalCompaction = True)... What is it that you want to achieve? If you want to simulate a triaxial loading on this dense sample, just load it, create the cohesive bonds between particles, apply the confining pressure through the displacement of the boundary walls and then the deviatoric loading (cf. the script I sent you). Actually, you can create a dense sample using any other contact laws (you can even do it through the interface using the triaxial compression test which will create a packing of spheres and write it in a text file in the working folder at the end of the hydrostatic loading. For you question: "Material and size of the spheres& walls are the same. Why should this happened when I reload the state from the txt file?" It is normal since you load a packing that does not contain any information related to its mechanical state (the text file only contains the particles positions and radii). If you want to launch the simulation (packing+mechanical state), you have to use O.save() and then O.load(). Luc -- You received this question notification because your team yade-users is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #611087]: I got a wrong damage ratio
Question #611087 on Yade changed: https://answers.launchpad.net/yade/+question/611087 Status: Open => Answered Luc Scholtès proposed the following answer: I see 2 potential problematic reasons why you get your damage ration >1: 1) you don't use the same condition for checking the nb of cohesive contacts at initialization and during the simulation -> Why? initialization: if b.phys.cohesionBroken==True: continue sumCohBonds+=1 during simulation: if br.phys.cohesionBroken==False: continue numBroCohBonds+=1 -- You received this question notification because your team yade-users is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #611087]: I got a wrong damage ratio
Question #611087 on Yade changed: https://answers.launchpad.net/yade/+question/611087 Luc Scholtès proposed the following answer: Sorry, for wrong use of keyboard shortcut... I try another time here: I see 2 potential reasons why you get your damage ratio >1: 1) you don't use the same condition for checking the nb of cohesive contacts at initialization and during the simulation: initialization: if cohesionBroken==True: continue sumCohBonds+=1 during simulation: if cohesionBroken==False: continue numBroCohBonds+=1 Why don't you use the same condition for both cases? 2) the test you use during the simulation might cause problem because you sum over interactions and look for those with cohesionBroken==True and this paramater is set to true by default, even for frictional interactions (if I understood correctly). Doing so, the newly created interactions are counted as being broken despite the fact that they appeared as a result of the interaction of particles after breakage of you specimen. For me, the solution would be to use the same condition for each case: if cohesionBroken==False: numCohBonds+=1 and to define InitialNumCohBonds in the initial loop and currentNumCohBonds in the current loop so that the damage ratio would be: damageRatio=currentNumCohBonds/initialNumCohBonds If, after that, you still have a damage ratio > 1, there might be a problem somewhere else... For instance, I have never used this contact law before but are you sure about the way you use the setCohesionNow flag? In your case, you define it equal to true in the engine list -> Does it mean that it will be always true or just for the first iteration of your simulation? From my understanding, the way you define it makes it true for all the duration of the simulation hence, you create cohesive contacts every time particles come into contact hence, your damage ratio > 1. -- You received this question notification because your team yade-users is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
[Yade-users] [Question #626563]: ubuntu 16.04: Missing dependency for LINSOLV
New question #626563 on Yade: https://answers.launchpad.net/yade/+question/626563 Hi there, I tried to make a fresh install of yade source code on Ubuntu 16.04 and faced a problem related to Metis. Here is what I get when doing sudo apt-get install libsuitesparse-metis-dev: Package 'libsuitesparse-metis-dev' has no installation candidate This may mean that the package is missing, has been obsoleted, or is only available from another source However the following packages replace it: libsuitesparse-dev:i386 libsuitesparse-dev As suggested, I installed libsuitesparse-dev but, when doing cmake -DCMAKE_INSTALL_PREFIX=../install ../trunk, here is what I get: -- Could NOT find Metis (missing: METIS_INCLUDE_DIR METIS_LIBRARY) -- Missing dependency for LINSOLV, disabled -- Disabled features: LINSOLV SPH LIQMIGRATION MASK_ARBITRARY PROFILING PotentialParticles PotentialBlocks I also faced other problems during the installation process (The repository 'http://ppa.launchpad.net/yade-users/external/ubuntu xenial Release' does not have a Release file when adding yade ppa and The imported target "vtkRenderingPythonTkWidgets" references the file "/usr/lib/x86_64-linux-gnu/libvtkRenderingPythonTkWidgets.so" but this file does not exist when cmake) but I could install YADE anyway. At the end of the day, Yade is running well but I cannot benefit from LINSOLV and it is very annoying since I'd like to work with PFVFLOW. Any suggestion? Is there anybody else working with Ubuntu 16.04 facing the same problem? Cheers Luc You received this question notification because your team yade-users is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp