Re: [Yade-users] [Question #683790]: RockBolt engine
Question #683790 on Yade changed: https://answers.launchpad.net/yade/+question/683790 Yaniv Fogel posted a new comment: Hi Vasileios, Thanks for the tip. I will also look at PB (and keep you posted if I'll too find something working). -- 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 #683787]: Using ForceEngine to break a single JCFpm bond
Question #683787 on Yade changed: https://answers.launchpad.net/yade/+question/683787 Yaniv Fogel posted a new comment: Hi all, Jérôme, Thanks for the tips. I will dig deeper into the ForceEngine. Jan, That last important tip solved the problem :) I can't believe I missed that line in the documentations. I can say that the JCFpm bond broke at the calculated FnMax :) -- 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 #683787]: Using ForceEngine to break a single JCFpm bond
Question #683787 on Yade changed: https://answers.launchpad.net/yade/+question/683787 Status: Answered => Solved Yaniv Fogel 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 #683787]: Using ForceEngine to break a single JCFpm bond
Question #683787 on Yade changed: https://answers.launchpad.net/yade/+question/683787 Status: Answered => Open Yaniv Fogel is still having a problem: Hi Jan and Jérôme, Thanks for the remarks. I understand what you mean about the dynamic state of the system. I tried investigating how the forceEngine and interaction forces are related. I would expect that as the forceEngine force increases, the interaction force will decrease (as they are opposite), but like before, there is no reaction between the forceEngine and interaction forces between the particles... As you will see while you run the script provided below ( I tried to see how I can minimize it anymore, but I think this is the most minimal way...), the force acting on top particle (F1) is increasing gradually, while the force acting on the bottom particle (F0) is the gravity force, and is logically equal to the interaction force between the particles. The engineForce has no effect on the system... :/ (There are some "steps" sometimes in the plot of F1 between interactions 0 and 0.2e7, when the force reaches around 70-120, which does correlates to a certain degree with the FnMax value I calculated ... but again, other than that, there is no effect...) Updated forceEngine Code from yade import pack, plot import numpy as np yade.qt.Controller() # Define geometry r = 0.005 intR = 1.0 # Define material idRockTest = O.materials.append(JCFpmMat(type=1, young=30e9, density=2500.0, poisson=0.1, frictionAngle=np.radians(18.0), tensileStrength=1e6, cohesion=1e6, label='Rock')) # add spheres O.bodies.append([ sphere((0,0,0),r,material='Rock',color=(0.019, 0.529, 1),fixed=True), sphere((0,2*r,0),r,material='Rock',color=(1, 0, 0)) ]) # Simulation loop O.engines=[ ForceResetter(), InsertionSortCollider([Bo1_Sphere_Aabb(aabbEnlargeFactor=intR,label='Saabb')]), InteractionLoop( [Ig2_Sphere_Sphere_ScGeom(interactionDetectionFactor=intR,label='SSgeom')], [Ip2_JCFpmMat_JCFpmMat_JCFpmPhys(cohesiveTresholdIteration=1,label='interactionPhys')], [Law2_ScGeom_JCFpmPhys_JointedCohesiveFrictionalPM(label='interactionLaw')] ), # Apply gravity force to particles. NewtonIntegrator( gravity=(0,-9.81,0), damping=0.2), # Apply force on top particle ForceEngine(ids=[1],force=Vector3(0,0,0),label='fEngine'), PyRunner(command='fEngine.force[1]+=10',realPeriod=1,initRun=True), # apply gradual increasing force on top particle PyRunner(command='recorder()',realPeriod=1,initRun=True), ] # plot forces and position def recorder(): plot.addData({ 'i':O.iter, 'F1':O.forces.f(1).norm(), # force acting on top particle 'Pos[z]':O.bodies[1].state.pos[1], # position (y) of top particle 'F0':O.forces.f(0).norm(), # force acting on bottom particle 'nInter[0,1]':O.interactions[0,1].phys.normalForce[1]}) # normal interaction force between particles plot.plots={'i':('F1'),'i ':('F0'),'i ':('Pos[z]'),'i ':('nInter[0,1]')} plot.plot() O.dt=0. manage interaction detection factor during the first timestep and then set default interaction range O.step(); ### initializes the interaction detection factor SSgeom.interactionDetectionFactor=-1. Saabb.aabbEnlargeFactor=-1. # Define time step O.dt = 0.5*utils.PWaveTimeStep() O.run() -- 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 #683787]: Using ForceEngine to break a single JCFpm bond
Question #683787 on Yade changed: https://answers.launchpad.net/yade/+question/683787 Yaniv Fogel posted a new comment: Hi Jérôme, Thanks for the tips, but I am interested on the ForceEngine, rather than the JCFpm. I will do the displacement test just to verify the values. But again, I try to do it using a force... and I'm still unable to solve this... I imagine the ForceEngine as "tying" a string to the top particle, and applying tension gradually... As I see it in my imagination, at certain tension, it should break, and the partilce should start moving... but that doesn't happen... Is the way I "imagine" this action is wrong? Yaniv -- 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 #684030]: example of FEMxDEM simulation
Question #684030 on Yade changed: https://answers.launchpad.net/yade/+question/684030 Status: Open => Answered Yaniv Fogel proposed the following answer: There you go [1]. https://gitlab.com/yade-dev/trunk/tree/master/examples/FEMxDEM -- 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 #683946]: How to update yade (stable) version
Question #683946 on Yade changed: https://answers.launchpad.net/yade/+question/683946 Yaniv Fogel proposed the following answer: Oops, forgot the link, sorry. [1] https://askubuntu.com/questions/124017/how-do-i-restore-the-default- repositories Yaniv -- 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 #683946]: How to update yade (stable) version
Question #683946 on Yade changed: https://answers.launchpad.net/yade/+question/683946 Yaniv Fogel proposed the following answer: I countered your problem earlier this week. The new stable version (2019.01a) is currently on the new Ubuntu 19.04 (Disco Fox), not the previous 18.04 (Bionic beaver). You need to change the package address from Bionic to Disco. What I did, was updating and installing the new 19.04 version. I did stumble later when I tried to install the new stable version, because the package directories were still on Bionic for some reasone. So I had to update them my self, following this link [1], and it worked :) [1] Hope this helps. Yaniv -- 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 #683913]: ThermalEngine not defined/active yet?
Question #683913 on Yade changed: https://answers.launchpad.net/yade/+question/683913 Status: Answered => Solved Yaniv Fogel confirmed that the question is solved: Thanks Robert Caulk, 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 #683913]: ThermalEngine not defined/active yet?
Question #683913 on Yade changed: https://answers.launchpad.net/yade/+question/683913 Yaniv Fogel gave more information on the question: OK, just noticed this remark in the installation documents [1] - "Installation from source code is reasonable, when you want to add or modify constitutive laws, engines, functions etc. **Installing the latest trunk version allows one to use newly added features, which are not yet available in packaged versions."** I guess I'll have to install from source code... [1] https://yade-dem.org/doc/installation.html?highlight=install -- 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 #683913]: ThermalEngine not defined/active yet?
Question #683913 on Yade changed: https://answers.launchpad.net/yade/+question/683913 Description changed to: Hello, I was trying to play with the ThermalEngine [1]. Now, I understand that it might still be an experimental engine and still under development, but I see it appears in the documentation, and FlowEngine (and the rest FlowEngines) currently does have the ability to activate thermalEngine [2] within them... (plus, Thermal.cpp and Thermal.hpp do exist in the trunk version...) Am I missing something here? I'm running on Ubuntu 19.04 with yade 2019.01a, installed with apt-get install. If I try to activate the engine, I get the following error message: Traceback (most recent call last): File "/usr/bin/yade", line 241, in runScript execfile(script,globals()) File "temp_engine.py", line 61, in ThermalEngine(advection=False, # Activates advection NameError: name 'ThermalEngine' is not defined Thanks in advance, Yaniv P.S. I noticed this past question - https://answers.launchpad.net/yade/+question/679769 I hoped with the thermal c++ files already existing that it might have been implemented... [1] https://yade-dem.org/doc/yade.wrapper.html?highlight=thermalengine#yade.wrapper.ThermalEngine [2] https://yade-dem.org/doc/yade.wrapper.html?highlight=thermalengine#yade.wrapper.FlowEngine.thermalEngine -- 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 #683913]: ThermalEngine not defined/active yet?
New question #683913 on Yade: https://answers.launchpad.net/yade/+question/683913 Hello, I was trying to play with the ThermalEngine [1]. Now, I understand that it might still be an experimental engine and still under development, but I see it appears in the documentation, and FlowEngine (and the rest FlowEngines) currently does have the ability to activate thermalEngine [2] within them... (plus, Thermal.cpp and Thermal.hpp do exist in the trunk version...) Am I missing something here? I'm running on Ubuntu 19.04 with yade 2019.01a, installed with apt-get install. If I try to activate the engine, I get the following error message: Traceback (most recent call last): File "/usr/bin/yade", line 241, in runScript execfile(script,globals()) File "temp_engine.py", line 61, in ThermalEngine(advection=False, # Activates advection NameError: name 'ThermalEngine' is not defined Thanks in advance, Yaniv [1] https://yade-dem.org/doc/yade.wrapper.html?highlight=thermalengine#yade.wrapper.ThermalEngine [2] https://yade-dem.org/doc/yade.wrapper.html?highlight=thermalengine#yade.wrapper.FlowEngine.thermalEngine -- 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 #683855]: Unbreakable bonds in Tension Test
Question #683855 on Yade changed: https://answers.launchpad.net/yade/+question/683855 Status: Open => Solved Yaniv Fogel confirmed that the question is solved: Thanks Luc Scholtès, 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 #683855]: Unbreakable bonds in Tension Test
New question #683855 on Yade: https://answers.launchpad.net/yade/+question/683855 Hello everyone, I had the following short conversation with Luc Scholts about the Uniaxial Tension test he performed in [1], and he thought this will also be of an interest to the forum. Original message: I am currently trying to duplicate your tension test from [1]. My only question is about the ubreakable bonds that you apply for particles in the recovery zone. How did you define these bonds? Did you define them as clumped, or did you just enter a bigger number for the tension (and Elastic modulus?) of the particles there? Thanks in advance, Yaniv [1] [1]L. Scholtès and F.-V. Donzé, “A DEM model for soft and hard rocks: Role of grain interlocking on strength,” Journal of the Mechanics and Physics of Solids, vol. 61, no. 2, pp. 352–369, Feb. 2013. Luc's response: I just define higher strength on the bonds located close to the boundaries. Please find attached a script where the procedure is implemented (lines 73 to 85). Cheers Luc His script: # -*- coding: utf-8 -*- # -*- encoding=utf-8 -*- from yade import ymport, plot Simulation of a uniaxial test (compression or tension depending on the sign of the loading rate "rate" defined below) # everything is documented at https://yade-dem.org/doc/index-toctree.html -> use the quick serach bar on the left of the page # SIMULATIONS DEFINED HERE Packing (previously built) PACKING='core_112_04_020.spheres' Simulation Control rate=0.003 # deformation rate (0.003 for tension, -0.03 for compression) iterMax=1 # maximum number of iterations saveVTK=2000 # saving output files for paraview OUT='tensionTest_r0.003' # output files Material microproperties for JCFPM (see https://yade-dem.org/doc/yade.wrapper.html?highlight=jcfpm#yade.wrapper.JCFpmMat) intR=1.2 # allows near neighbour interaction DENS=2500 # could be adapted to match material density: dens_DEM=dens_rock*(V_rock/V_particles)=dens_rock*1/(1-poro_DEM) def sphereMat(): return JCFpmMat(type=1,density=DENS,young=20e9,poisson=0.1,frictionAngle=radians(7),tensileStrength=1e6,cohesion=1e6) Loading of the packing into the simulation (O: Omega: the simulation) O.bodies.append(ymport.text(PACKING,material=sphereMat)) Set up boundary conditions (see https://yade-dem.org/doc/yade.utils.html?highlight=uniaxialtestfeatures#yade.utils.uniaxialTestFeatures) bb=utils.uniaxialTestFeatures() negIds,posIds,longerAxis,crossSectionArea=bb['negIds'],bb['posIds'],bb['axis'],bb['area'] # ENGINES DEFINED HERE O.engines=[ ForceResetter(), InsertionSortCollider([Bo1_Sphere_Aabb(aabbEnlargeFactor=intR,label='Saabb')]), InteractionLoop( [Ig2_Sphere_Sphere_ScGeom(interactionDetectionFactor=intR,label='SSgeom')], [Ip2_JCFpmMat_JCFpmMat_JCFpmPhys(cohesiveTresholdIteration=1,label='interactionPhys')], [Law2_ScGeom_JCFpmPhys_JointedCohesiveFrictionalPM(recordCracks=True,Key=OUT,label='interactionLaw')] ), UniaxialStrainer(strainRate=rate,axis=longerAxis,asymmetry=0,posIds=posIds,negIds=negIds,crossSectionArea=crossSectionArea,blockDisplacements=1,blockRotations=1,setSpeeds=0,stopStrain=0.1,dead=1,label='strainer'), GlobalStiffnessTimeStepper(active=1,timeStepUpdateInterval=10,timestepSafetyCoefficient=0.5, defaultDt=utils.PWaveTimeStep()), NewtonIntegrator(damping=0.4,label='newton'), PyRunner(iterPeriod=int(100),initRun=True,command='recorder()',label='data'), VTKRecorder(iterPeriod=int(saveVTK),initRun=True,fileName=OUT+'-',recorders=['spheres','jcfpm','cracks'],Key=OUT,label='vtk') ] # RECORDER DEFINED HERE def recorder(): yade.plot.addData({'i':O.iter, 'eps':strainer.strain, 'sigma':strainer.avgStress, 'tc':interactionLaw.nbTensCracks, 'sc':interactionLaw.nbShearCracks, 'te':interactionLaw.totalTensCracksE, 'se':interactionLaw.totalShearCracksE, 'unbF':utils.unbalancedForce()}) plot.saveDataTxt(OUT) # if you want to plot during simulation plot.plots={'i':('sigma')} plot.plot() # PREPROCESSING manage interaction detection factor during the first timestep and then set default interaction range ((cf. A DEM model for soft and hard rock, Scholtes & Donze, JMPS 2013)) O.step(); ### initializes the interaction detection factor SSgeom.interactionDetectionFactor=-1. Saabb.aabbEnlargeFactor=-1. # reinforce bonds at boundaries for tensile tests dim=utils.aabbExtrema() if rate>0: layerSize=0.15 for o in O.bodies: if isinstance(o.shape,Sphere): if ( o.state.pos[longerAxis]<(dim[0][longerAxis]+layerSize*(dim[1][longerAxis]-dim[0][longerAxis])) ) or (
[Yade-users] [Question #683790]: RockBolt engine
New question #683790 on Yade: https://answers.launchpad.net/yade/+question/683790 Hello everyone, I did a bit of searching and I believe that the reference for this engine[1] comes from here[2] (correct me if I'm wrong). Does any one has a basic working sample where I can learn how to implement this engine? Thank is advance, Yaniv [1] https://yade-dem.org/doc/yade.wrapper.html?highlight=rockbolt#yade.wrapper.RockBolt [2] https://www.researchgate.net/publication/271007832_Designing_Tunnel_Support_in_Jointed_Rock_Masses_Via_the_DEM -- 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 #683787]: Using ForceEngine to break a single JCFpm bond
New question #683787 on Yade: https://answers.launchpad.net/yade/+question/683787 Hello, I'm a new user to YADE and I'm in the process of learning about the JCFpm model. I'm currently trying to break a bond between two particles using the ForceEngine. As described in the code bit below, I'm trying to apply and increasing force until a break occurs between the two particles. The bottom particle is fixed. If I got the documentation right, the force when the breakage should happen is: FnMax = tensileStrength * pi*Rmin^2 [1],[2] -> FnMax = 1e6 * np.pi * pow(0.005,2) = 78.539 N First question - For the first trials, I tried using addF manually, using the code below (after running the script). I found that the bond breaks around O.forces.addF(1,(0,0,700)). (I first assumed that addF uses Newtons, but now I'm not so sure...). So, did I calculated FnMax correctly or not? Second question - After that, I tried using the ForceEngine (same code, just uncomment #ForceEngine & #PyRunner), increasing the force on the particle, but I can't get it to break. Am I using the engine correctly? Third question - I also looked at the InterpolatingDirectedForceEngine [3], where there is a magnitude for the force, but what is the difference between force and magnitudes in the engine (Again, I tried playing with it, with increasing magnitudes, but I still couldn't get it to break) I would like your help. Sorry if this is too long or if my understanding of vector physics is a bit lacking :) ### Forces Test 1, YADE ### from yade import pack, plot import numpy as np yade.qt.Controller() # Define geometry r = 0.005 intR = 1.0 # Define material idRockTest = O.materials.append(JCFpmMat(type=1, young=30e9, density=2500.0, poisson=0.1, frictionAngle=np.radians(18.0), tensileStrength=1e6, cohesion=1e6, label='Rock')) # add spheres O.bodies.append([ sphere((0,0,0),r,material='Rock',color=(0.019, 0.529, 1),fixed=True), sphere((0,0,2*r),r,material='Rock',color=(1, 0, 0)) ]) # Simulation loop O.engines=[ ForceResetter(), InsertionSortCollider([Bo1_Sphere_Aabb(aabbEnlargeFactor=intR,label='Saabb')]), InteractionLoop( [Ig2_Sphere_Sphere_ScGeom(interactionDetectionFactor=intR,label='SSgeom')], [Ip2_JCFpmMat_JCFpmMat_JCFpmPhys(cohesiveTresholdIteration=1,label='interactionPhys')], [Law2_ScGeom_JCFpmPhys_JointedCohesiveFrictionalPM(label='interactionLaw')] ), # Apply gravity force to particles. NewtonIntegrator( gravity=(0,0,-9.81), damping=0.2), # Apply force on top particle #ForceEngine(ids=[1],force=Vector3(0,0,0),label='fEngine'), #PyRunner(command='fEngine.force[2]+=100',realPeriod=1,initRun=True), PyRunner(command='recorder()',realPeriod=1,initRun=True), ] # Define time step #O.dt = 0.5*utils.PWaveTimeStep() def recorder(): plot.addData({ 'i':O.iter, 'F':O.forces.f(1).norm(), 'T':O.forces.t(1).norm()}) plot.plots={'i':('F','T')} plot.plot() O.dt=0. manage interaction detection factor during the first timestep and then set default interaction range O.step(); ### initializes the interaction detection factor SSgeom.interactionDetectionFactor=-1. Saabb.aabbEnlargeFactor=-1. # Define time step O.dt = 0.5*utils.PWaveTimeStep() O.run() [1] https://yade-dem.org/doc/yade.wrapper.html#yade.wrapper.JCFpmMat.tensileStrength [2] https://yade-dem.org/doc/yade.wrapper.html#yade.wrapper.JCFpmPhys.crossSection [3] https://yade-dem.org/doc/yade.wrapper.html?highlight=interpolatingdirectedforceengine#yade.wrapper.InterpolatingDirectedForceEngine -- 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 #683787]: Using ForceEngine to break a single JCFpm bond
Question #683787 on Yade changed: https://answers.launchpad.net/yade/+question/683787 Description changed to: Hello, I'm a new user to YADE and I'm in the process of learning about the JCFpm model. I'm currently trying to break a bond between two particles using the ForceEngine. As described in the code bit below, I'm trying to apply and increasing force until a break occurs between the two particles. The bottom particle is fixed. If I got the documentation right, the force when the breakage should happen is: FnMax = tensileStrength * pi*Rmin^2 [1],[2] -> FnMax = 1e6 * np.pi * pow(0.005,2) = 78.539 N First question - For the first trials, I tried using addF manually, using the code below (after running the script). I found that the bond breaks around O.forces.addF(1,(0,0,700)). (I first assumed that addF uses Newtons, but now I'm not so sure...). So, did I calculate FnMax correctly or not? Second question - After that, I tried using the ForceEngine (same code, just uncomment #ForceEngine & #PyRunner), increasing the force on the particle, but I can't get it to break. Am I using the engine correctly? Third question - I also looked at the InterpolatingDirectedForceEngine [3], where there is a magnitude for the force, but what is the difference between force and magnitudes in the engine (Again, I tried playing with it, with increasing magnitudes, but I still couldn't get it to break) I would like your help. Sorry if this is too long or if my understanding of vector physics is a bit lacking :) ### Forces Test 1, YADE ### from yade import pack, plot import numpy as np yade.qt.Controller() # Define geometry r = 0.005 intR = 1.0 # Define material idRockTest = O.materials.append(JCFpmMat(type=1, young=30e9, density=2500.0, poisson=0.1, frictionAngle=np.radians(18.0), tensileStrength=1e6, cohesion=1e6, label='Rock')) # add spheres O.bodies.append([ sphere((0,0,0),r,material='Rock',color=(0.019, 0.529, 1),fixed=True), sphere((0,0,2*r),r,material='Rock',color=(1, 0, 0)) ]) # Simulation loop O.engines=[ ForceResetter(), InsertionSortCollider([Bo1_Sphere_Aabb(aabbEnlargeFactor=intR,label='Saabb')]), InteractionLoop( [Ig2_Sphere_Sphere_ScGeom(interactionDetectionFactor=intR,label='SSgeom')], [Ip2_JCFpmMat_JCFpmMat_JCFpmPhys(cohesiveTresholdIteration=1,label='interactionPhys')], [Law2_ScGeom_JCFpmPhys_JointedCohesiveFrictionalPM(label='interactionLaw')] ), # Apply gravity force to particles. NewtonIntegrator( gravity=(0,0,-9.81), damping=0.2), # Apply force on top particle #ForceEngine(ids=[1],force=Vector3(0,0,0),label='fEngine'), #PyRunner(command='fEngine.force[2]+=100',realPeriod=1,initRun=True), PyRunner(command='recorder()',realPeriod=1,initRun=True), ] # Define time step #O.dt = 0.5*utils.PWaveTimeStep() def recorder(): plot.addData({ 'i':O.iter, 'F':O.forces.f(1).norm(), 'T':O.forces.t(1).norm()}) plot.plots={'i':('F','T')} plot.plot() O.dt=0. manage interaction detection factor during the first timestep and then set default interaction range O.step(); ### initializes the interaction detection factor SSgeom.interactionDetectionFactor=-1. Saabb.aabbEnlargeFactor=-1. # Define time step O.dt = 0.5*utils.PWaveTimeStep() O.run() [1] https://yade-dem.org/doc/yade.wrapper.html#yade.wrapper.JCFpmMat.tensileStrength [2] https://yade-dem.org/doc/yade.wrapper.html#yade.wrapper.JCFpmPhys.crossSection [3] https://yade-dem.org/doc/yade.wrapper.html?highlight=interpolatingdirectedforceengine#yade.wrapper.InterpolatingDirectedForceEngine -- 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