Re: [Yade-users] [Question #295745]: Do bending or twisting moment contribute to cohesive bond breakage ?
Question #295745 on Yade changed: https://answers.launchpad.net/yade/+question/295745 Status: Answered => Solved VG 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 #295745]: Do bending or twisting moment contribute to cohesive bond breakage ?
Question #295745 on Yade changed: https://answers.launchpad.net/yade/+question/295745 VG posted a new comment: Once again, Thanks for your response Bruno! I am sorry to bother you further on this question. I am just trying to have a better understanding of what I am using in Yade. In your last post, I assume you meant maxFs. So just to clarify, in traction, does it mean that if the magnitude of shearAdhesion = magnitude of (Fn*FrictionCoefficient), maxFs will be equal to zero ? -- 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 #295745]: Do bending or twisting moment contribute to cohesive bond breakage ?
Question #295745 on Yade changed: https://answers.launchpad.net/yade/+question/295745 VG posted a new comment: Hello Bruno, Thanks for your response. So in the current implementation, the bending moment and twisting moment act on the particle but do not contribute to the breakage of bonds in any way. >when the contact is in tension, i.e. Fn < 0 , does the equation above actually >reduce the value of maxFs ? >>Yes indeed, if cohesion and friction are combined this is what happens I am still confused about the second question. I understand that when the two particles are slightly overlapping, i.e. in compression, maxFs = shearAdhesion + Maximum friction force. In other words, the shear force is carried by these two different components. However, when the contact is in tension, particles are not in touch and the friction shouldn't act. In that case, why should friction interfere in the value of maxFs ? Shouldn't maxFs simply be equal to shearAdhesion ? Thanks Varun -- 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 #295745]: Do bending or twisting moment contribute to cohesive bond breakage ?
New question #295745 on Yade: https://answers.launchpad.net/yade/+question/295745 Hello, I am using Law2_ScGeom6D_CohFrictPhys_CohesionMoment with momentRotationLaw=True; also the default behavior: fragile=True. For the breakage of the cohesive bond, from what I see in CohesiveFrictionalContactLaw.cpp, there are two conditions: (i) (-Fn) > (phys->normalAdhesion) (ii) (Fs) > (phys->shearAdhesion + Fn*phys->tangensOfFrictionAngle) The above equations can simply be interpreted as that when the "Force" (LHS) > "Strength" (RHS), the bond breaks. My question is: Do the bending and twisting moment not contribute to the "Force" (LHS) or in other words to the breakage of cohesive bond ? I am thinking on the lines of Eq 16 of "A bonded-particle model for rock" D.O. Potyondya, P.A. Cundall http://mech.spbstu.ru/images/b/bd/Potyondy_Cundall_2004_A_bonded-particle_model_for_rock.pdf Also, something which is not very clear to me in implementation on line 144 of CohesiveFrictionalContactLaw.cpp maxFs += Fn*phys->tangensOfFrictionAngle; when the contact is in tension, i.e. Fn < 0 , does the equation above actually reduce the value of maxFs ? Thanks Varun -- 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 #293295]: Want to connect all the particles in an aggregate using cohesive bond
Question #293295 on Yade changed: https://answers.launchpad.net/yade/+question/293295 VG posted a new comment: Regarding the above solution, it should be i.phys.unp = i.geom.penetrationDepth instead of i.phys.unp = 0 #to make it initially force free -- 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 #295035]: Use of i.phys.unp to get null forces initially
Question #295035 on Yade changed: https://answers.launchpad.net/yade/+question/295035 Status: Answered => Solved VG confirmed that the question is solved: Thanks Bruno, I will also post a comment in the other post if someone else follows this. -- 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 #295035]: Use of i.phys.unp to get null forces initially
Question #295035 on Yade changed: https://answers.launchpad.net/yade/+question/295035 VG posted a new comment: Thanks Jerome, that makes sense. @Bruno, > Certainly not. Why would it be "more accurate"?! Sorry for the confusion. What I meant was that if we don't change the value of unp back to zero, then the contact force would be offset by kn*unp even in the subsequent iterations. I did some testing on a simple 2-sphere problem, to better understand the role of this parameter. Following are my take-away. Please correct me if I am wrong. 1. unp simply corresponds to the equilibrium distance between the two spheres, which by default is zero. Or in other words, by default the equilibrium distance between the centers of two spheres is r1 + r2, but it can be modified using this parameter unp. 2. During tensile contact, the penetrationDepth is negative and unp essentially means the same thing in tensile contact as it does in a compressive contact. So, in the third last post here: https://answers.launchpad.net/yade/+question/293295 it should be i.phys.unp = i.geom.penetrationDepth instead of i.phys.unp = 0 #to make the cohesive interaction initially force free even in the tensile regime. Thanks Varun -- 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 #295035]: Use of i.phys.unp to get null forces initially
Question #295035 on Yade changed: https://answers.launchpad.net/yade/+question/295035 VG posted a new comment: Thanks for your response, Jerome! If I understood it correctly, in compressive situations, if I don't change the unp value a second time, the normal force would be given by kn*(un-penetrationDepth). So should unp be changed after few iterations, to get more accurate normal contact force between the spheres ? I did not quite understand the last part: "unp might evolve without any user's action in situations related to tensile regime only (provided your simulation allows tensile loadings at the contact scale, and you're using fragile = false)" I am using cohesive law and as far as I know, by default fragile = True. -- 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 #295035]: Use of i.phys.unp to get null forces initially
Question #295035 on Yade changed: https://answers.launchpad.net/yade/+question/295035 VG posted a new comment: Hello Bruno, Thanks for your response. That clears my first question. For the second question, I meant to ask that for subsequent iterations, whether this value of unp stay as penetrationDepth or does it get reset to zero ? Thanks -- You received this question notification because your team yade-users is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
[Yade-users] [Question #295035]: Use of i.phys.unp to get null forces initially
New question #295035 on Yade: https://answers.launchpad.net/yade/+question/295035 Hello all, Based on the discussion here: https://answers.launchpad.net/yade/+question/257058 I am using: for i in O.interactions: i.phys.unp = i.geom.penetrationDepth to nullify the initial contact forces and running it for one iteration. This is done so that the cohesive bonds between the particles do not break because of the initial geometrical overlaps. 1.) What exactly is unp - Is there any reference that I can look into. 2.) Also, I don't quite understand if there is any impact of above in subsequent iterations ? Does it lead to any inaccuracies ? Thanks Varun -- 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 #293955]: How to generate dense packing of aggregates
Question #293955 on Yade changed: https://answers.launchpad.net/yade/+question/293955 Status: Open => Solved VG confirmed that the question is solved: Thanks Jan Stránský, 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
[Yade-users] [Question #294792]: Stable and Dense Packing using TriaxialStressController
New question #294792 on Yade: https://answers.launchpad.net/yade/+question/294792 Hello everyone, I am trying to generate a packing of agglomerates which should be both dense and stable. I am using the procedure described here: https://github.com/yade/trunk/tree/master/examples/agglomerate The packing generated using TriaxialStressController in compress.py is not stable in the presence of gravity. In other words, when I load this packing in simulation.py and run the simulation only with gravitational forces, the particles move quite a bit. Is there a way to make this packing also stable in the presence of gravity ? I am trying to follow the solution proposed by Bruno here, but not quite sure how it works: https://answers.launchpad.net/yade/+question/263739 In this case, should I just run it first for few iterations with gravity and no triax.goal and then set the triax.goal as suggested. Also, in the compress.py, is it not necessary to get unbalancedForce() below some threshold value ? I tried to put a threshold, but with the given parameters of triax.goal = -1e-5, the unbalancedForce() does not come down. However, if I use, triax.goal = -1, then it comes down below 0.01 within few iterations. Thanks Varun -- 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 #293955]: How to generate dense packing of aggregates
Question #293955 on Yade changed: https://answers.launchpad.net/yade/+question/293955 VG posted a new comment: Sure, Thanks Bruno. I have posted a new question for this packing related issue: https://answers.launchpad.net/yade/+question/294792 -- 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 #293955]: How to generate dense packing of aggregates
Question #293955 on Yade changed: https://answers.launchpad.net/yade/+question/293955 Status: Answered => Open VG is still having a problem: Hello everyone, I have another follow up question: The packing generated using TriaxialStressController in compress.py (https://github.com/yade/trunk/tree/master/examples/agglomerate) is not stable in the presence of gravity. In other words, when I load this packing in simulation.py and run the simulation only with gravitational forces, the particles move quite a bit. Is there a way to make this packing also stable in the presence of gravity. I am trying to follow the solution proposed by Bruno here, but not quite sure how it works: https://answers.launchpad.net/yade/+question/263739 In this case, should I just run it first for few iterations with gravity and then set the triax.goal as suggested. Also, in the compress.py, is it not necessary to get unbalancedForce() below some threshold value ? I tried to put a threshold, but with the given parameters of triax.goal = -1e-5, the unbalancedForce() does not come down. However, if I use, triax.goal = -1, then it comes down below 0.01 within few iterations. Thanks Varun -- 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 #293955]: How to generate dense packing of aggregates
Question #293955 on Yade changed: https://answers.launchpad.net/yade/+question/293955 VG posted a new comment: Thanks a lot, Jan! A combination of unloading the sample in compress.py and the use of following in main simulation gets the desired packing and initial conditions: for b in O.bodies: if not isinstance(b.shape,Sphere): continue b.dynamic = False O.step() for i in O.interactions: i.phys.unp = i.geom.penetrationDepth for b in O.bodies: if not isinstance(b.shape,Sphere): continue b.dynamic = True -- 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 #293955]: How to generate dense packing of aggregates
Question #293955 on Yade changed: https://answers.launchpad.net/yade/+question/293955 Status: Answered => Open VG is still having a problem: Thanks a lot Jan, that did the trick! I am facing another challenge with the dense packing generated this way. When I use this packing in the main simulation, lot of cohesive bonds break even before I apply the actual loading. This is mostly because the initial packing has overlaps and is not stress-free. Now, I can think of two possible solutions to this: 1. The solution proposed by Luc Scholtest in #6 at https://answers.dogfood.paddev.net/yade/+question/164575 , i.e changing the interaction law such that the initial overlapping is utilized as equilibrium distance to compute the normal force Fn=k*(D-Deq). I tried to look into Yade documentation but I couldn't find much on this and how I can go about doing this. 2. In compress.py, after compressing the sample by compressor.goal1 = compressor.goal2 = compressor.goal3 = -1e-7 O.run(5,True) compressor.goal1 = compressor.goal2 = compressor.goal3 = -1e-5 O.run(3,True) May be uncompress the sample by compressor.goal1 = compressor.goal2 = compressor.goal3 = 1e-5 O.run(5, True) The second solution above would again make the packing loose, defeating the purpose. So really, if there is a possibility of somehow using the first solution above. Or if anyone can please provide some other suggestion ? Thanks Varun -- 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 #293955]: How to generate dense packing of aggregates
Question #293955 on Yade changed: https://answers.launchpad.net/yade/+question/293955 VG posted a new comment: Thanks Jan! So after using TriaxialStressController in compress.py, I get the position of the walls by using O.bodies[].state.pos. This gives me the dimension and location of the granular sample. For example, starting from an initial dimension of (15,15,15), I get to the following locations for the walls: 0 -> Vector3(1.9603017656924078,7.5,7.5) 1 -> Vector3(13.213873202175382,7.5,7.5) 2 -> Vector3(7.5,1.0408600478483976,7.5) 3 -> Vector3(7.5,12.620020625453774,7.5) 4 -> Vector3(7.5,7.5,2.0193261962347355) 5 -> Vector3(7.5,7.5,13.575093096100462) Now, I am trying to use this information in simulation.py to define the size of the periodic cell and also to translate the granular sample so that it lies perfectly within the periodic cell. For translation, I was trying to use for s in sp: s.state.pos[0] = s.state.pos[0] - 1.9603017657 s.state.pos[1] = s.state.pos[1] - 1.04086 s.state.pos[2] = s.state.pos[2] - 2.01932 which doesn't work. Then, I noticed from the Yade user manual that there is a function translate((Vector3)arg2) which translate all spheres by given vector. I tried using it as: sp.translate(-1.96030,-1.04086,-2.01932) but this gives me the error: AttributeError: 'list' object has no attribute 'translate'. Mostly, I am using it wrong. Could you please point me to the correct usage ? Thanks Varun -- 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 #293955]: How to generate dense packing of aggregates
Question #293955 on Yade changed: https://answers.launchpad.net/yade/+question/293955 VG posted a new comment: Hello Jan, I have a follow-up question: I modified the compress.py script a little bit to generate a periodic packing. Now, how do I use this compressed packing in my main periodic simulation (MWE posted in #1 above) ? The specific problems are: 1. How to get the size of periodic cell for main simulation, since the compressed sample is going to be of smaller dimensions. 2. How to fit the sample exactly in the periodic cell of main simulation, since the locations are going to be different ? 3. I want periodicity in x and z directions, but I am using top and bottom boxes in the vertical direction to restrict periodicity in y direction. I need to place these plates such that they precisely fit the periodic cell in x & z direction, and contain the granular sample in y-direction. Now, if I get the solution to above two, that should be doable. Just in case, here is the modified script of compress.py: ## # Compress the loose packing into dense packing. Each agglomerate is # considered as clump in this stage ## from yade import export,ymport import random random.seed(1) O.periodic = True # add walls first dim = (15,15,15) #walls = aabbWalls(((0,0,0),(dim))) #wallIds = O.bodies.append(walls) # load spheres from file, including information of their agglomerates ids sp = ymport.textExt('./cloud.txt') for s in sp: O.bodies.append(s) O.cell.setBox(dim) O.engines = [ ForceResetter(), InsertionSortCollider([Bo1_Sphere_Aabb(),Bo1_Box_Aabb()], allowBiggerThanPeriod=True), InteractionLoop( [Ig2_Sphere_Sphere_ScGeom(),Ig2_Box_Sphere_ScGeom()], [Ip2_FrictMat_FrictMat_FrictPhys()], [Law2_ScGeom_FrictPhys_CundallStrack()] ), PeriIsoCompressor( charLen = 2., stresses=[-100e5,-1e4], maxUnbalanced=1e-2, doneHook= 'O.pause();', globalUpdateInt=5,keepProportions=True), NewtonIntegrator(damping=.6), ] O.dt = PWaveTimeStep() # compress the sample O.run() O.wait() # save the result export.textExt('./compressed.txt') try: from yade import qt qt.View() except: pass Thanks Varun -- 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 #293955]: How to generate dense packing of aggregates
Question #293955 on Yade changed: https://answers.launchpad.net/yade/+question/293955 VG posted a new comment: That's awesomeThanks Jan! -- 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 #293955]: How to generate dense packing of aggregates
Question #293955 on Yade changed: https://answers.launchpad.net/yade/+question/293955 Status: Answered => Open VG is still having a problem: >yes, with dense pack you would have this problem by default.. You have to > use some other trick :-) As there has been a couple of questions on this > topic, I will prepare an example script on this.. will inform you. Thanks Jan, I will be looking forward to this solution. Regards Varun -- 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 #293955]: How to generate dense packing of aggregates
Question #293955 on Yade changed: https://answers.launchpad.net/yade/+question/293955 Status: Answered => Open VG is still having a problem: Hi Jan, Thanks a lot for your response. I will study this more and try to figure out how I can set up my simulation this way. Are there any example scripts which I can look at, that use this kind of arrangement - i.e. generate the sample in one simulation and then use that to run the main simulation. If I understand this procedure correctly, then there might be a problem described as follows: if I generate a dense packing using this procedure, aggregates will be closely packed and the particles from different aggregates will come in contact. Then, the automated way of setting cohesive bonds will lead to cohesive bonds between particles of two different aggregates as well. In my current setting (in MWE), the aggregates are initially far enough that there is no cohesive bond formation between particles of different aggregates when I run it for one step. After running it for one step, then the aggregates come close together due to application of loading but no new cohesive bond formation takes place. So I am essentially able to achieve the setting I want, except that the overall packing is not dense. Now, is there a possibility of doing something like: 1. Do the steps I am doing right now in MWE, run it for one step to establish the desired cohesive bonds. Set the cohesive bond strength very high initially, so that the cohesive bonds don't break when I run the PeriIsoCompressor engine in next step. 2. Run the PeriIsoCompressor engine upto the desired stress levels to obtain dense packing. It will lead to some reduced dimension of the periodic cell- I am not sure how to get those dimensions. 3. Somehow disable the PeriIsoCompressor engine. Add top and bottom plates to the scene based on the dimensions of the periodic cell. Reset the value of the cohesive bond strength to the original and more realistic value, like how it is being done in the current MWE script. 4. Then run the simulation in a regular way. I am not sure if these above steps are feasible. Also, due to my limited understanding of how the flow of engines work, I don't know exactly how to set up this procedure. -- 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 #293955]: How to generate dense packing of aggregates
Question #293955 on Yade changed: https://answers.launchpad.net/yade/+question/293955 Status: Answered => Open VG is still having a problem: Hello Jerome, Thanks for your response. By using the above MWE script, I am able to create the cohesive bonds the way I want which also required some tweaks. Now, the problem is that the final packing I get is not as dense or mechanically stable as I would prefer. So, its only the third step in my above post: "3) apply some compression to make the packing of aggregates denser", that I am not sure how to pursue. Also, once the granular sample is compressed, I would probably have to change the location and dimension of the plates I am using to apply loading to the sample. Is there a way to do that ? -- 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 #293955]: How to generate dense packing of aggregates
Question #293955 on Yade changed: https://answers.launchpad.net/yade/+question/293955 Status: Answered => Open VG is still having a problem: Hi Jerome, In my simulation, I am not using clumps because clump would have rigid aggregate of individual particles. Instead, the aggregates I am using in the simulation are essentially individual particles glued with cohesive bonds and the bonds can break depending on the load. In my understanding, the .spheres file exported after first simulation "generationProcedure.py would have information about all the sub-particles of the packing. So what I meant was that in "mainSimulation.py", if I try to assign cohesive bond using setCohesionNow = True, then sub-particles from different aggregates would also end up getting connected through cohesive bonds. However, I want that distinction between different aggregates such that I could have a dense packing of the aggregates but have cohesive bonds between particles lying within an aggregate only. Just to summarize, I think the initial set up of my problem should probably have the following three steps: 1) use makeCloud to create aggregates 2) use randomDensePack to divide each aggregate into a set of spherical particles (all connected by cohesive bonds) 3) apply some compression to make the packing of aggregates denser I already have the first two steps, but I am not sure how to incorporate step 3 in my simulation. -- 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 #293955]: How to generate dense packing of aggregates
Question #293955 on Yade changed: https://answers.launchpad.net/yade/+question/293955 Status: Answered => Open VG is still having a problem: Hello Jerome, Thanks for your reply. I had read about this approach in one of the previous questions, but the problem there is that I don't want any cohesive bond between sub- particles of different aggregates. So if I import a compacted packing of aggregates in my simulation, and then try to assign cohesive bond, it will lead to cohesive bond between sub-particles of different aggregates. So I am wondering if there is an alternate ? Regards Varun -- 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 #293955]: How to generate dense packing of aggregates
New question #293955 on Yade: https://answers.launchpad.net/yade/+question/293955 Hello everyone, I am generating a pack of spheres (lets call them aggregates), using makeCloud. Each of those spheres consists of a packing of smaller particles glued together using cohesive material model. I am using randomDensePack to generate this packing of particles within each sphere. Now, how can I get an overall dense and mechanically stable packing of this system ? Going through some previous questions, I understand that I might have to use some type of compaction or triaxial controller, but I am not sure how it will fit in the overall flow of my simulation. Here is my minimal working example script: from yade import pack # # Set up run # run_name="PeriodicCohesive_MWE" data_root_dir="." # # Materials # plate_material=FrictMat( young=200e9 ,poisson=0.3 ,density=8000 ,frictionAngle=radians(30) ,label='plate_mat') O.materials.append(plate_material) sample_material=CohFrictMat( young=4e9 ,poisson=0.25 ,density=1400 ,frictionAngle=radians(30) ,normalCohesion=1e8*1.2*1e10 ,shearCohesion=.4e8*1.2*1e10 ,momentRotationLaw=True ,label='sample_mat') O.materials.append(sample_material) # # Component dimensions and operating condition # # Coal dimension sample_diameter=0.825e-3 sample_radius=sample_diameter/2.0 # Sub-particle dimension particle_diameter=200.e-6 particle_radius=particle_diameter/2. # # grinding plate dimension # rotvel=2./3.*pi*(1.5+0.5)*.254 # # Periodic Geometry # # Set up periodic boundary conditions O.periodic=True xExt=7*sample_diameter yExt=5.*sample_diameter*2 #to block the periodicity in y direction zExt=xExt xLim=xExt yLim=yExt/4 zLim=zExt O.cell.hSize=Matrix3( xExt, 0, 0, 0, yExt, 0, 0, 0, zExt) length=xExt height=yExt width=zExt # Top and bottom plate thickness thickness=0.1*height # # Bottom # bottomBoxes = [] for ix in (0,1,2): for iz in (0,1,2): bottomBoxes.append(box( # create 3x3 boxes with 1/3 cell size center=(xExt/6.*(1+2*ix),yLim - thickness/2.0,zExt/6.*(1+2*iz)) ,extents=(xExt/6.,thickness/2.0,zExt/6.) ,wire=False ,material='plate_mat' )) bottom_id,bottom_ids = O.bodies.appendClumped(bottomBoxes) # bottom_id is the clump id, O.bodies[bottom_id].state.blockedDOFs='xyzXYZ' # # Particle Packing # min_corner= (0,yLim,0) max_corner= (xLim, yExt-yLim, zLim) sp=pack.SpherePack() sp.makeCloud( min_corner,max_corner, psdSizes = [500e-6,600e-6,700e-6,800e-6,1000e-6,1200e-6,1400e-6,], psdCumm=[0.0977,0.1,0.12,0.18,0.39,0.68,1.0], periodic=False, seed =1) print "Generated ",len(sp)," aggregates" ### # Sample ### for s in sp: sphere=pack.inSphere((s[0][0],s[0][1],s[0][2]),s[1]) sp1=pack.randomDensePack( sphere ,spheresInCell=5000 ,radius=particle_radius ,memoizeDb='/tmp/bigParticlesCache.sqlite' ,returnSpherePack=True ) sp1.toSimulation(material='sample_mat',color=(0.9,0.8,0.6)) print 'Generated ',len(sp1),' particles' Gl1_Sphere(stripes=True) # # Top # topBoxes = [] for ix in (0,1,2): for iz in (0,1,2): topBoxes.append(box( # create 3x3 boxes with 1/3 cell size center=(xExt/6.*(1+2*ix),yExt - yLim + thickness/2.0,zExt/6.*(1+2*iz)) ,extents=(xExt/6.,thickness/2.0,zExt/6.) ,wire=False ,material='plate_mat' )) top_id,top_ids = O.bodies.appendClumped(topBoxes) # top_id is the clump id, O.bodies[top_id].state.blockedDOFs='xzXYZ' one_ball_downforce= -15.0 # kg total O.forces.addF(top_id,(0,one_ball_downforce,0),permanent=True) # # Run the simulation # r_int = 1.1 # interaction radius itercheck=1 iterwrite=1 iterforceCheck = 10 iterStart=0 tStart=0. O.dt=0.5*PWaveTimeStep() O.engines=[ ForceResetter(), InsertionSortCollider([ Bo1_Sphere_Aabb(aabbEnlarge
Re: [Yade-users] [Question #293295]: Want to connect all the particles in an aggregate using cohesive bond
Question #293295 on Yade changed: https://answers.launchpad.net/yade/+question/293295 VG posted a new comment: Thanks Bruno, that solved the issue I was facing. Also, can you please recommend me a good reference for the CohFrictMat and cohesive model ? -- 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 #293295]: Want to connect all the particles in an aggregate using cohesive bond
Question #293295 on Yade changed: https://answers.launchpad.net/yade/+question/293295 Status: Answered => Solved VG 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 #293295]: Want to connect all the particles in an aggregate using cohesive bond
Question #293295 on Yade changed: https://answers.launchpad.net/yade/+question/293295 VG posted a new comment: Thanks Huanran, I will look into it further on the lines of what you suggested. -- 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 #293295]: Want to connect all the particles in an aggregate using cohesive bond
Question #293295 on Yade changed: https://answers.launchpad.net/yade/+question/293295 VG posted a new comment: Hello Huanran, Thanks for your response, that makes sense. So it seems like I can not reset the value of shearCohesion/normalCohesion for existing interactions created with higher initial values of these parameters. If I do another setCohesionNow with lower (original) values of cohesion parameters, then it would not lead to the correct number of cohesive interactions that I want. Also, I would prefer to keep the cohesion parameters at their original value after the initial interactions, since otherwise a different value will alter the breakage behavior. Thanks Varun -- 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 #293295]: Want to connect all the particles in an aggregate using cohesive bond
Question #293295 on Yade changed: https://answers.launchpad.net/yade/+question/293295 Status: Solved => Open VG is still having a problem: Thanks Jan! Thanks to Bruno, I actually found part of the solution here: https://answers.launchpad.net/yade/+question/256364 However, there is something additional described below which I am trying to find an answer for. There are two things which I am doing now in addition to the above script: 1. Using a value of 1.1 for aabbEnlargeFactor and interactionDetectionFactor for collision and interaction respectively. 2. Using very high normal and shear cohesion values in the first iteration: ~1e20 and then resetting these values to the original values. This results in the correct number of cohesive interactions in each aggregate. However, with the application of the load, these cohesive bonds don't seem to break anymore. I am using the commands in the following sequence: -- In the initial definition of material properties for sample material, set very high values of cohesion ~1e20 -- Run one iteration using O.step() -- Reset the value of cohesion parameters by: sample_material.normalCohesion = 1e8*1.2 sample_material.shearCohesion = 0.4*1e8*1.2 -- O.run() I also checked the value of sample_material.normalCohesion from command line interface, and it shows the correct value. Is there a problem in the sequence of commands ? I think I am pretty close to finding a solution but not there yet. May be when I am setting very high values of normal and shear cohesion initially, some parameters are calculated internally and those need to be reset as well after the first iteration ? 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 #293295]: Want to connect all the particles in an aggregate using cohesive bond
Question #293295 on Yade changed: https://answers.launchpad.net/yade/+question/293295 Status: Answered => Solved VG confirmed that the question is solved: Thanks Jan! Thanks to Bruno, I actually found part of the solution here: https://answers.launchpad.net/yade/+question/256364 However, there is something additional described below which I am trying to find an answer for. There are two things which I am doing now in addition to the above script: 1. Using a value of 1.1 for aabbEnlargeFactor and interactionDetectionFactor for collision and interaction respectively. 2. Using very high normal and shear cohesion values in the first iteration: ~1e20 and then resetting these values to the original values. This results in the correct number of cohesive interactions in each aggregate. However, with the application of the load, these cohesive bonds don't seem to break anymore. I am using the commands in the following sequence: -- In the initial definition of material properties for sample material, set very high values of cohesion ~1e20 -- Run one iteration by O.step() -- Reset the value of cohesion parameters by: sample_material.normalCohesion = 1e8*1.2 sample_material.shearCohesion = 0.4*1e8*1.2 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 #293295]: Want to connect all the particles in an aggregate using cohesive bond
New question #293295 on Yade: https://answers.launchpad.net/yade/+question/293295 Hello everyone, Here is a description of the problem I am trying to solve: -- I have a granular sample with spherical particles of diameters D1, D2, D3 etc. All of such big particles (lets call them agglomerates) are composed of smaller particles of diameter 'd', since d is the smallest particle size of interest. -- Initially, within each big spherical particle, all the smaller particles should be densely packed and connected with cohesive bonds (CohFrictMat). As the loading is applied, the initially defined cohesive bonds within each big sphere will break progressively leading to smaller fragments. Now, the problem I am facing: Initially, within a single big sphere itself, sometimes there are particles which are shown not to have any cohesive interaction, leaving the small individual particle free to fly. How can I alleviate this problem ? This is a follow-up question to https://answers.launchpad.net/yade/+question/292846 Here is the script: from yade import pack # # Set up run # run_name="PeriodicCohesive_MWE" data_root_dir="." # # Materials # plate_material=FrictMat( young=200e9 ,poisson=0.3 ,density=8000. ,frictionAngle=radians(30) ,label='plate_mat') O.materials.append(plate_material) sample_material=CohFrictMat( young=4e9 ,poisson=0.25 ,density=1400 ,frictionAngle=radians(30) ,normalCohesion=1e8*1.2 ,shearCohesion=.4e8*1.2 ,momentRotationLaw=True ,label='sample_mat') O.materials.append(sample_material) # # Component dimensions and operating condition # # Granular material dimension sample_diameter=2e-4 #sample_diameter=126e-6 sample_radius=sample_diameter/2.0 # Sub-particle dimension particle_diameter=74e-6 particle_radius=particle_diameter/2. # # grinding plate dimension # rotvel=2./3.*pi*(1.5+0.5)*.254 # # Periodic Geometry # # Set up periodic boundary conditions O.periodic=True xExt=4*sample_diameter yExt=3.*sample_diameter*2 #to block the periodicity in y direction zExt=xExt xLim=xExt yLim=yExt/4 zLim=zExt O.cell.hSize=Matrix3( xExt, 0, 0, 0, yExt, 0, 0, 0, zExt) length=xExt height=yExt width=zExt # Top and bottom plate thickness thickness=0.1*height bottomBoxes = [] for ix in (0,1,2): for iz in (0,1,2): bottomBoxes.append(box( # create 3x3 boxes with 1/3 cell size center=(xExt/6.*(1+2*ix),yLim - thickness/2.0,zExt/6.*(1+2*iz)) ,extents=(xExt/6.,thickness/2.0,zExt/6.) ,wire=False ,material='plate_mat' )) bottom_id,bottom_ids = O.bodies.appendClumped(bottomBoxes) # bottom_id is the clump id, O.bodies[bottom_id].state.blockedDOFs='xyzXYZ' # # Particle Packing # min_corner= (0,yLim,0) max_corner= (xLim, yExt-yLim, zLim) sp=pack.SpherePack() sp.makeCloud( min_corner,max_corner, rMean=sample_radius, periodic=False, seed=1) print "Generated ",len(sp)," aggregates" ### # Sample ### for s in sp: sphere=pack.inSphere((s[0][0],s[0][1],s[0][2]),s[1]) sp1=pack.randomDensePack( sphere ,spheresInCell=2000 ,radius=particle_radius ,memoizeDb='/tmp/triaxPackCache.sqlite' ,returnSpherePack=True ) sp1.toSimulation(material='sample_mat',color=(0.9,0.8,0.6)) print 'Generated ',len(sp1),' particles' Gl1_Sphere(stripes=True) # # Top # topBoxes = [] for ix in (0,1,2): for iz in (0,1,2): topBoxes.append(box( # create 3x3 boxes with 1/3 cell size center=(xExt/6.*(1+2*ix),yExt - yLim + thickness/2.0,zExt/6.*(1+2*iz)) ,extents=(xExt/6.,thickness/2.0,zExt/6.) ,wire=False ,material='plate_mat'
Re: [Yade-users] [Question #292846]: Particle packing - How to avoid overlap
Question #292846 on Yade changed: https://answers.launchpad.net/yade/+question/292846 VG posted a new comment: Also, I got the latest update of yadedaily which has the change you mentioned above. The point you mentioned above: "in pack.inSphere, it was a real bug. Of course, you can play with settings like using s[1] or s[1]-particle_radius, but this is different point." With the new version of yadedaily, it generates the exact same number of particles in an aggregate, as generated when I used "s[1]-particle_radius" instead of "s[1]" with the previous version of yadedaily. In my opinion, your fix in the code and the use of "s[1]-particle_radius" while generating randomDensepack are doing the exact same things. For example, in the above script, using a sample_diameter of 2e-4 and particle diameter of 1e-5, results in 3732 particles within an agglomerate results in a packing ratio of 0.466, whereas the previous version lead to 4372 particles and a packing ratio of 0.55. -- 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 #292846]: Particle packing - How to avoid overlap
Question #292846 on Yade changed: https://answers.launchpad.net/yade/+question/292846 Status: Answered => Open VG is still having a problem: Okay I see, Thanks Jan! -- 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 #292846]: Particle packing - How to avoid overlap
Question #292846 on Yade changed: https://answers.launchpad.net/yade/+question/292846 VG posted a new comment: Thanks for your response, Jan! For the generation of big aggregates, one of the procedures you suggested is not very clear to me: >"- use something like randomDensePack on already "meshed" aggregates, see > Klaus's answer #3 in [1]" This procedure talks about creating clumps of spherical particles. As far as I understand, they behave in a rigid manner and probably I can't have breakable cohesive bonds within a clump. Also, I dint quite get what you mean by already "meshed" aggregates ? I will post another question about the issue with CohFrictMat. -- 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 #292846]: Particle packing - How to avoid overlap
Question #292846 on Yade changed: https://answers.launchpad.net/yade/+question/292846 Status: Answered => Open VG is still having a problem: Thinking about this problem more, this might not actually be a bug. As you outlined, the difference between the previous version and "fixed" version is: - Previous version: Pack all the smaller spheres within the predicate (bigger sphere), such that the centers of smaller spheres are within the boundary of predicate. - Fixed version: Only the smaller spheres which are entirely contained within the predicate are considered. What the fixed version does can also possibly be attained by pack.inSphere((s[0][0],s[0][1],s[0][2]),(s[1]-particle_radius)). Correct me if I am wrong. That still doesn't solve the physical problem I am trying to set up. I should give a better description of the problem I am trying to solve, if there is a better set up possible for the problem: -- I have a granular sample with given input particle size distribution. Under mechanical loading, these particles will break and I want to get the resulting particle size distribution. -- I am representing the input particle size distribution with spherical particles of diameters D1, D2, D3 etc. All of such big particles are composed of smaller particles of diameter 'd', since d is the smallest particle size of interest. -- Initially, within each big spherical particle, all the smaller particles should be densely packed and connected with cohesive bonds. As the loading is applied, the initially defined cohesive bonds within each big sphere will break progressively leading to smaller fragments, giving a new particle size distribution. The major problems I am facing in the current script are: -- Smaller particles from two different predicates (big spheres) tend to overlap. -- I am noticing that sometimes cohesive bond gets formed between two smaller particles of different predicates. I would like to avoid this, since I only want non-cohesive contact between the two different big spheres. -- Initially, within a single big sphere itself, sometimes there are particles which are shown not to have any cohesive interaction, leaving that small single particle free to fly. Are there workarounds which can alleviate these problems ? Or if there is an alternative and better way to set up this problem ? Thanks Varun 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 #292911]: How to count number of particles in a fragment, connected by cohesive bonds
Question #292911 on Yade changed: https://answers.launchpad.net/yade/+question/292911 VG posted a new comment: Hello Jan, Thanks a lot for providing these functions! I am noticing something strange though, may be I am misinterpreting it. Running the same script with a seed value of 1 in makeCloud, leads to 19 initial aggregates with 11 particles each. I sent you the database file generated using memoizeDb in randomDensePack through email. Now, the above functions print all the standalone aggregates. I am noticing that some of these aggregates are showing more than 11 particles. This shouldn't happen unless there is formation of new cohesive bonds. I am unable to explain this behavior. Regards Varun -- 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 #292846]: Particle packing - How to avoid overlap
Question #292846 on Yade changed: https://answers.launchpad.net/yade/+question/292846 VG posted a new comment: Hello Jan, Thanks for your help. Do you know when yadedaily would be updated again or usually how often is it updated ? Thanks for your tip about the seed, while using makeCloud. I will certainly use that in future scripts. Regards Varun -- 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 #292846]: Particle packing - How to avoid overlap
Question #292846 on Yade changed: https://answers.launchpad.net/yade/+question/292846 VG posted a new comment: I got the update last week, but it is still showing me the problematic overlap. From what I see, the overlap is usually between the two particles of different aggregates (spheres). Is it related to the bug you mentioned ? Or is there another better way of generating the packing which would avoid such overlap ? Thanks Varun -- 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 #292911]: How to count number of particles in a fragment, connected by cohesive bonds
Question #292911 on Yade changed: https://answers.launchpad.net/yade/+question/292911 VG posted a new comment: Hello Jan, I have defined sample_material as CohFrictMat and also using Ip2_CohFrictMat_CohFrictMat_CohFrictPhys(setCohesionNow=True,label="cohesiveIp") in the interaction loop. I am not sure what am I missing here. Could you please help me identify the problem in my model set up. Thanks Varun -- 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 #292846]: Particle packing - How to avoid overlap
Question #292846 on Yade changed: https://answers.launchpad.net/yade/+question/292846 VG posted a new comment: Hello Jan, I installed Yade using the below instructions for pre-built package on website: https://yade-dem.org/doc/installation.html sudo bash -c 'echo "deb http://www.yade-dem.org/packages/ trusty/" >> /etc/apt/sources.list' wget -O - http://www.yade-dem.org/packages/yadedev_pub.gpg | sudo apt-key add - sudo apt-get update sudo apt-get install yadedaily Thanks Varun -- 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 #292911]: How to count number of particles in a fragment, connected by cohesive bonds
Question #292911 on Yade changed: https://answers.launchpad.net/yade/+question/292911 VG posted a new comment: Hello Jan, Thanks for your response. The script seems to be running fine. Is there a problem with the interactions in my model set up ? Regards Varun -- 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 #292911]: How to count number of particles in a fragment, connected by cohesive bonds
New question #292911 on Yade: https://answers.launchpad.net/yade/+question/292911 Hello, I am trying to model crushing of aggregates of particles and look at the resulting fragment size distribution. The model consists of an assembly of spheres (each sphere is composed of constituent smaller particles) between the two plates. The top plate is subjected to a constant force and a velocity in lateral direction to induce shear. As the simulation progresses, the cohesive bonds between the different particles start breaking resulting into individual particles and fragments of particles. How can I measure the number of such individual particles, fragments and the number of particles in each fragment ? I want to do this to obtain the particle size distribution of the crushed sample. Here is the minimal working example script: from yade import pack # # Set up run # run_name="PeriodicCohesive_MWE" data_root_dir="." # # Materials # plate_material=FrictMat( young=200e9 ,poisson=0.3 ,density=8000. ,frictionAngle=radians(30) ,label='plate_mat') O.materials.append(plate_material) sample_material=CohFrictMat( young=4e9 ,poisson=0.25 ,density=1400 ,frictionAngle=radians(30) ,normalCohesion=1e8*1.2 ,shearCohesion=.4e8*1.2 ,momentRotationLaw=True ,label='sample_mat') O.materials.append(sample_material) # # Component dimensions and operating condition # # Granular material dimension sample_diameter=2e-4 sample_radius=sample_diameter/2.0 # Sub-particle dimension particle_diameter=74.e-6 particle_radius=particle_diameter/2. # # grinding plate dimension # rotvel=2./3.*pi*(1.5+0.5)*.254 # # Periodic Geometry # # Set up periodic boundary conditions O.periodic=True xExt=4*sample_diameter yExt=3.*sample_diameter*2 #to block the periodicity in y direction zExt=xExt xLim=xExt yLim=yExt/4 zLim=zExt O.cell.hSize=Matrix3( xExt, 0, 0, 0, yExt, 0, 0, 0, zExt) length=xExt height=yExt width=zExt # Top and bottom plate thickness thickness=0.1*height bottomBoxes = [] for ix in (0,1,2): for iz in (0,1,2): bottomBoxes.append(box( # create 3x3 boxes with 1/3 cell size center=(xExt/6.*(1+2*ix),yLim - thickness/2.0,zExt/6.*(1+2*iz)) ,extents=(xExt/6.,thickness/2.0,zExt/6.) ,wire=False ,material='plate_mat' )) bottom_id,bottom_ids = O.bodies.appendClumped(bottomBoxes) # bottom_id is the clump id, O.bodies[bottom_id].state.blockedDOFs='xyzXYZ' # # Particle Packing # min_corner= (0,yLim,0) max_corner= (xLim, yExt-yLim, zLim) sp=pack.SpherePack() sp.makeCloud( min_corner,max_corner, rMean=sample_radius, periodic=False) print "Generated ",len(sp)," aggregates" ### # Sample ### for s in sp: sphere=pack.inSphere((s[0][0],s[0][1],s[0][2]),s[1]) sp1=pack.randomDensePack( sphere ,spheresInCell=2000 ,radius=particle_radius ,memoizeDb='/tmp/triaxPackCache.sqlite' ,returnSpherePack=True ) sp1.toSimulation(material='sample_mat',color=(0.9,0.8,0.6)) print 'Generated ',len(sp1),' particles' Gl1_Sphere(stripes=True) # # Top # topBoxes = [] for ix in (0,1,2): for iz in (0,1,2): topBoxes.append(box( # create 3x3 boxes with 1/3 cell size center=(xExt/6.*(1+2*ix),yExt - yLim + thickness/2.0,zExt/6.*(1+2*iz)) ,extents=(xExt/6.,thickness/2.0,zExt/6.) ,wire=False ,material='plate_mat' )) top_id,top_ids = O.bodies.appendClumped(topBoxes) # top_id is the clump id, O.bodies[top_id].state.blockedDOFs='xzXYZ' plate_downforce=-0.036 O.forces.addF(top_id,(0,plate_downforce,0),permanent=True) O.bodies[top_id].state.vel[0]= rotvel # # Run the simulation # O.dt=0.5*PWaveTimeStep() O.engines=[ ForceResetter(), InsertionSortCollider([ Bo1_Sphere_Aabb() ,Bo1_Box_Aabb() ], allowBiggerThanPeriod=True ), InteractionLoop( [Ig2_Sphere_Spher
[Yade-users] [Question #292846]: Particle packing - How to avoid overlap
New question #292846 on Yade: https://answers.launchpad.net/yade/+question/292846 I am generating a pack of spheres (lets call them aggregates), using makeCloud. Each of those spheres consists of a packing of smaller particles glued together using cohesive material model. I am using randomDensePack to generate this packing of particles within each sphere. Now, when I visualize the packing, I notice that sometimes there is an overlap between the particles of two different aggregates. I want to avoid this, since it results in internal stresses in the initial condition. Is there a better way to generate this kind of packing ? Here is the minimal working example script: from yade import pack,qt,plot,utils,export,ymport from math import * # # Set up run # run_name="test_aggregates" data_root_dir="." # # Materials # sample_material=CohFrictMat( young=4e9 ,poisson=0.25 ,density=1400 ,frictionAngle=radians(30) ,normalCohesion=1e8*1.2 ,shearCohesion=.4e8*1.2 ,momentRotationLaw=True ,label='sample_mat') O.materials.append(sample_material) # # Component dimensions and operating condition # # Sample dimension sample_radius=5e-4 # Sub-particle dimension particle_radius=2.5e-4 # # Geometry # xExt=4*sample_radius yExt=4*sample_radius*2 zExt=xExt xLim=xExt yLim=yExt/4 zLim=zExt # # Particle Packing # min_corner= (0,yLim,0) max_corner= (xLim, yExt-yLim, zLim) sp=pack.SpherePack() sp.makeCloud( min_corner,max_corner, rMean=sample_radius, periodic=False) print "Generated ",len(sp)," aggregates" ### # Sample ### for s in sp: sphere=pack.inSphere((s[0][0],s[0][1],s[0][2]),s[1]) sp1=pack.randomDensePack( sphere ,spheresInCell=2000 ,radius=particle_radius ,memoizeDb='/tmp/triaxPackCache.sqlite' ,returnSpherePack=True ) sp1.toSimulation(material='sample_mat',color=(0.9,0.8,0.6)) print 'Generated ',len(sp1),' particles' Gl1_Sphere(stripes=True) Thanks Varun -- 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 #290950]: Particles crossing the wall
Question #290950 on Yade changed: https://answers.launchpad.net/yade/+question/290950 Status: Answered => Solved VG confirmed that the question is solved: Thanks Jan Stránský, 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 #290950]: Particles crossing the wall
Question #290950 on Yade changed: https://answers.launchpad.net/yade/+question/290950 VG posted a new comment: Thanks a lot Jan and Bettina! I installed Yade version 1.20.0-126-e3271e8~trusty and it seems to be working fine on this newer version. Setting the mass and inertia manually still did not work with previous yade version - Yade 1.07.0 -- 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 #290950]: Particles crossing the wall
Question #290950 on Yade changed: https://answers.launchpad.net/yade/+question/290950 VG posted a new comment: I am using version 1.07.0 The output of the two commands are as follows: O.bodies[top_id].state.mass 0.0 O.bodies[top_id].state.inertia Vector3(nan,nan,nan) Thanks Varun -- 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 #290950]: Particles crossing the wall
Question #290950 on Yade changed: https://answers.launchpad.net/yade/+question/290950 VG posted a new comment: Thanks Jan! I modified the generation of top and bottom boxes as you suggested. The boxes seem to be generated the way they should be. However, as soon as the simulation starts, those boxes just disappear. I am not sure what is causing this behavior. Here is the updated MWE script: # Generate a periodic cell with few super-particles. # Each superparticle consists of smaller sub-particles of 75 microns # bonded with cohesive bonds. from yade import pack,qt,plot,utils,export,ymport from math import * from pylab import rand import datetime import os,shutil # # Set up run # run_name="PeriodicCohesive_MWE" data_root_dir="." if not os.path.exists(data_root_dir): print "The data root directory you specified:" print data_root_dir print "does not exist. Exiting..." exit() timestamp=datetime.datetime.now().strftime("%Y.%m.%d-%H%M%S") run_dir_name=timestamp+'-'+run_name data_dir_path=os.path.join(data_root_dir,run_dir_name) if not os.path.exists(data_dir_path): os.makedirs(data_dir_path) else: print("Something is really wrong if you get this message. Exiting...\n") exit() run_name_base_path=os.path.join(data_dir_path,run_name+'-') # opts.script is defined in yade, which inserts the script file (e.g. # this file) into itself. this_script=os.path.abspath(opts.script) shutil.copy(this_script,data_dir_path) # # Materials # plate_material=CohFrictMat( young=200e9 ,poisson=0.3 ,density=8000 ,frictionAngle=radians(30) ,normalCohesion=1e10 ,shearCohesion=1e10 ,momentRotationLaw=True ,label='plate_mat') O.materials.append(plate_material) sample_material=CohFrictMat( young=4e9 ,poisson=0.25 ,density=1400 ,frictionAngle=radians(30) ,normalCohesion=1e8*1.2 ,shearCohesion=.4e8*1.2 ,momentRotationLaw=True ,label='sample_mat') O.materials.append(sample_material) # # Component dimensions and operating condition # # Granular material dimension sample_diameter=2e-4 sample_radius=sample_diameter/2.0 # Sub-particle dimension particle_diameter=74.e-6 particle_radius=particle_diameter/2. # # grinding plate dimension # rotvel=2./3.*pi*(1.5+0.5)*.254 # # Periodic Geometry # # Set up periodic boundary conditions O.periodic=True xExt=4*sample_diameter yExt=3.*sample_diameter*2 #to block the periodicity in y direction zExt=xExt xLim=xExt yLim=yExt/4 zLim=zExt O.cell.hSize=Matrix3( xExt, 0, 0, 0, yExt, 0, 0, 0, zExt) length=xExt height=yExt width=zExt # Top and bottom plate thickness thickness=0.1*height # # Bottom # #bottom=box( #center=(length/2.0,yLim - thickness/2.0,width/2.0) # ,extents=(4*length,thickness/2.0,width) # ,wire=False # ,material='plate_mat' # ) bottomBoxes = [] for ix in (0,1,2): for iz in (0,1,2): bottomBoxes.append(box( # create 3x3 boxes with 1/3 cell size center=(xExt/6.*(1+2*ix),yLim - thickness/2.0,zExt/6.*(1+2*iz)) ,extents=(xExt/6.,thickness/2.0,zExt/6.) ,wire=False ,material='plate_mat' )) bottom_id,bottom_ids = O.bodies.appendClumped(bottomBoxes) # bottom_id is the clump id, O.bodies[bottom_id].state.blockedDOFs='xyzXYZ' # # Particle Packing # min_corner= (0,yLim,0) max_corner= (xLim, yExt-yLim, zLim) sp=pack.SpherePack() sp.makeCloud( min_corner,max_corner, rMean=sample_radius, periodic=False) print "Generated ",len(sp)," aggregates" ### # Sample ### for s in sp: sphere=pack.inSphere((s[0][0],s[0][1],s[0][2]),s[1]) sp1=pack.randomDensePack( sphere ,spheresInCell=2000 ,radius=particle_radius ,memoizeDb='/tmp/triaxPackCache.sqlite' ,returnSpherePack=True ) sp1.toSimulation(material='sample_mat',color=(0.9,0.8,0.6)) print 'Generated ',len(sp1),' particles'
Re: [Yade-users] [Question #290950]: Particles crossing the wall
Question #290950 on Yade changed: https://answers.launchpad.net/yade/+question/290950 VG posted a new comment: Hello Jan, Thanks for your response. I tried what you suggested, i.e. one small box (1/3 of the periodic cell), but it still seems to have the same problem and the top box is just flying through the particles. I don't know if there is a way to attach images here, so I have sent you screenshot of the simulation through email. Is there something in my set up that I am missing ? Thanks Varun -- 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 #290933]: Particles fall through facets in periodic simulation
Question #290933 on Yade changed: https://answers.launchpad.net/yade/+question/290933 VG posted a new comment: Thanks for your response, Bettina! Yes the work around which Bruno suggested doesn't work for me either. May be I will have to change the problem set up, but at this point I don't know how I could achieve that and still keep it physically realistic. I need to compress the granular material with a constant force or leading to a constant compressive stress and then induce shear stress (currently doing it through the velocity of plate) to study the breakage of granular material. Please let me know if you have any suggestions. Thanks Varun -- 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 #291114]: virtual time and time step
Question #291114 on Yade changed: https://answers.launchpad.net/yade/+question/291114 VG confirmed that the question is solved: Thanks Jan Stránský, 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 #291114]: virtual time and time step
Question #291114 on Yade changed: https://answers.launchpad.net/yade/+question/291114 Status: Answered => Solved VG confirmed that the question is solved: Seems like it works fine when the particle size doesn't change due to breakage. Thanks Jan! -- 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 #290950]: Particles crossing the wall
Question #290950 on Yade changed: https://answers.launchpad.net/yade/+question/290950 VG posted a new comment: Hi Bruno, Thanks for your response. I tried to incorporate the changes you suggested, but the problem still doesn't seem to go away. Also, another perplexing thing I notice from the simulation that as soon as it starts, some individual particles seem to be just flying in the domain even though they should be part of aggregates connected by cohesive bonds. Is there a work around or something I could change in the problem set up that would help me resolve this issue ? I just simply need to compress the granular material with a constant force or leading to a constant compressive stress and then apply shear force. Regards Varun -- 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 #290933]: Particles fall through facets in periodic simulation
Question #290933 on Yade changed: https://answers.launchpad.net/yade/+question/290933 VG requested more information: Hello Bettina, Were you able to resolve this issue or find a work around ? I continue to face this problem and have posted a minimal working example at : https://answers.launchpad.net/yade/+question/290950 The top and bottom plates are far apart (more than 3 times the diameter of particles) to start with, but the top plate still goes through the particles and even bottom plate eventually. Thanks Varun -- 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 #290950]: Particles crossing the wall
Question #290950 on Yade changed: https://answers.launchpad.net/yade/+question/290950 Status: Answered => Open VG is still having a problem: Below is one minimal working example which shows such problem. I am trying to compress an assembly of particles between the two plates. The top plate is subjected to a constant force and a velocity in lateral direction to induce shear. The top plate doesn't seem to be interacting with the system and it is just crossing all the particles and bottom plate. Can someone please suggest what am I doing wrong here or if there is a workaround ? I am using Yade 1.07.0 on Ubuntu 14.04. # Generate a periodic cell with few super-particles. # Each superparticle consists of smaller sub-particles of 75 microns # bonded with cohesive bonds. from yade import pack,qt,plot,utils,export,ymport from math import * from pylab import rand import datetime import os,shutil # # Set up run # run_name="PeriodicCohesive" data_root_dir="." if not os.path.exists(data_root_dir): print "The data root directory you specified:" print data_root_dir print "does not exist. Exiting..." exit() timestamp=datetime.datetime.now().strftime("%Y.%m.%d-%H%M%S") run_dir_name=timestamp+'-'+run_name data_dir_path=os.path.join(data_root_dir,run_dir_name) if not os.path.exists(data_dir_path): os.makedirs(data_dir_path) else: print("Something is really wrong if you get this message. Exiting...\n") exit() run_name_base_path=os.path.join(data_dir_path,run_name+'-') # opts.script is defined in yade, which inserts the script file (e.g. # this file) into itself. this_script=os.path.abspath(opts.script) shutil.copy(this_script,data_dir_path) # # Materials # plate_material=CohFrictMat( young=200e9 ,poisson=0.3 ,density=8000 ,frictionAngle=radians(30) ,normalCohesion=1e10 ,shearCohesion=1e10 ,momentRotationLaw=True ,label='plate_mat') O.materials.append(plate_material) sample_material=CohFrictMat( young=4e9 ,poisson=0.25 ,density=1400 ,frictionAngle=radians(30) ,normalCohesion=1e8*1.2 ,shearCohesion=.4e8*1.2 ,momentRotationLaw=True ,label='sample_mat') O.materials.append(sample_material) # # Component dimensions and operating condition # # Granular material dimension sample_diameter=2e-4 sample_radius=sample_diameter/2.0 # Sub-particle dimension particle_diameter=74.e-6 particle_radius=particle_diameter/2. # # grinding plate dimension # rotvel=2./3.*pi*(1.5+0.5)*.254 # # Periodic Geometry # # Set up periodic boundary conditions O.periodic=True xExt=4*sample_diameter yExt=3.*sample_diameter*2 #to block the periodicity in y direction zExt=xExt xLim=xExt yLim=yExt/4 zLim=zExt O.cell.hSize=Matrix3( xExt, 0, 0, 0, yExt, 0, 0, 0, zExt) length=xExt height=yExt width=zExt # Top and bottom plate thickness thickness=0.1*height # # Bottom # bottom=box( center=(length/2.0,yLim - thickness/2.0,width/2.0) ,extents=(4*length,thickness/2.0,width) ,wire=False ,material='plate_mat' ) O.bodies.append(bottom) O.bodies[0].state.blockedDOFs='xyzXYZ' # # Particle Packing # min_corner= (0,yLim,0) max_corner= (xLim, yExt-yLim, zLim) sp=pack.SpherePack() sp.makeCloud( min_corner,max_corner, rMean=sample_radius, periodic=False) print "Generated ",len(sp)," aggregates" ### # Sample ### for s in sp: sphere=pack.inSphere((s[0][0],s[0][1],s[0][2]),s[1]) sp1=pack.randomDensePack( sphere ,spheresInCell=2000 ,radius=particle_radius ,memoizeDb='/tmp/triaxPackCache.sqlite' ,returnSpherePack=True ) sp1.toSimulation(material='sample_mat',color=(0.9,0.8,0.6)) print 'Generated ',len(sp1),' particles' Gl1_Sphere(stripes=True) # # Top # top=box( center=(length/2.0,yExt - yLim + thickness/2.0,width/2.
Re: [Yade-users] [Question #291114]: virtual time and time step
Question #291114 on Yade changed: https://answers.launchpad.net/yade/+question/291114 VG posted a new comment: Hello Jan, Thanks for your response. The script I am running is fairly large. Also, I just realized that it is using O.dt=0.5*PWaveTimeStep(), and there is an algorithm in the script to continually break particles into smaller sizes. So after all, probably dt defined in the above way does not remain constant. I will try with a constant value of dt and check if I am able to get the desired outcome. Regards Varun -- 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 #290950]: Particles crossing the wall
Question #290950 on Yade changed: https://answers.launchpad.net/yade/+question/290950 VG posted a new comment: Hello Bettina, Thanks for your note. Yes, the problem seems similar. Also, on taking a closer look, I notice that after some simulation time some particles seem to be overlapping. Does increasing the distance between facet walls make the problem go away ? Thanks Varun -- 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 #291114]: virtual time and time step
New question #291114 on Yade: https://answers.launchpad.net/yade/+question/291114 I am new to Yade and this question might sound a little silly. I am running a Yade simulation and from the controller, when I look at the virtual time at any given instant, it is not equal to Number of iterations X delta_t (fixed). What's the reason for this ? For example, at a particular instant, here are the three values I see from the controller: virt 001s898m453mu002n iter #49708131, 1528.0/s delta_t (fixed) = 4.22594404226e-08 -- 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 #290950]: Particles crossing the wall
Question #290950 on Yade changed: https://answers.launchpad.net/yade/+question/290950 VG posted a new comment: Thanks for your response, Jan! I will get the MWE and post it here. -- 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 #258444]: How to create a rigid floor in a particle deposition with periodic boundaries
Question #258444 on Yade changed: https://answers.launchpad.net/yade/+question/258444 VG posted a new comment: Sure, Thanks Bruno. I have posted it as a new question: https://answers.launchpad.net/yade/+question/290950 -- 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 #290950]: Particles crossing the wall
New question #290950 on Yade: https://answers.launchpad.net/yade/+question/290950 I intend to create a cloud of spheres in a box which has: - periodic boundary conditions for all vertical walls - and rigid floor & ceiling I am applying compression from the ceiling. Now, what I observe is that some particles cross the floor and ceiling (which are intended to be rigid) and seem to be in a perpetual motion without any interaction with the system The material properties I am using are as follows: For the floor and ceiling: FrictMat( young=200e9, poisson=0.3, density=8000. ,frictionAngle=radians(30) ,label='wall_mat') And for the particles: FrictMat( young=4e9,poisson=0.25,density=1346,frictionAngle=radians(30),label='sample_mat') Can I solve this problem by increasing the Young's modulus for both the materials and what values should I use here ? Also, wouldn't increasing the Young's Modulus for particles arbitrarily lead to unphysical response ? In addition, I am using O.dt=0.5*PWaveTimeStep() in my simulation. Now, increasing the Young's modulus would also reduce the required time step. -- 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 #258444]: How to create a rigid floor in a particle deposition with periodic boundaries
Question #258444 on Yade changed: https://answers.launchpad.net/yade/+question/258444 VG posted a new comment: I am experiencing a similar problem and the material properties I am using are as follows: For the floor and ceiling: FrictMat( young=200e9, poisson=0.3, density=8000. ,frictionAngle=radians(30) ,label='wall_mat') And for the particles: FrictMat( young=4e9,poisson=0.25,density=1346,frictionAngle=radians(30),label='sample_mat') Can I solve this problem by increasing the Young's modulus for both the materials and what values should I use here ? Also, wouldn't increasing the Young's Modulus for particles arbitrarily lead to unphysical response ? In addition, I am using O.dt=0.5*PWaveTimeStep() in my simulation. Now, increasing the Young's modulus would also reduce the required time step. -- 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