Re: [Yade-users] [Question #683526]: Interaction problem between two bodies - Direct Shear
Question #683526 on Yade changed: https://answers.launchpad.net/yade/+question/683526 Status: Needs information => Open Akm gave more information on the question: from yade import pack, plot, qt O.reset() #Creating the upper box U_box=geom.facetBox((.2,.1,.8),(.2,.1,.2),wallMask=51) O.bodies.append(U_box) #Creating the lower box L_box=geom.facetBox((.2,-.1,.8),(.2,.1,.2),wallMask=55) O.bodies.append(L_box) ''' #Creating the upper box U_left=utils.box((0,.1,.8),(0,.1,.2),dynamic=False,fixed=True,wire=True,color=None) O.bodies.append(U_left) U_right=utils.box((.4,.1,.8),(0,.1,.2),dynamic=False,fixed=True,wire=True,color=None) O.bodies.append(U_right) U_front=utils.box((.2,.1,1),(.2,.1,0),dynamic=False,fixed=True,wire=True,color=None) O.bodies.append(U_front) U_back=utils.box((.2,.1,.6),(.2,.1,0),dynamic=False,fixed=True,wire=True,color=None) O.bodies.append(U_back) #Creating the lower box L_left=utils.box((0,-.1,.8),(0,.1,.2),dynamic=False,fixed=True,wire=True,color=None) O.bodies.append(L_left) L_right=utils.box((.4,-.1,.8),(0,.1,.2),dynamic=False,fixed=True,wire=True,color=None) O.bodies.append(L_right) L_front=utils.box((.2,-.1,1),(.2,.1,0),dynamic=False,fixed=True,wire=True,color=None) O.bodies.append(L_front) L_back=utils.box((.2,-.1,.6),(.2,.1,0),dynamic=False,fixed=True,wire=True,color=None) O.bodies.append(L_back) L_bottom =utils.box((.2,-0.05,.8),(.2,0,.2),dynamic=False,fixed=True,wire=True,color=None) O.bodies.append(L_bottom) #Creating the extension for sliding plane so particles don't fall out #Give extra .01m in Y dir. so that the two facet walls... #...at the shear interface do not rub against each other U_box_extension1=geom.facetBox((-.2,.5,.8),(.2,.5,.2),wallMask=4) O.bodies.append(U_box_extension1) U_box_extension2=geom.facetBox((.6,.5,.8),(.2,.5,.2),wallMask=4) O.bodies.append(U_box_extension2) #Creating the extension for sliding plane so particles don't fall out L_box_extension1=geom.facetBox((.6,-.5001,.8),(.2,.5,.2),wallMask=8) O.bodies.append(L_box_extension1) L_box_extension2=geom.facetBox((-.2,-.5001,.8),(.2,.5,.2),wallMask=8) O.bodies.append(L_box_extension2) #Material assignment- normalcohesion = Tensile strength, shearCohesion = Shear strength sample_material=FrictMat( young=50e6 ,poisson=0.25 ,density=1800 ,frictionAngle=radians(45),label='sample_mat') O.materials.append(sample_material) wall_material= FrictMat( young=4e9 ,poisson=0.25 ,density=5000 ,frictionAngle=radians(50) ,label='wall_mat') O.materials.append(wall_material) #Speed of the translation engine Vel=1 #Sphere Pack Creation sp=pack.SpherePack() sp.makeCloud((0,-0.05,0.6),(0.4,0.2,1.0),rMean=0.008,rRelFuzz=0.3,porosity=0.5, num = 6000) sp.toSimulation(material=sample_material) #already one cloud of particles here #Collecting the ids for translation engine run id_list=[] #for i in L_box: id_list.append(i.id)#for facet box id_list.append(L_left.id) id_list.append(L_right.id) id_list.append(L_front.id) id_list.append(L_back.id) id_list.append(L_bottom.id) for i in L_box_extension1: id_list.append(i.id) for i in L_box_extension2: id_list.append(i.id) #Simulation O.engines=[ ForceResetter(), InsertionSortCollider([Bo1_Sphere_Aabb(),Bo1_Facet_Aabb(),Bo1_Wall_Aabb(),Bo1_Box_Aabb()]), InteractionLoop( [Ig2_Sphere_Sphere_ScGeom6D(),Ig2_Facet_Sphere_ScGeom(),Ig2_Wall_Sphere_ScGeom(),Ig2_Box_Sphere_ScGeom6D()], [Ip2_FrictMat_FrictMat_FrictPhys(), Ip2_CohFrictMat_CohFrictMat_CohFrictPhys(setCohesionNow=False,label="cohesiveIp") ], [Law2_ScGeom_FrictPhys_CundallStrack(), Law2_ScGeom6D_CohFrictPhys_CohesionMoment()] ), NewtonIntegrator(gravity=(0,-1,0),damping=0.3), GlobalStiffnessTimeStepper(active=True,timeStepUpdateInterval=1,timestepSafetyCoefficient=0.8), #using global timestep for faster simulation # (command='checkUnbalanced()',realPeriod=0.5,label='checker'), PyRunner(command='addplate()',iterPeriod=10,label='runner') #real period is actually not good ] maxLoad=1e5 minLoad=1e1 inst_position_lower=min([b.state.pos[1]-(b.shape.radius) for b in O.bodies if isinstance(b.shape,Sphere)]) global plate_b plate_b=wall(min([b.state.pos[1]-(b.shape.radius) for b in O.bodies if isinstance(b.shape,Sphere)]),axis=1,sense=+1) #O.bodies.append(plate_b) print('Plate in -Y added') #Plate is being added to the simulation to consolidate the sample def addplate(): #if unbalancedForce()<0.5 and O.iter>15000: global plate inst_position1=max([b.state.pos[1]+(b.shape.radius) for b in O.bodies if isinstance(b.shape,Sphere)]) plate=utils.box((.2,inst_position1,.8),(.199,0,.199),dynamic=False,fixed=False,wire=False,color=(0,0,1))#,material=wall_material) O.bodies.append(plate) print('Plate added') plate.state.vel=(0,-2,0) runner.command='unloadPlate()' #Plate rebounding after consolidation upto a maximum load def unloadPlate():
Re: [Yade-users] [Question #683511]: meaning of ENABLE_MASK_ARBITRARY
Question #683511 on Yade changed: https://answers.launchpad.net/yade/+question/683511 Status: Open => Answered Jan Stránský proposed the following answer: Hi Luc, TLTR: it is not related to your problem Body.mask in Python or Body::groupMaks in C++ is of type int, which is usually 64 bit number. If you need / want a higher number of bits (not usual case), you can use std::bitset instead. The latter is used if YADE_MASK_ARBITRARY macro is defined (done by cmake if ENABLE_MASK_ARBITRARY=ON is passed to cmake). The size of the mask is defined at compile time by MASK_ARBITRARY_SIZE macro. cheers Jan [1] https://gitlab.com/yade-dev/trunk/blob/master/core/Body.hpp#L84 [2] https://gitlab.com/yade-dev/trunk/blob/master/lib/base/Math.hpp#L274 [3] https://gitlab.com/yade-dev/trunk/blob/master/lib/base/Math.hpp#L260 -- 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 #683543]: Undrained triaxial test servo control
New question #683543 on Yade: https://answers.launchpad.net/yade/+question/683543 Hello, I want to run the undrained triaxial test and I have tried two servo control mechanism. One control mechanism works but the other doesn't. So I want to ask why one works but the other doesn't while they seemed same to me. 1. run "servo()" that I defined every step in the O.engine, this method doesn't work t0=O.time O.cell.trsf=Matrix3.Identity O.engines=[ ForceResetter(), InsertionSortCollider([Bo1_Sphere_Aabb()]), InteractionLoop( [Ig2_Sphere_Sphere_ScGeom()], [Ip2_FrictMat_FrictMat_FrictPhys()], [Law2_ScGeom_FrictPhys_CundallStrack()]), NewtonIntegrator(damping=0.05), GlobalStiffnessTimeStepper(), PyRunner(command='servo', iterPeriod=1),] def servo(): ratex=-0.05 ratey=0.5*sqrt(1-0.05*(O.time-t0))*0.05/(1-0.05*(O.time-t0))/(1-0.05*(O.time-t0)) # derivative to time, d(sqrt(1/1-0.05*t))/dt ratez=0.5*sqrt(1-0.05*(O.time-t0))*0.05/(1-0.05*(O.time-t0))/(1-0.05*(O.time-t0)) # derivative to time, d(sqrt(1/1-0.05*t))/dt O.cell.velGrad=Matrix3(ratex,0,0,0,ratey,0,0,0,ratez) 2. do not run "servo" that I defined, instead, just add two sentences at the end of the script, this method works O.engines=[ ForceResetter(), InsertionSortCollider([Bo1_Sphere_Aabb()]), InteractionLoop( [Ig2_Sphere_Sphere_ScGeom()], [Ip2_FrictMat_FrictMat_FrictPhys()], [Law2_ScGeom_FrictPhys_CundallStrack()]), NewtonIntegrator(damping=0.05), GlobalStiffnessTimeStepper(),] O.cell.trsf=Matrix3.Identity O.cell.velGrad=Matrix3(-0.05, 0, 0, 0, 0.025, 0, 0, 0, 0.025) In the first servo control mechanism, the volume continues to increase, which is wrong. In the second mechanism, the volume only decreases negligibly, which is right. If I put the O.cell.trsf=Matrix3.Identity in the "servo" in the first method, do you think it can work? Do you know the reason for this? Thank you! Regards, Yuxuan -- 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 #683542]: How does Yade run the script?
New question #683542 on Yade: https://answers.launchpad.net/yade/+question/683542 Hello I am trying to run the script but I am little confused on how yade run it. Is the command in the "O.engine" part looped and the other part of the script just run for 1 time? Thank you very much for your help. Regards, Yuxuan -- 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 #682290]: the correct use of collider.avoidSelfInteractionMask ?
Question #682290 on Yade changed: https://answers.launchpad.net/yade/+question/682290 Luc OGER gave more information on the question: here the bug for the new intel AND also the old one: same list!! bugs: cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs full old intel cpuinfo: processor : 7 vendor_id : GenuineIntel cpu family : 6 model : 42 model name : Intel(R) Core(TM) i7-2600 CPU @ 3.40GHz stepping: 7 microcode : 0x2f cpu MHz : 1725.371 cache size : 8192 KB physical id : 0 siblings: 8 core id : 3 cpu cores : 4 apicid : 7 initial apicid : 7 fpu : yes fpu_exception : yes cpuid level : 13 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx lahf_lm epb pti ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid xsaveopt dtherm ida arat pln pts md_clear flush_l1d bugs: cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs bogomips: 6784.67 clflush size: 64 cache_alignment : 64 address sizes : 36 bits physical, 48 bits virtual power management: processor : 7 vendor_id : GenuineIntel cpu family : 6 model : 94 model name : Intel(R) Core(TM) i7-6700HQ CPU @ 2.60GHz stepping: 3 microcode : 0xcc cpu MHz : 800.039 cache size : 6144 KB physical id : 0 siblings: 8 core id : 3 cpu cores : 4 apicid : 7 initial apicid : 7 fpu : yes fpu_exception : yes cpuid level : 22 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb invpcid_single pti ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm mpx rdseed adx smap clflushopt intel_pt xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp md_clear flush_l1d bugs: cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs bogomips: 5184.00 clflush size: 64 cache_alignment : 64 address sizes : 39 bits physical, 48 bits virtual power management: full new intel cpuinfo: -- 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 #682290]: the correct use of collider.avoidSelfInteractionMask ?
Question #682290 on Yade changed: https://answers.launchpad.net/yade/+question/682290 Janek Kozicki posted a new comment: in #34 you have pasted CPUINFO. There is line „bugs: ” but this line is missing in #36. And I don’t know if there are no processor bugs, or if you simply did not paste this line. -- 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 #683489]: can not see particles in "show 3D"
Question #683489 on Yade changed: https://answers.launchpad.net/yade/+question/683489 Status: Answered => Solved Leonard 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 #682290]: the correct use of collider.avoidSelfInteractionMask ?
Question #682290 on Yade changed: https://answers.launchpad.net/yade/+question/682290 Luc OGER gave more information on the question: Here the cmake comannd which is really the simplest one : cmake DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_INSTALL_PREFIX=../install -DPYTHON_VERSION=3 -DDISABLE_SAVE_TEMPS=1 -DENABLE_MPI=OFF ../trunk and I have tried to compile and run yade on several machines, but the "simplest" comparison test is the following : on the same laptop with new Intel processor (see #35) both Opensuse 15.1 and Ubuntu 19 generates the same bitmask error (see#28) on th same old PC with older intel processor (see #35) the openuse 15.1 gave the answer as #28 BUT the UBUNTU 19 gave the answer #35 Sorry but I am unable to answer to the #39 request as i don't know how and where to look for... -- 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 #683489]: can not see particles in "show 3D"
Question #683489 on Yade changed: https://answers.launchpad.net/yade/+question/683489 Robert Caulk requested more information: >I am trying to make a MWE for you to diagnose, before it, could you please give me some clues to solve it As of right now, I am unable to recreate "Situation 1" using the MWE you posted. So the possible causes for "Situation 1" are endless. -- 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 #682290]: the correct use of collider.avoidSelfInteractionMask ?
Question #682290 on Yade changed: https://answers.launchpad.net/yade/+question/682290 Janek Kozicki posted a new comment: I just had another idea: maybe it depends on the linux kernel version. There were several vulnerabilities discovered in Intel processors. One of the called „rowhammer” was a vulnerability where by toggling certain bits you could affect other bits in RAM. Interaction mask works by checking individual bits. Maybe a side effect of fixing this vulnerability is that the old-good bitmask stops working. If this is true, then there shouldn’t be a problem on AMD processor, or on an older kernel version. -- 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 #682290]: the correct use of collider.avoidSelfInteractionMask ?
Question #682290 on Yade changed: https://answers.launchpad.net/yade/+question/682290 Bruno Chareyre posted a new comment: >so results only controled from bit in position 0 at right side little endian vs. big endian?... The most suprizing in all this is that Luc can reproduce the problem on so many (though not all) computers. While nobody else can. Also, Luc, please post your compilation procedure (cmake) just to be sure. Bruno -- You received this question notification because your team yade-users is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #683526]: Interaction problem between two bodies - Direct Shear
Question #683526 on Yade changed: https://answers.launchpad.net/yade/+question/683526 Status: Open => Needs information Robert Caulk requested more information: In an effort to increase the sustainability of this knowledge base, please copy and paste the code here instead of using a link. 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 #683489]: can not see particles in "show 3D"
Question #683489 on Yade changed: https://answers.launchpad.net/yade/+question/683489 Jérôme Duriez proposed the following answer: Hi, It has to do with "clipping planes" properties and (from my experience) the order of (inserting bodies) - (calling for the 3D view) operations (though I do not know the exact behavior) For another MWE (which I can not fully interpret either..): yade.qt.View() O.bodies.append(sphere((0,0,0),1)) # go with the mouse through the GUI to "Display" - tick "clipPlaneActive 0" - set "clipPlaneSe3 0." to 1. - 1. - 1. for the pos, and you will make the sphere disappear. -- 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 #683489]: can not see particles in "show 3D"
Question #683489 on Yade changed: https://answers.launchpad.net/yade/+question/683489 Status: Open => Answered Robert Caulk proposed the following answer: Thanks for the proper MWE :-) The solution, reload the 3D view. Cheers, Robert -- 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 #683388]: How to clump spheres and facet obtained from stl format
Question #683388 on Yade changed: https://answers.launchpad.net/yade/+question/683388 Irfaan Peerun gave more information on the question: Just an update: I have managed to convert the .stl file to .gts using the following command: stl2gts -r < filename.stl > filename.gts gmsh and libgts-bin need to be installed to do so. So now I have a surface which was imported in .gts format using the command: surf=gts.read(open('filename.gts')) My next step is to fill the surface with spheres of various sizes and clump them together to produce a body of the same volume and geometry as the surface. This would require overlapping of spheres. I used the pack.randomDensePack function with sphere radius=0.5 and realfuzz=0.05. The average range diameter of the surface 2.36mm to 1.18mm. Hence, my questions are: [1] Is the pack.randomDensePack function appropriate for this situation? Any rule of thumb in deciding the sphere radius? Does the function include overlapping of spheres? [2] By adding memoizeDb='/tmp/gts-packings.sqlite', does it mean that a temporary sqlite file will be created to store the packing that will be generated? [3] Is there any function to obtain the clump volume as comparison to the imported gts surface. When running the script, I received the following error along with a blank view (no sphere or surface): WARN /build/yade-fDuCoe/yade-2018.02b/pkg/common/InsertionSortCollider.cpp:242 action: verletDist is set to 0 because no spheres were found. It will result in suboptimal performances, consider setting a positive verletDist in your script. Appreciate if anyone could guide me in solving this. The script is as follows: # = Script === from yade import pack,ymport import gts #Add material for spheres m=FrictMat(young = 1E8, poisson = 0.25, frictionAngle = 0.0, density = 2650) # import surface surf=gts.read(open('/home/Desktop/SphereClumping/sample.gts')) # parameters for radom packing in imported surface memoizeDb='/tmp/gts-packings.sqlite' sp=SpherePack() # generate lists of spheres and outer surface if surf.is_closed(): O1=O.bodies.append(pack.gtsSurface2Facets(surf,fixed=False,noBound=True,material=m)) sp=pack.randomDensePack(pack.inGtsSurface(surf),radius=0.5,rRelFuzz=0.05,memoizeDb=memoizeDb,returnSpherePack=True) Otemp=sp.toSimulation() #clump spheres and surface together idClump=O.bodies.clump(Otemp) O.engines=[ ForceResetter(), InsertionSortCollider([Bo1_Sphere_Aabb(),Bo1_Facet_Aabb()]), InteractionLoop( # handle sphere+sphere and facet+sphere collisions [Ig2_Sphere_Sphere_ScGeom(),Ig2_Facet_Sphere_ScGeom()], [Ip2_FrictMat_FrictMat_FrictPhys()], [Law2_ScGeom_FrictPhys_CundallStrack()] ), NewtonIntegrator(gravity=(0,0,-9.81),damping=0.4), ] # set timestep to a fraction of the critical timestep O.dt=0.5*PWaveTimeStep() # save the simulation, so that it can be reloaded later, for experimentation O.saveTmp() from yade import qt qt.View() -- 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