[Yade-users] [Question #680375]: How to delete 10% percent of small particles?
New question #680375 on Yade: https://answers.launchpad.net/yade/+question/680375 Dear all, I am very new in Yade. In my simulation, I have a polydisperse particle size distribution, from size 0.2~1.0mm. Thanks to this poster: https://answers.launchpad.net/yade/+question/211937, I now know how to delete all particles with a certain diameter or position. Now I need to delete 10% of the smallest particles (d=0.2mm) every 100 steps, but I cannot figure out how to realize this function? Could anyone please give me any clues? Thanks so much! Best regards, Zheng -- 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 #680307]: How can I applied PeriTriaxController on a box of polyhedras?
Question #680307 on Yade changed: https://answers.launchpad.net/yade/+question/680307 Status: Answered => Open Gavin He is still having a problem: Hello Jérôme, I have solved the verletDist and timestep problems. However, I can not make the simulation run. It seems that it can only run when the particles are all spheres or clumps, but not polyhedras. I change the code as: ___ from yade import pack, polyhedra_utils gravel = PolyhedraMat() gravel.density = 2600 #kg/m^3 gravel.young = 1E7 #Pa gravel.poisson = 2/1E7 gravel.frictionAngle = 0.5 #rad polyhedra_utils.fillBox((0,0,0), (10,10,10),gravel,sizemin=[1,1,1],sizemax=[1,1,1],seed=4) O.materials.append(FrictMat(young=15e6,poisson=.4,frictionAngle=0,density=0,label='frictionless')) walls=aabbWalls(thickness=1e-10,material='frictionless') wallIds=O.bodies.append(walls) triax=TriaxialCompressionEngine( wall_bottom_id=wallIds[2], wall_top_id=wallIds[3], wall_left_id=wallIds[0], wall_right_id=wallIds[1], wall_back_id=wallIds[4], wall_front_id=wallIds[5], internalCompaction=False, ## define the rest of triax params here ## see in pkg/dem/PreProcessor/TriaxialTest.cpp:524 etc ## which are assigned in the c++ preprocessor actually sigmaIsoCompaction=-50e3, sigmaLateralConfinement=-50e3, max_vel=10, strainRate=0.01, label="triax" ) O.dt=0.25 O.engines=[ ForceResetter(), InsertionSortCollider([Bo1_Polyhedra_Aabb(),Bo1_Wall_Aabb(),Bo1_Facet_Aabb()],verletDist=5e-6), InteractionLoop( [Ig2_Wall_Polyhedra_PolyhedraGeom(), Ig2_Polyhedra_Polyhedra_PolyhedraGeom(), Ig2_Facet_Polyhedra_PolyhedraGeom()], [Ip2_PolyhedraMat_PolyhedraMat_PolyhedraPhys()], # collision "physics" [Law2_PolyhedraGeom_PolyhedraPhys_Volumetric()]), triax, # you can add TriaxialStateRecorder and such here… NewtonIntegrator(damping=.4) ] from yade import plot O.engines=O.engines[0:5]+[PyRunner(iterPeriod=20,command='history()',label='recorder')]+O.engines[5:7] def history(): plot.addData(e11=-triax.strain[0], e22=-triax.strain[1], e33=-triax.strain[2], s11=-triax.stress(0)[0], s22=-triax.stress(2)[1], s33=-triax.stress(4)[2], i=O.iter) plot.plots={'i':('e11','e22','e33',None,'s11','s22','s33')} O.saveTmp() plot.plot() ___ It is supposed to be like the example in https://www.youtube.com/watch?v=B2DIXJJvpwM&feature=youtu.be . But here the walls have not been generated and the simulation has not been started. -- 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 #679428]: unable to display sphere with latest version
Question #679428 on Yade changed: https://answers.launchpad.net/yade/+question/679428 Janek Kozicki proposed the following answer: I meant that maybe there is some conflict between qt versions. Maybe you have installed both qt4 and qt5. And yade is compiled with one, but when buinary is executed it tries to use the other. Try uninstalling all qt libraries, then installing only the smallest necessary subset. Assuming you do not have some stray *.so file in lib directory -- 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 #680397]: Kn and Ks value for Hertz-Mindilin model
New question #680397 on Yade: https://answers.launchpad.net/yade/+question/680397 This was an issue I ran into before with the Cundall-Strack law, and I am now also seeing with Hertz-Mindlin law. Hence, I am trying to input specific value for kn and ks for this contact model and the formulation proposed by yade, but I do not know what I can consider them in my simulation. Is there a way to use these values? Would a simple Ip2_FrictMat_FrictMat_MindlinPhys(kn=5e5, ks=5e5)? You can find herein the necessary part of my script. Thanks in advance. Sam ## material new parameters ### young =3e5 # elastic modulus [Pa] poisson = 0.25 finalFricDegree=30 density = 1950 mn,mx=Vector3(-0.52e-3, -1e-3,-1e-3),Vector3(0.52e-3, 1e-3, 1e-3) #size of particle radius= 1 # Internal Radius identifier=str(particleDiameter) output='./out/'+identifier rate = strainRate*1 stabilityThreshold=0.01 iterper=1000 # Periodicity criterion using step number (deactivated if <= 0) kn=5e1 # Normal stiffness ks=5e1 # Shear Stiffness kr=0 # Rotational stiffness Bn=0 Bs=0 intRadius=1 ## Friction=O.materials.append(FrictMat(young=young, density=density, frictionAngle=radians(finalFricDegree), poisson=poisson, label='sphere')) #frictionless walls wallmat = O.materials.append(FrictMat(young=80e9, poisson=.45, frictionAngle=radians(finalFricDegree), density=7000, label='Walls')) walls=aabbWalls([mn,mx], material='Walls') wallIds=O.bodies.append(walls) sp = O.bodies.append(ymport.textExt('sandGrain_0-6mmdiameter.spheres', 'x_y_z_r',color=(0,0.2,0.7), material='sphere')) triax = TriaxialStressController( thickness=0, stressMask=7, internalCompaction=False, ) O.engines=[ ForceResetter(), InsertionSortCollider([Bo1_Sphere_Aabb(aabbEnlargeFactor=intRadius),Bo1_Box_Aabb()]), InteractionLoop( [Ig2_Sphere_Sphere_ScGeom6D(),Ig2_Box_Sphere_ScGeom()], [Ip2_FrictMat_FrictMat_MindlinPhys(betan=Bn,betas=Bs,ktwist=0.0,krot=ks,label='ContactModel')], [Law2_ScGeom_MindlinPhys_Mindlin(neverErase=True,includeMoment=False,includeAdhesion=False,label='Mindlin')] ), GlobalStiffnessTimeStepper(active=1,timeStepUpdateInterval=100,timestepSafetyCoefficient=0.5), triax, VTKRecorder(dead=0,Key=identifier,iterPeriod=iterper,initRun=True,fileName=(output+'-'),recorders=['spheres','intr','stress', 'bstresses','jcfpm','cracks']), NewtonIntegrator(damping=0.9) ] O.dt = 0.3 * utils.PWaveTimeStep() -- 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 #680398]: Inertia Tensor for Intersecting clumps
New question #680398 on Yade: https://answers.launchpad.net/yade/+question/680398 Hello community, I was going through the Source code- Clump.cpp The inertia tensor at local level for the intersecting clump is calculated from the below equation (line no. 178): Ig += m*( x.dot(x)*Matrix3r::Identity()-x*x.transpose())+Matrix3r(Vector3r::Constant(dv*pow(dx,2)/6.).asDiagonal()) In the second part- "Matrix3r(Vector3r::Constant(dv*pow(dx,2)/6.).asDiagonal())", I believe it should be m*pow(dx,2)/6 but instead it computes dv*pow(dx,2)/6, was it a mistake in code or done purposefully? Reference: https://github.com/yade/trunk/blob/master/core/Clump.cpp#L178 Thank you -- 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 #680398]: Inertia Tensor for clumps with Intersecting Spheres
Question #680398 on Yade changed: https://answers.launchpad.net/yade/+question/680398 Summary changed to: Inertia Tensor for clumps with Intersecting Spheres Description changed to: Hello community, I was going through the Source code- Clump.cpp The inertia tensor at local level for the intersecting spheres clump is calculated from the below equation (line no. 178): Ig += m*( x.dot(x)*Matrix3r::Identity()-x*x.transpose())+Matrix3r(Vector3r::Constant(dv*pow(dx,2)/6.).asDiagonal()) In the second part- "Matrix3r(Vector3r::Constant(dv*pow(dx,2)/6.).asDiagonal())", I believe it should be m*pow(dx,2)/6 but instead it computes dv*pow(dx,2)/6, was it a mistake in code or done purposefully? Reference: https://github.com/yade/trunk/blob/master/core/Clump.cpp#L178 Thank you -- 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