[Yade-users] [Question #253399]: bug when a sphere cross 10 times the periodic cell
New question #253399 on Yade: https://answers.launchpad.net/yade/+question/253399 Hi all, I am simulating flows of particles due to an external fluid force. Then, the phenomenon is dynamic, I use periodic boundary condition in the streamwise direction and I have particles with velocity as high as 0.5m/s. I noticed a problem of stability when considering small periodic cell. After some times to isolate the problem, I found out that the problem arises when a particle travel for more than 10 times the size of the periodic cell. This does not seem to depend on the contact law, neither on the time step or the velocity of the particle, but only on the number of time the particle is crossing the periodic cell. I am not sure but I think this problem was not present some times ago. Have you already heard about such a bug ? What can I do to fix that ? It is a real problem for me as I would be interested to study the effect of the reduction of the size of the periodic cell and reduce it if possible. Raphaël I am using Ubuntu 12.04 and yade daily 1.10.0-72-d9ab58c~precise Here is a simple script to reproduce the bug : O.dt = 1e-7 lengthCell = 10 #Streamwise length of the periodic cell in diameter slope = 0.5 #Angle of the slope in radian #Particles parameters diameterPart = 6e-3 #Diameter of the particles, in meter, 6mm here. densPart = 2500 #density of the particles, in kg/m3 #Contact law cnPart = 0.0#Normal viscous damping coefficient. knPart = 1e4#Normal stiffness of the particle partFrictAngle = 0.0 #28 *pi/180 #friction angle of the particles, in radian csPart = 0 #tangential viscous damping coefficient (=0) ksPart = 0.5*knPart #tangential stiffness of the contact ##Definition of the materials O.materials.append(ViscElMat(cn=cnPart, cs=csPart, kn=knPart, ks=ksPart, density=densPart, frictionAngle=partFrictAngle, label='sphereMat')) # #Geometrical configuration # length = lengthCell*diameterPart width = length/2.0 height = length/3.0 g = Vector3(9.81*sin(slope),0,-9.81*cos(slope)) groundPosition = height/3.0 #Definition of the semi-periodic cell O.periodic = True O.cell.setBox(length,width,height) # build the ground lowPlane = box(center= (length/2.0,width/2.0,groundPosition),extents=(length*10,width*10,0),fixed=True,wire=False,color = (0.8,0.8,0.8),material = 'sphereMat') #Send the ground box and the particle to simulation O.bodies.append(lowPlane) O.bodies.append(sphere((length/2.0,width/2.0,groundPosition+diameterPart),radius = diameterPart*0.5, material = 'sphereMat')) # SIMULATION LOOP# # O.engines = [ # Reset the forces ForceResetter(), # Detect the potential contacts InsertionSortCollider([Bo1_Sphere_Aabb(), Bo1_Wall_Aabb(),Bo1_Facet_Aabb(),Bo1_Box_Aabb()],label='contactDetection',allowBiggerThanPeriod = True), # Calculate the different interactions InteractionLoop( [Ig2_Sphere_Sphere_ScGeom(), Ig2_Box_Sphere_ScGeom()], [Ip2_ViscElMat_ViscElMat_ViscElPhys()], [Law2_ScGeom_ViscElPhys_Basic()] ), # Integrate the equation and calculate the new position/velocities... NewtonIntegrator(damping=0.0, gravity=g, label='newton') ] O.saveTmp() -- You received this question notification because you are a member of yade-users, which is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #253399]: bug when a sphere cross 10 times the periodic cell
Question #253399 on Yade changed: https://answers.launchpad.net/yade/+question/253399 Status: Open = Answered Jan Stránský proposed the following answer: Hi Raphael, I tried your script and it worked without any problem. I am using Ubuntu 14.04 and yade compiled from source, version 1.11.0-1-g9bafd30 cheers Jan 2014-08-21 15:07 GMT+02:00 Raphaël Maurin question253...@answers.launchpad.net: New question #253399 on Yade: https://answers.launchpad.net/yade/+question/253399 Hi all, I am simulating flows of particles due to an external fluid force. Then, the phenomenon is dynamic, I use periodic boundary condition in the streamwise direction and I have particles with velocity as high as 0.5m/s. I noticed a problem of stability when considering small periodic cell. After some times to isolate the problem, I found out that the problem arises when a particle travel for more than 10 times the size of the periodic cell. This does not seem to depend on the contact law, neither on the time step or the velocity of the particle, but only on the number of time the particle is crossing the periodic cell. I am not sure but I think this problem was not present some times ago. Have you already heard about such a bug ? What can I do to fix that ? It is a real problem for me as I would be interested to study the effect of the reduction of the size of the periodic cell and reduce it if possible. Raphaël I am using Ubuntu 12.04 and yade daily 1.10.0-72-d9ab58c~precise Here is a simple script to reproduce the bug : O.dt = 1e-7 lengthCell = 10 #Streamwise length of the periodic cell in diameter slope = 0.5 #Angle of the slope in radian #Particles parameters diameterPart = 6e-3 #Diameter of the particles, in meter, 6mm here. densPart = 2500 #density of the particles, in kg/m3 #Contact law cnPart = 0.0#Normal viscous damping coefficient. knPart = 1e4#Normal stiffness of the particle partFrictAngle = 0.0 #28 *pi/180 #friction angle of the particles, in radian csPart = 0 #tangential viscous damping coefficient (=0) ksPart = 0.5*knPart #tangential stiffness of the contact ##Definition of the materials O.materials.append(ViscElMat(cn=cnPart, cs=csPart, kn=knPart, ks=ksPart, density=densPart, frictionAngle=partFrictAngle, label='sphereMat')) # #Geometrical configuration # length = lengthCell*diameterPart width = length/2.0 height = length/3.0 g = Vector3(9.81*sin(slope),0,-9.81*cos(slope)) groundPosition = height/3.0 #Definition of the semi-periodic cell O.periodic = True O.cell.setBox(length,width,height) # build the ground lowPlane = box(center= (length/2.0,width/2.0,groundPosition),extents=(length*10,width*10,0),fixed=True,wire=False,color = (0.8,0.8,0.8),material = 'sphereMat') #Send the ground box and the particle to simulation O.bodies.append(lowPlane) O.bodies.append(sphere((length/2.0,width/2.0,groundPosition+diameterPart),radius = diameterPart*0.5, material = 'sphereMat')) # SIMULATION LOOP# # O.engines = [ # Reset the forces ForceResetter(), # Detect the potential contacts InsertionSortCollider([Bo1_Sphere_Aabb(), Bo1_Wall_Aabb(),Bo1_Facet_Aabb(),Bo1_Box_Aabb()],label='contactDetection',allowBiggerThanPeriod = True), # Calculate the different interactions InteractionLoop( [Ig2_Sphere_Sphere_ScGeom(), Ig2_Box_Sphere_ScGeom()], [Ip2_ViscElMat_ViscElMat_ViscElPhys()], [Law2_ScGeom_ViscElPhys_Basic()] ), # Integrate the equation and calculate the new position/velocities... NewtonIntegrator(damping=0.0, gravity=g, label='newton') ] O.saveTmp() -- You received this question notification because you are a member of yade-users, which is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp -- You received this question notification because you are a member of yade-users, which is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
[Yade-users] [Question #253401]: Mass on a mesh body
New question #253401 on Yade: https://answers.launchpad.net/yade/+question/253401 Hi all, I want to model an arbitrary particle throght a mesh body. How can I add the mass on this mesh body? So that I can simulate its movement process under gravity? Thanks a lot! Henry -- You received this question notification because you are a member of yade-users, which is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #252656]: Crash when using CPM model
Question #252656 on Yade changed: https://answers.launchpad.net/yade/+question/252656 Jan Stránský proposed the following answer: Hi Colin, sorry for late reply. I tried your script, but to run it, I also need ccore_yade module. Could you please send it in email or place it somewhere to the internet and send a link? thanks Jan 2014-08-05 16:51 GMT+02:00 Colin Power question252...@answers.launchpad.net : Question #252656 on Yade changed: https://answers.launchpad.net/yade/+question/252656 Colin Power posted a new comment: Yes, there are multiple facets in the simulation and there are also are multiple material types. I am also using a buoyancy model that is outlined in this example: https://github.com/yade/trunk/blob/f50c914fd20b550e06512a774022653467b2e041/examples/clumps /apply-buoyancy-clumps.py I have pasted my script below. The ccore_yade module just contains helper functions for file management. import sys, time, random, os, gts, math from yade import ymport from yade import pack from yade import qt import ccore_yade # Simulation Parameters nbIter=600 filename = 'seabed' volumeName = 'keel' iterPeriod = 100 folder = ccore_yade.newSimulationFolder(filename) print Simulation is being stored in: + folder filepath = folder+'/'+filename #used for randomDensePack, experimenting with this. memoizeDb='keel_packings.sqlite' #define material properties: shearModulus= 3.6e9 poissonRatio= 0.28 youngModulus= 2*shearModulus*(1+poissonRatio) angle = radians(36) #friction angle in radians angle_r = radians(36) #friction angle in radians rho_p = 917 #density of particles rho_f = 1029#density of the fluid, rho_f rho_p = floating particles rho_r = 1602#density of seafloor rock rho_s = 8050#density of steel v_iw= 0 #velocity of increasing water-level gravity = -9.80665#m/s damping = 0.3 #ratio radius = 0.05#m seabed_velocity = 0.05#m/s #define water boundaries: boundaryMin = Vector3(-6, -6, -0.14) boundaryMax = Vector3(10, 10, 10) waterLevel = boundaryMin[2] t0 = O.time #define colors: sphereColor = (0.0,0.0,0.05) #dirty yellow waterColor = (.2,.2,.7) #blue #define materials: id_Mat=O.materials.append(CpmMat(young=youngModulus, poisson=poissonRatio, density=rho_p, frictionAngle=angle, sigmaT=5.5e3, relDuctility=30, epsCrackOnset=1e10, isoPrestress=0, damLaw=0) ) Mat=O.materials[id_Mat] id_Mat=O.materials.append(FrictMat(young=50e6, poisson=0.3, density=rho_r, frictionAngle=angle_r)) rock=O.materials[id_Mat] #steel materials have been seperated for filtering in Paraview steel_Mat1=O.materials.append(FrictMat(young=50e6, poisson=0.3, density=rho_s, frictionAngle=angle)) steel1=O.materials[steel_Mat1] steel_Mat2=O.materials.append(FrictMat(young=50e6, poisson=0.3, density=rho_s, frictionAngle=angle)) steel2=O.materials[steel_Mat2] steel_Mat3=O.materials.append(FrictMat(young=50e6, poisson=0.3, density=rho_s, frictionAngle=angle)) steel3=O.materials[steel_Mat3] # Import mesh files to create facets seabed = O.bodies.append(ymport.gmsh(meshfile=filename+'.mesh', shift=Vector3(0, 0, 0), scale=1.00, orientation=Quaternion.Identity, color=(0.75,0.35,0), material=rock, wire=False)) leftWall = O.bodies.append(ymport.gmsh(meshfile='leftWall.mesh', shift=Vector3(0, 0, 0), scale=1.00, orientation=Quaternion.Identity, color=(0.8,0.8,0.85), material=steel1, wire=False)) rightWall = O.bodies.append(ymport.gmsh(meshfile='rightWall.mesh', shift=Vector3(0, 0, 0), scale=1.00, orientation=Quaternion.Identity, color=(0.8,0.8,0.85), material=steel2, wire=False)) topWall = O.bodies.append(ymport.gmsh(meshfile='topWall.mesh', shift=Vector3(0, 0, 0), scale=1.00, orientation=Quaternion.Identity, color=(0.8,0.8,0.85), material=steel3, wire=False)) # Create water level indicator idsWaterFacets = [] idsWaterFacets.append(O.bodies.append(facet( \ [ boundaryMin, [boundaryMax[0], boundaryMin[1], boundaryMin[2]], [boundaryMax[0], boundaryMax[1], boundaryMin[2]] ], \ fixed=True, material=FrictMat(young=0), color=waterColor, wire=False))) #no interactions will appear idsWaterFacets.append(O.bodies.append(facet( \ [ [boundaryMax[0], boundaryMax[1], boundaryMin[2]], [boundaryMin[0], boundaryMax[1], boundaryMin[2]], boundaryMin ], \ fixed=True, material=FrictMat(young=0), color=waterColor, wire=False))) #no interactions will appear surface=gts.read(open(volumeName+'.gts')) volume=pack.inGtsSurface(surface)
Re: [Yade-users] [Question #253399]: bug when a sphere cross 10 times the periodic cell
Question #253399 on Yade changed: https://answers.launchpad.net/yade/+question/253399 Status: Answered = Open Raphaël Maurin is still having a problem: Hi Jan, Surprising, I tried also with a version compiled from source and I still have the same problem... Any idea what it can be due to ? Otherwise I can try to update Ubuntu. Raphaël -- You received this question notification because you are a member of yade-users, which is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #253399]: bug when a sphere cross 10 times the periodic cell
Question #253399 on Yade changed: https://answers.launchpad.net/yade/+question/253399 Status: Open = Answered Jérôme Duriez proposed the following answer: Hello Raphaël, Your box has dimensions equal to 10 times those of the periodic cell : lowPlane = box(...,extents=(length*10,width*10,0) This corresponds to *finite* dimensions as bodies as box are not supposed to be replicated in periodic space, contrary to spheres. So it is completely normal that your sphere at a moment does not see it anymore and falls ! It is a bit tricky, so am I clear enough ? Jérôme -- You received this question notification because you are a member of yade-users, which is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #253399]: bug when a sphere cross 10 times the periodic cell
Question #253399 on Yade changed: https://answers.launchpad.net/yade/+question/253399 Jérôme Duriez proposed the following answer: So, the solution is to increase a lot your 10, and pray that you typed a good number... (see https://answers.launchpad.net/yade/+question/246392 and related bug) -- You received this question notification because you are a member of yade-users, which is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #253399]: bug when a sphere cross 10 times the periodic cell
Question #253399 on Yade changed: https://answers.launchpad.net/yade/+question/253399 Status: Answered = Open Raphaël Maurin is still having a problem: Ok, I see your point, I didn't think at the problem this way. Thank you for the answer ! So if I understood well, it is not a bug and I 'just' need to put a huge length of the box, no ? Is there a limit of length I can put and will this affect the computational time ? Raphaël -- You received this question notification because you are a member of yade-users, which is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #253399]: bug when a sphere cross 10 times the periodic cell
Question #253399 on Yade changed: https://answers.launchpad.net/yade/+question/253399 Status: Open = Answered Jan Stránský proposed the following answer: Hi Raphael, sorry for misunderstanding, I was expecting some error or segmentation fault :-) Jan 2014-08-21 15:46 GMT+02:00 Raphaël Maurin question253...@answers.launchpad.net: Question #253399 on Yade changed: https://answers.launchpad.net/yade/+question/253399 Raphaël Maurin gave more information on the question: Ok, in fact I just realize that I forgot most of the explanation and I understand why you say it works . I was not clear with 'stability problem'. The problem is that after crossing 10 times the periodic cell, the particle is passing through the box and does not have any interaction with it any more. It is just falling like if there were no box. Can you reproduce that ? Sorry for the bad description. Raphaël -- You received this question notification because you are a member of yade-users, which is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp -- You received this question notification because you are a member of yade-users, which is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #253399]: bug when a sphere cross 10 times the periodic cell
Question #253399 on Yade changed: https://answers.launchpad.net/yade/+question/253399 Bruno Chareyre posted a new comment: So if I understood well, it is not a bug Right, it is a feature! -- You received this question notification because you are a member of yade-users, which is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #253401]: Mass on a mesh body
Question #253401 on Yade changed: https://answers.launchpad.net/yade/+question/253401 Status: Answered = Open Henry is still having a problem: I want to simualt many this kind of Bolcks. I success though the method you suggested. But as you say, there are no implementation of facet-facet interaction …… Is there any other method for my problem? Thanks a lot! -- You received this question notification because you are a member of yade-users, which is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #253401]: Mass on a mesh body
Question #253401 on Yade changed: https://answers.launchpad.net/yade/+question/253401 Status: Open = Answered Jan Stránský proposed the following answer: Hi Henry, you can use polyhedral particles [1,2,3]. As a drawback, there is no polyhedra-sphere interaction implemented ;-) cheers Jan [1] https://yade-dem.org/doc/yade.utils.html#yade.utils.polyhedron (there was a typo, but it has nothing to do with tetrahedron) [2] https://yade-dem.org/doc/yade.wrapper.html#yade.wrapper.Polyhedra [3] http://bazaar.launchpad.net/~yade-pkg/yade/git-trunk/files/head:/examples/polyhedra/ 2014-08-21 16:26 GMT+02:00 Henry question253...@answers.launchpad.net: Question #253401 on Yade changed: https://answers.launchpad.net/yade/+question/253401 Status: Answered = Open Henry is still having a problem: I want to simualt many this kind of Bolcks. I success though the method you suggested. But as you say, there are no implementation of facet-facet interaction …… Is there any other method for my problem? Thanks a lot! -- You received this question notification because you are a member of yade-users, which is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp -- You received this question notification because you are a member of yade-users, which is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #253399]: bug when a sphere cross 10 times the periodic cell
Question #253399 on Yade changed: https://answers.launchpad.net/yade/+question/253399 Jérôme Duriez proposed the following answer: Finally, no I do not think there is a length limit, and that the number you put could affect the computational time. But, for me it remains still the quite annoying issue that you can not be sure that the number you put gives correct results (see my previous links) -- You received this question notification because you are a member of yade-users, which is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #252656]: Crash when using CPM model
Question #252656 on Yade changed: https://answers.launchpad.net/yade/+question/252656 Colin Power posted a new comment: Hi, I have an altered scrip that caused the same crash. This time it does not include facets, it took me about 2 hours for the crash to occur at around iteration 19. The script uses a .gts file for the packing so I have copied the two files to pastebin. http://pastebin.com/gSrUxhzQ http://pastebin.com/8Wquq33c This time the error message was: FATAL /tmp/buildd/yadedaily-1.11.0-4-90640cc~trusty/pkg/dem/ConcretePM.cpp:399 go: Verification `!isnan(sigmaT[0])' failed! FATAL /tmp/buildd/yadedaily-1.11.0-4-90640cc~trusty/pkg/dem/ConcretePM.cpp:399 go: in interaction #1636+#3172 terminate called without an active exception Aborted (core dumped) Thank You, Colin Power -- You received this question notification because you are a member of yade-users, which is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
[Yade-users] [Question #253425]: Getting stress from YADE
New question #253425 on Yade: https://answers.launchpad.net/yade/+question/253425 Hi, I have a problem with stresses in YADE. I created a box and filled it with spheres as soil. Now I need to get a stress in Z direction (sigma Z) in different height. For this scope I found three ways in YADE. 1- bodyStressTensores(): Getting stress for each particle, then average particle's stresses that has almost equal height and then multiply it by (1-n). n is prosity. [1] 2- bodyStressTensores() and TesselationWrapper(): Using micro-stress method and then average particle's stress which are in almost same height. [2] 3- Force method: Export f(z) for each particle then sum forces in almost same height. Then divide it by area of the bottom box. I have done all of these methods but the results are not same. Which one is more realistic and reliable? Theoretical method is Gama* Z, but non of them are close to this value! [1] https://yade-dem.org/doc/yade.utils.html?highlight=bodystresstensor#yade._utils.bodyStressTensors [2] https://yade-dem.org/doc/user.html#micro-stress Thanks. -- You received this question notification because you are a member of yade-users, which is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp