Re: [Yade-users] [Question #693282]: Looking for Direct Shear test script
Question #693282 on Yade changed: https://answers.launchpad.net/yade/+question/693282 Status: Needs information => Answered Luc Scholtès proposed the following answer: Hi, The following lines may help you build a direct shear test simulation (the script needs other scripts to work properly, i.e., one to generate the sample and one to do the identification of the contact along the joint) . Let us know if that's what you are after. ### # -*- coding: utf-8 -*- O=Omega() from yade import ymport, utils, plot ## parameters definition PACKING='global_spheres.xyz' # imported from a text file intR=1.4 DENS=3000 YOUNG=12e9 FRICT=18 POISSON=0.15 TENS=11e6 COH=11e7 SMOOTH=True jointNSTIFF=12e9 jointSSTIFF=12e8 jointFRICT=30 jointTENS=0. jointCOH=0. jointDIL=0. DAMPING=0.5 dtCOEFF=0.5 iterMAX=10 saveVTK=10 recCRACKS=True Output=PACKING+'_1MPa' normalSTRESS=1.e6 normalVEL=normalSTRESS/1e8 # optimized for normalVEL=normalSTRESS/1e8? shearVEL=2*normalVEL # optimized for shearVEL=normalVEL? ## Import of the sphere assembly ### material definition def sphereMat(): return JCFpmMat(type=1,density=DENS,young=YOUNG,poisson=POISSON,frictionAngle=radians(FRICT),tensileStrength=TENS,cohesion=COH,jointNormalStiffness=jointNSTIFF,jointShearStiffness=jointSSTIFF,jointTensileStrength=jointTENS,jointCohesion=jointCOH,jointFrictionAngle=radians(jointFRICT),jointDilationAngle=radians(jointDIL)) def wallMat(): return JCFpmMat(type=0,density=DENS,young=YOUNG,poisson=POISSON,frictionAngle=radians(0)) ## copy spheres from the packing into the scene O.bodies.append(ymport.text(PACKING,scale=1,shift=Vector3(0,0,0),material=sphereMat)) ## preprocessing to get dimensions dim=utils.aabbExtrema() xinf=dim[0][0] xsup=dim[1][0] X=xsup-xinf yinf=dim[0][1] ysup=dim[1][1] Y=ysup-yinf zinf=dim[0][2] zsup=dim[1][2] Z=zsup-zinf ## initial surface S0=X*Z ## spheres factory R=0 Rmax=0 numSpheres=0. for o in O.bodies: if isinstance(o.shape,Sphere): o.shape.color=(0.7,0.5,0.3) numSpheres+=1 R+=o.shape.radius if o.shape.radius>Rmax: Rmax=o.shape.radius Rmean=R/numSpheres create the fracture directly here import gts ptA = gts.Vertex( xinf-X/4., yinf-Y/4., zinf+Z/2.) ptB = gts.Vertex( xinf-X/4., ysup+Y/4., zinf+Z/2.) ptC = gts.Vertex( xsup+X/4., yinf-Y/4., zinf+Z/2.) ptD = gts.Vertex( xsup+X/4., ysup+Y/4., zinf+Z/2.) e1 = gts.Edge(ptA,ptB) e2 = gts.Edge(ptA,ptC) e3 = gts.Edge(ptC,ptB) f1 = gts.Face(e1,e2,e3) e4 = gts.Edge(ptC,ptD) e5 = gts.Edge(ptD,ptB) f2 = gts.Face(e4,e5,e3) s1 = gts.Surface() s1.add(f1) s1.add(f2) facet = gtsSurface2Facets(s1,wire = False,material=wallMat) O.bodies.append(facet) execfile('identifBis.py') #you need the script in the same folder (this one is available in the JCFPM examples) ## creation of shear box thickness=Z/100. oversizeFactor=1.3 ### loading platens O.bodies.append(utils.box(center=(xinf+X/2.,yinf+Y/2.,zinf-thickness+Rmean/5.),extents=(oversizeFactor*X/2,oversizeFactor*Y/2,thickness),material=wallMat,fixed=True)) bottomPlate=O.bodies[-1] O.bodies.append(utils.box(center=(xinf+X/2.,yinf+Y/2.,zsup+thickness-Rmean/5.),extents=(oversizeFactor*X/2,oversizeFactor*Y/2,thickness),material=wallMat,fixed=True)) topPlate=O.bodies[-1] ## Engines O.engines=[ ForceResetter(), InsertionSortCollider([Bo1_Sphere_Aabb(aabbEnlargeFactor=intR,label='aabb'),Bo1_Box_Aabb()]), InteractionLoop( [Ig2_Sphere_Sphere_ScGeom(interactionDetectionFactor=intR,label='ss2d3dg'),Ig2_Box_Sphere_ScGeom()], [Ip2_JCFpmMat_JCFpmMat_JCFpmPhys(cohesiveTresholdIteration=1,label='interactionPhys')], [Law2_ScGeom_JCFpmPhys_JointedCohesiveFrictionalPM(smoothJoint=SMOOTH,recordCracks=True,label='interactionLaw')] ), GlobalStiffnessTimeStepper(defaultDt=0.1*PWaveTimeStep(),timestepSafetyCoefficient=dtCOEFF), TranslationEngine(ids=[topPlate.id],translationAxis=(0.,0.,-1.),velocity=0.,label='zTranslation'), PyRunner(iterPeriod=1,initRun=True,command='servoController()',label='servo'), NewtonIntegrator(damping=DAMPING,gravity=(0,0,0),label='damper'), PyRunner(iterPeriod=100,initRun=True,command='dataCollector()'), VTKRecorder(iterPeriod=int(iterMAX/saveVTK),initRun=True,fileName=Output+'-',recorders=['spheres','stress','velocity','jcfpm','cracks','boxes']) ] ## Engines definition ( servoController() and dataCollector() ) shearing=False sigmaN=0 tau=0 Fs1=0 Fs2=0 Xdispl=0 px0=0 Zdispl=0 pz0=topPlate.state.pos[2] prevTranslation=0 n=0 def servoController(): global px0, pz0, sigmaN, n, Fn1, Fn2, shearing, butee, piston1, piston2 Fn1=abs(O.forces.f(topPlate.id)[2])
Re: [Yade-users] [Question #693898]: Bonding particles with JCFpm yields unexpected forces
Question #693898 on Yade changed: https://answers.launchpad.net/yade/+question/693898 Status: Open => Answered Luc Scholtès proposed the following answer: Hi David, 1) no Hertz Mindlin contact force in JCFPM: stiffnesses are constant (linear force displacement law). The way these stiffnesses are computed is different for isOnJoint and not isOnJoint interaction though: - for not isOnJoint interactions: kn is computed as in CundallStrack as a harmonic average of the particle elastic moduli such as kn=2* E1*R1*E2*R2 / (E1*R1 + E2*R2) and ks=ks = 2*E1*R1*v1*E2*R2*v2 / (E1*R1*v1 + E2*R2*v2) - for isOnJoint interactions: kn and ks are directly assigned the values define by the jointNormal/ShearStiffness arguments such as ki = (jki1 + jki2)/2*contactPhysics->crossSection 2) Is it necessary to custom set every interaction ‘isOnJoint’ when forces according to jointNormalStiffness / jointShearStiffness are desired? -> not sure to understand your inquiry here... I think I answered in the previous comment but: what exactly do you want to achieve? 3) How does one achieve forces that are guided by the cross-section A and a defined jointNormalStiffness? -> I may not understand your questions but I think it is the case (see previous answer). You could also define the contact stiffness based on the surface when the interactions are set (after the first timestep of your simulation). You would have to do that for both the material attribute (body.mat) and the interaction attribute (interaction.phys) through python coding (no need to modify the sources). 4) Similar to the Mindlin Physics Model, is it possible to integrate viscous damping with a coefficient of restitution en (Ip2_FrictMat_FrictMat_MindlinPhys(en=en))? -> yes, that's possible but you'll need to modify the sources if you want to combine JCFPM features with Mindlin Features (viscous damping + joint like interactions). I hope that's clear Luc -- 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 #693898]: Bonding particles with JCFpm yields unexpected forces
Question #693898 on Yade changed: https://answers.launchpad.net/yade/+question/693898 Luc Scholtès proposed the following answer: Alright, For 1), as suggested by Jerome, if you want to modify an existing interaction stiffness, you need to add i.phys.kn=valueYouWant in your loop #Set sphere state and interactions manually 'onJoint' That's true for all properties of an existing interaction. The way you did it only changed the properties on the particles, which will be taken into consideration the next time an interaction is created with these particles. For 2), I am not sure to see the point of using a bond as a damping tool... For instance, you could compact the assembly with a classic frictional law using a high value of the non viscous damping coefficient (defined in Newton integrator)? Now, assuming that you really want to add cohesion between particles to compact the assembly , why define jointed interactions to do that? You can simply define cohesive bonds without the attribute "onJoint"... The onJoint attribute only makes sense if you want to reorientate the contacts according one or several predefined discontinuity planes (cf. smooth contact logic proposed in [1,2]). If that's not the case, just define cohesion and/or tensile strength between particles without changing the contact plane orientation (without playing on the onJoint attribute). Luc [1] https://www.sciencedirect.com/science/article/pii/S1365160910002169 [2] https://www.sciencedirect.com/science/article/pii/S1365160912000391?via%3Dihub -- 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 #676841]: the definition of porosity
Question #676841 on Yade changed: https://answers.launchpad.net/yade/+question/676841 Luc Scholtès posted a new comment: Dear Feri, Yes there is solution for that. Just have a look at the script below which describes a uniaxial test with the JCFPM. More specifically, look at the intR parameter and how it is used. Luc ps: next time, please open a dedicated question. from yade import ymport, plot # SIMULATIONS DEFINED HERE pre-existing packing PACK='box_112_5659.spheres' Simulation Control rate=-0.01 #deformation rate iterMax=6 # maximum number of iterations saveData=int(iterMax/1000) # data record interval saveVTK=int(iterMax/5.) # saving output files for paraview OUT='uniaxialCompressionTest_0.01' Microproperties (interparticle parameters) DENS=3000 # this one can be adjusted for different reasons (porosity of packing vs porosity of material / increase time step (no gravity -> no real effect on the result) intR=1.2 # allows near neighbour interaction (can be adjusted for every packing / the bigger -> the more brittle / careful when intR is too large -> bonds can be created "over" particles) -> intR can be calibrated to reach a certain coordination number K (see calculation on line 115) YOUNG=10e9 # this one controls the Young's modulus of the material ALPHA=0.15 # this one controls the material Poisson's ratio of the material TENS=10e6 # this one controls the tensile strength UTS of the material COH=10e6 # this one controls the compressive strength UCS of the material, more precisely, the ratio UCS/UTS (from my experience: COH should be >= to TENS, >= 10*TENS for competent materials like concrete) FRICT=20 # this one controls the slope of the failure envelope (effect mainly visible on triaxial compression tests) example values ### granite -> needs K=13 #YOUNG=68e9 #ALPHA=0.333 #TENS=8e6 #COH=16e7 #FRICT=10 ### Fontainebleau sandstone -> needs K=10 #YOUNG=50e9 #ALPHA=0.25 #TENS=45e5 #COH=45e6 #FRICT=18 claystone -> needs K=8 #YOUNG=10e9 #ALPHA=0.1 #TENS=12e6 #COH=12e6 #FRICT=7 material definition def sphereMat(): return JCFpmMat(type=1,density=DENS,young=YOUNG,poisson=ALPHA,tensileStrength=TENS,cohesion=COH,frictionAngle=radians(FRICT)) import pre-existing specimen O.bodies.append(ymport.text(PACK,scale=1.,shift=Vector3(0,0,0),material=sphereMat)) R=0 Rmax=0 Rmin=1e6 nbSpheres=0. for o in O.bodies: if isinstance(o.shape,Sphere): o.shape.color=(0.7,0.5,0.3) nbSpheres+=1 R+=o.shape.radius if o.shape.radius>Rmax: Rmax=o.shape.radius if o.shape.radius0: dim=aabbExtrema() layerSize=0.15 # size of the reinforced zone 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 ( o.state.pos[longerAxis]>(dim[1][longerAxis]-layerSize*(dim[1][longerAxis]-dim[0][longerAxis])) ) : o.shape.color=(1,1,1) coordination number calculation numSSlinks=0 numCohesivelinks=0 for i in O.interactions: if not i.isReal : continue if isinstance(O.bodies[i.id1].shape,Sphere) and isinstance(O.bodies[i.id2].shape,Sphere): numSSlinks+=1 # FOR TENSION TEST: these lines reinforce the bonds near the boundaries to avoid rupture along the boundaries if O.bodies[i.id1].shape.color==(1,1,1) or O.bodies[i.id2].shape.color==(1,1,1) : i.phys.FnMax*=100 i.phys.FsMax*=100 if i.phys.isCohesive : numCohesivelinks+=1 print ("K=", 2.0*numCohesivelinks/nbSpheres) #vtk.dead=0 #O.step() #vtk.iterPeriod=saveVTK # SIMULATION REALLY STARTS HERE strainer.dead=0 O.run(iterMax) -- 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 #676841]: the definition of porosity
Question #676841 on Yade changed: https://answers.launchpad.net/yade/+question/676841 Luc Scholtès posted a new comment: Hi, JCFPM is suitable for modeling rocks [1] and fractured rocks [2]. What do you want to model exacly? -> Please open a dedicated question since we are very far from " the definition of porosity" Luc [1] https://www.sciencedirect.com/science/article/abs/pii/S0022509612002268 [2] https://www.sciencedirect.com/science/article/pii/S1365160912000391 -- 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 #693898]: Bonding particles with JCFpm yields unexpected forces
Question #693898 on Yade changed: https://answers.launchpad.net/yade/+question/693898 Status: Open => Answered Luc Scholtès proposed the following answer: Hi David, "What constitutive law would you recommend to achieve these cohesive bonds?" You can use the JCFPM. All interactions (onJoint or notOnJoint) can be defined with or without cohesion/tensile strength. The tensile strength defines a maximum admissible force in tension (normal direction to the contact). The cohesion defines a maximum admissible force in shear (tangential direction to the contact). Please find below an example for simulating a uniaxial compression test on an "intact" sample (no joints) with JCFPM. Luc --- # -*- coding: utf-8 -*- # -*- encoding=utf-8 -*- from yade import pack, plot # SIMULATIONS DEFINED HERE packing (previously constructed) OUT='compressionTest_JCFPM' Simulation Control rate=-0.01 #deformation rate iterMax=1 # maximum number of iterations saveVTK=2000 # saving output files for paraview Material microproperties intR=1.1 # allows near neighbour interaction (can be adjusted for every packing) DENS=2500 # could be adapted to match material density: dens_DEM=dens_rock*(V_rock/V_particles)=dens_rock*1/(1-poro_DEM) -> packing porosity as to be computed? YOUNG=20e9 FRICT=7 ALPHA=0.1 TENS=1e6 COH=1e6 material definition def sphereMat(): return JCFpmMat(type=1,density=DENS,young=YOUNG,poisson=ALPHA,frictionAngle=radians(FRICT),tensileStrength=TENS,cohesion=COH) create the specimen pred=pack.inCylinder((0,0,0),(0,1,0),0.25) O.bodies.append(pack.regularHexa(pred,radius=0.025,gap=0.,material=sphereMat)) # up to you to define another sample here, e.g., with randomDensePack or anything else. R=0 Rmax=0 nbSpheres=0. for o in O.bodies: if isinstance(o.shape,Sphere): nbSpheres+=1 R+=o.shape.radius if o.shape.radius>Rmax: Rmax=o.shape.radius Rmean=R/nbSpheres print 'nbSpheres=',nbSpheres,' | Rmean=',Rmean boundary condition (see 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. coordination number verification numSSlinks=0 numCohesivelinks=0 for i in O.interactions: if isinstance(O.bodies[i.id1].shape,Sphere) and isinstance(O.bodies[i.id2].shape,Sphere): numSSlinks+=1 if i.phys.isCohesive : numCohesivelinks+=1 print "nblinks=", numSSlinks, " | nbCohesivelinks=", numCohesivelinks, " || Kcohesive=&quo
Re: [Yade-users] [Question #694100]: Simulation compared to real tests
Question #694100 on Yade changed: https://answers.launchpad.net/yade/+question/694100 Status: Open => Answered Luc Scholtès proposed the following answer: Hello, How did you define the interparticle properties in your simulation (interparticle stiffnesses, interparticle friction)? Did you calibrate the model to make sure that the macroscopic emergent behavior is the behavior you expect? My guess is that the emergent/macroscopic friction angle of your DEM model is exactly half the friction angle of the material you want to model. Because of the spherical simplification (and other things), defining an interparticle friction angle of 40° will not result in a macroscopic/emergent friction angle of 40°. Generally, the emergent macroscopic friction angle is smaller than the interparticle friction angle. Sorry if you already knew that but I just wanted to be sure before going any further. Luc -- 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 #694100]: Simulation compared to real tests
Question #694100 on Yade changed: https://answers.launchpad.net/yade/+question/694100 Status: Open => Answered Luc Scholtès proposed the following answer: The fact that you asked about how to measure the emergent properties of your DEM model confuses me a bit since this is part of the calibration process which consists in finding the set of interparticle properties (stiffnesses, friction) that enables to obtain the right macroscopic properties. Usually, this is done by running either triaxial or direct shear tests to extract the emergent properties for a given set of interparticle properties. Just to be sure: how did you calibrate your model? Luc -- 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 #694100]: Simulation compared to real tests
Question #694100 on Yade changed: https://answers.launchpad.net/yade/+question/694100 Status: Open => Answered Luc Scholtès proposed the following answer: OK... I am still confused because you say that you chose the parameters that matches your soil but then you say that there is a discrepancy when you compare the stress strain curves... If I understand correctly, your real soil has an internal friction angle of 38°. To obtain this value, you performed several direct shear tests at different normal stresses and then, based on the Mohr-Coulomb criterion, you used a linear regression to fit your data (peak or residual shear stresses and associated normal stresses). My question is: what is the internal/emergent/macroscopic friction angle of your DEM model/numerical material? I see that you defined a 40° in the following lines of your script: # friction angles compFRIC=15. # during compaction (controls porosity) FRIC=40. # during shear These lines defines the interparticle friction angle, the value that is used in CohFrictMat. This value (40°) does not define the internal/emergent/macroscopic friction angle of your DEM model/material. To estimate the internal/emergent/macroscopic friction angle of your DEM model/material, you need to do exactly what you have done with your soil: for a given value of the interparticle friction angle, perform 2 (at least) simulations with different normal stresses and then fit the results with the MC criterion. You will see that there is no direct correspondence between the interparticle friction angle defined in CohFrictMat anf the internal/emergent/macroscopic friction angle of the DEM material/material. The calibration consists in adjusting the interparticle friction angle (the one in CohFrictMat) that produces an internal/emergent/macroscopic friction angle of 40°. Sorry if all this was clear but, again, I want to make sure to understand the source of your issue. Finally, you may want to have a look at this article: https://hal.univ- grenoble-alpes.fr/hal-01951842/document Luc -- 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 #694253]: JCFpmMat parameters define
Question #694253 on Yade changed: https://answers.launchpad.net/yade/+question/694253 Luc Scholtès proposed the following answer: Hi Aaron, In JCFpmMat (https://yade- dem.org/doc/yade.wrapper.html#yade.wrapper.JCFpmMat), it defines a lot of stiffness, strength parameters which are really confusing. -> Well, YADE is a collaborative project so if you find things confusing, feel free to propose improvements. This being said (...), JCFPM was designed to deal with jointed materials, i.e., cohesive materials with pre-existing structures, like, for instance, fractured rocks (rocks with pre-existing structural discontinuities/fractures). Hence, all parameters are "doubled" so that the two constitutive component of a fractured rock (i.e., matrix and fractures) can have different mechanical properties. If the contact/bond between 2 interacting particles belong to a fracture plane, its properties are defined through the "jointDedicatedProperty". If the contact/bond between 2 interacting particles belong to the matrix, its properties are defined through the "dedicatedProperty". If your material does not contain any pre-existing structures, you can just forget about all the jointDedicatedProperties". Why did we bother with jointDedicatedProperties in JCFPM? Because we wanted to be able to reorientate the contact/bond plane accordingly to the discontinuity/fracture plane. I strongly suggest you read [1]. 1. What are the differences between cohesion and jointCohesion? -> As mentioned above, "cohesion" is for interactions within the rock matrix. "jointCohesion" is for interactions along pre-existing discontinuities/fractures. The same logic applies to tensileStrength/jointTensileStrength, frictionAngle/jointFrictionAngle, YoungModulus/jointNormalStiffness, Poisson/jointShearStiffness. Then, you have extra parameters like jointDilation which enables to define the dilation of jointed contacts following the physics of rock joints. 2. What is the meaning of joint surface, does it describe the strength/stiffness of debonding? if so, why do we have to define the stiffness of debonding? why not just define the stiffness of the bonding material itself? -> are you referring to the crossSection variable? I don't see any jointSurface variable? Or are you referring to the "jointNormal" variable? If that's the case, jointNormal is a vector that defines the orientation of the pre-exisitng discontinuity/fracture (if there is one) 3. What is the young in my case, it depends on IP2 functor, but I did not find related information. Does it mean the Young modulus of particles? -> The name "Young" is confusing, I agree with you. It was defined at the very first stage of the code development and it kept going on afterward so we just have to deal with it... Actually, it directly relates to the macroscopic Young modulus. ANW, it defines the normal stiffness of contacts (https://yade- dem.org/doc/formulation.html?highlight=young#normal-stiffness). In JCFPM material, it defines the normal stiffness of contacts within the rock matrix (notOnJoint). In your simulation, I'd suggest to use only one material type with 2 sets of properties insteaf of using both JCFpmMat and CohFrictMat. Please find below a script that simulates a uniaxial compression tests on an intact matrial using JCFPM. Cheers, Luc [1] https://www.sciencedirect.com/science/article/abs/pii/S1365160912000391: Luc Scholtès, Frédéric-Victor Donzé, Modelling progressive failure in fractured rock masses using a 3D discrete element method, International Journal of Rock Mechanics and Mining Sciences, Volume 52, 2012, Pages 18-30 -- from yade import pack, plot # SIMULATIONS DEFINED HERE Name of output files OUT='compressionTest' Simulation Control rate=-0.05 #deformation rate iterMax=20 # maximum number of iterations saveVTK=int(iterMax/5.) # saving output files for paraview Microproperties (interparticle parameters) intR=1.4 # allows near neighbour interaction (can be adjusted for every packing / the bigger -> the more brittle / careful when intR is too large -> bonds can be created "over" particles) -> intR can be calibrated to reach a certain coordination number K (see calculation on line 115) DENS=3000 # this one can be adjusted for different reasons (porosity of packing vs porosity of material / increase time step (no gravity -> no real effect on the result) YOUNG=10e9 # this one controls the Young's modulus of the material ALPHA=0.15 # this one controls the material Poisson's ratio of the material TENS=3e6 # this one controls the tensile strength UTS of the material COH=30e6 # this one controls the compressive strength UCS of the material, more precisely, the ratio UCS/UTS (from my experience: COH should be >= to TENS, &g
Re: [Yade-users] [Question #695118]: Is possible to plot the unbreakable bonds during UTS in paraview
Question #695118 on Yade changed: https://answers.launchpad.net/yade/+question/695118 Status: Open => Answered Luc Scholtès proposed the following answer: Hi, The 'jcfpm' key in the VTKRecorder should produce '.intr.vtp' files that you can then open with Paraview. If that's not the case (it should not), you need to add the 'intr' key in the recorders' list. Once you have these '.intr.vtp' files, you can open them in Paraview and then select the 'isCohesive' option to see the "unbroken" bonds (the cohesive ones). Let us know if that's what you were looking for. Luc -- 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 #695118]: Is possible to plot the unbreakable bonds during UTS in paraview
Question #695118 on Yade changed: https://answers.launchpad.net/yade/+question/695118 Luc Scholtès proposed the following answer: Ah.. sorry I misread your question. For the bonds, I don't see anything that could help but it is absolutely feasible for the spheres. Just color the spheres differently in the simulation (e.g., spheres in layer in red, color=(1,0,0) and spheres outside in blue, color= (0,1,0)) and then add the key 'colors" in the VTKRecorder. You should be able to play with the color of the spheres when opening the .sphere.vtu in Paraview. Actually, given the current settings (color of spheres in your simulation), you should already be able to distinguish the layer in Paraview (just add 'colors' in the VTKRecorder). Luc -- 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 #695475]: Scaling of Yade with the number of particles
New question #695475 on Yade: https://answers.launchpad.net/yade/+question/695475 Hi all, Just wondering, how does the latest versions of Yade perform with respect to other DEM codes (e.g., Esys, PFC)? One of my colleague asked me about it but I could not really answer. Also, IIRC, efforts have been made recently to enhance the code efficiency but I could not find any quantitative evidences (also, [1] does not show anymore, for me at least). Thanks in advance for your answer(s). Luc [1] https://www.yade-dem.org/wiki/Comparisons_with_PFC3D -- 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 #696146]: script of fluidized bed by E Montella et al., PRE, 2016
New question #696146 on Yade: https://answers.launchpad.net/yade/+question/696146 Hello, Is the script used by E. Montella to create the video [1] where a granular bed is fluidized available somewhere? Many thanks Luc [1] https://www.youtube.com/watch?v=gH585XaQEcY -- 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 #696146]: script of fluidized bed by E Montella et al., PRE, 2016
Question #696146 on Yade changed: https://answers.launchpad.net/yade/+question/696146 Status: Answered => Solved Luc Scholtès 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
[Yade-users] [Question #696786]: Strange behavior: sand pile settles in a squared shape ?
New question #696786 on Yade: https://answers.launchpad.net/yade/+question/696786 Hi all, When simulating the settlement of a relatively dense) packing on a plane surface, I obtain an equilibrium state which seems a bit awkward: from above, the particles tend to spread in a squared shape instead of a circular shape (as I would have expected). I tested different contact laws as well as different initial packing shapes and it seems to occur systematically (the squared shape is more or less evident depending on the case). The initial packing is built based on randomDensePack(): could this be the reason? Please find below a MWE if you want to reproduce the "problem" (jut click and play for ~10 000 iterations when the GUI opens). Any feedback would be appreciated. Luc --- # -*- coding: utf-8 -*- from yade import pack assembly O.materials.append(FrictMat(density=2600,young=1e6,poisson=0.333,frictionAngle=radians(30),label='sphereMat')) L=2. D=L/2. sphereRad=0.5*(min(L,D)/15.) # define sphere mean radius as a function of model dimensions / you can directly define a value pred=pack.inCylinder((0,0,0),(0,0,L),D/2.) #pred=pack.inSphere((0,0,0),D/2.) O.bodies.append(pack.randomDensePack(pred,radius=sphereRad,rRelFuzz=0.333,spheresInCell=3000,memoizeDb='/tmp/gts-triax-packings.sqlite',returnSpherePack=False,material='sphereMat')) dim=utils.aabbExtrema() xinf=dim[0][0] xsup=dim[1][0] X=xsup-xinf yinf=dim[0][1] ysup=dim[1][1] Y=ysup-yinf zinf=dim[0][2] zsup=dim[1][2] Z=zsup-zinf get spheres dimensions (pre-processing) R=0 numSpheres=0. for o in O.bodies: if isinstance(o.shape,Sphere): o.shape.color=(0.8,0.1,0.1) numSpheres+=1 R+=o.shape.radius Rmean=R/numSpheres print('nb of spheres=',numSpheres,' | Rmean=',Rmean) floor O.materials.append(FrictMat(density=2600,young=1e6,poisson=0.333,frictionAngle=radians(30),label='floorMat')) O.bodies.append(box(center=(0.,0.,zinf-Z/10.),extents=(X*100.0,Y*100.0,Z/10.),fixed=True,wire=False,color=(0,1,0),material='floorMat')) # engines O.engines=[ ForceResetter() ,InsertionSortCollider([Bo1_Sphere_Aabb(),Bo1_Box_Aabb()]) ,InteractionLoop( [Ig2_Sphere_Sphere_ScGeom(),Ig2_Box_Sphere_ScGeom()], [Ip2_FrictMat_FrictMat_FrictPhys()], [Law2_ScGeom_FrictPhys_CundallStrack()] ) ,GlobalStiffnessTimeStepper(defaultDt=0.1*utils.PWaveTimeStep(),timestepSafetyCoefficient=0.5) ,NewtonIntegrator(damping=0.7,gravity=(0.,0.,-9.82),label='newton') ] open yade GI from yade import qt v=qt.Controller() v=qt.View() Allows to reload the simulation O.saveTmp() print('press play now!)') -- 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 #696786]: Strange behavior: sand pile settles in a squared shape ?
Question #696786 on Yade changed: https://answers.launchpad.net/yade/+question/696786 Status: Answered => Solved Luc Scholtès confirmed that the question is solved: Thank you Jan. Indeed, the damping coefficient plays a role! I guess I'd need to consider viscous damping at the contact scale to avoid such "non physical" behavior, right? Luc -- 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 #697724]: simulation of uniaxial compression test with precracked
Question #697724 on Yade changed: https://answers.launchpad.net/yade/+question/697724 Luc Scholtès proposed the following answer: Hello, You can choose either option in the jcfpm model. Just change the boolean smoothJoint from True to False: https://yade- dem.org/doc/yade.wrapper.html?highlight=smoothjoint#yade.wrapper.Law2_ScGeom_JCFpmPhys_JointedCohesiveFrictionalPM.smoothJoint if smothJoint=False: regular contacts geometry and mechanical properties (you can modify the properties as you want, e.g., isCohesive=0, FnMax=FsMAx=0). if smoothJoint=True: the contact geometry will be modified according to the fracture plane and the properties modified according to the joint properties of the JCFPMmat, i.e., jointNormalStiffness, jointShearStiffness, jointFrictionAngle, jointTensileStrength, jointCohesion (you might have errors/strange behaviors if you don't define those since their default values are 0). The identification of the contacts and particles along the pre-existing crack/fracture is done when you type execfile('identifBis.py'). After that, just loop over the particles and interactions and check their status: those which are along the fracture plane will be identified as onJoint: for particles: https://yade-dem.org/doc/yade.wrapper.html?highlight=onjoint#yade.wrapper.JCFpmState.onJoint for interactions: https://yade-dem.org/doc/yade.wrapper.html?highlight=onjoint#yade.wrapper.JCFpmPhys.isOnJoint Luc -- 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 #698301]: large scale simulations
New question #698301 on Yade: https://answers.launchpad.net/yade/+question/698301 Hello folks, I might be involved in a project which would require to run a lot of simulations involving hundred thousands or even millions of particles. Of course, I'd like to use YADE for that purpose. In case this project sees the light, what would be the best hardware option considering at this stage that money will not be an issue? We will probably have access to a cluster or even a supercomputer with possibilities to run simulations in parallel but we might also need to buy one dedicated machine for testing, preconditioning of simulations and ease of use (PhD student / postdoc fellow). What are basically the most important specifications required to run such large scale simulations? As always, many thanks for your input. Luc -- 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 #698566]: Confused by identificationSpheresOnJoint.py
Question #698566 on Yade changed: https://answers.launchpad.net/yade/+question/698566 Status: Open => Answered Luc Scholtès proposed the following answer: Hi, I'll try to answer even though I wrote this code almost 10 years ago: 1. I think there was a rule (in YADE collider) which defined facet- sphere interactions such as body1 is always the facet and body2 always the sphere. See for instance: https://answers.launchpad.net/yade/+question/690010. You may want to doublecheck if this rule is still effective. 2a. I arbitrarily decided that each particle would, at the maximum, belong to 3 discontinuities at the same time. I believe this is quite reasonable when you consider a fractured rock mass but you can, if you want, change that number (it might complexify the numerical treatment though). 2b. I could not find the word "surface" in the script so I cannot answer your concern about it. 3. The cross product of parallel vectors is a zero vector whose norm is (strictly) equal to 0. Testing the norm of the cross product thus enables to discriminate between different/non parallel joint surfaces: if the norm of the cross product of their respective normals is not equal to 0, then the joint surfaces are different/non parallel. The 0.05 I introduced was a way to take into account some sort of error/margin in the joint surfaces orientation and to avoid the definition of 2 different joint planes for sub-parallel surfaces. This was, again, an arbitrary choice from myself si you can, if you want, modify that part of the code. I hope it helps. Luc -- 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 #698566]: Confused by identificationSpheresOnJoint.py
Question #698566 on Yade changed: https://answers.launchpad.net/yade/+question/698566 Status: Open => Answered Luc Scholtès proposed the following answer: I'll try to answer but, unfortunately, you'll have to go through the code by yourself to understand everything in details: - in the statements you mentioned, surface and plane have the same meaning: they both represent the discontinuity plane/surface. - you may have several fracture planes/surfaces in your model. The code is written so that you can have maximum 3 planes associated to each particle. For example, in a 2D model, if you have a fracture plane dipping at 20° and another one dipping at 60°, they might intersect at some location in your model. The particles located around the intersection point must then have in memory the fact that they belong to 2 planes with different inclinations, hence the jointNormal1 and the jointNormal2. Then, the code will be able to know if particles located on each side of the planes belong to plane1 or to plane2 and adjust the geometry (and behavior) according to their respective orientations (normals). For instance, if there is an interaction between a particle belonging to plane1 and a particle belonging to plane1 and plane 2, the interaction geometry will be defined according to the geometry of plane1. If they both belong to plan1e and to plane2, I think the interaction geometry is not affected so that the overall behavior is only affected by the surrounding well defined interactions (according to plane1 or to plane2). - nRef corresponds to the normal to the facet that is tested within the interaction loop and which represents the actual discontinuity plane (temporary attribute). JointNormali is the particle attribute (permanent attribute): the code defines jointNormali according to nRef when and then move on the next interaction. Be careful: the code is made so that there is 2 loops: - the first one which tests interactions between facet and spheres to identify which particles belong to the fracture plane. - the second one which tests interactions between the particles belonging to the fracture plane (identified in the first loop) and particles in contact with these particles. It is good that you want to understand but may I ask what is your goal exactly? The code has been verified already and seems to work properly. Do you plan to make some modifications? Luc -- 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 #699238]: How to control the failure conditions in the triaxial compression
Question #699238 on Yade changed: https://answers.launchpad.net/yade/+question/699238 Luc Scholtès posted a new comment: Hi, You can definitely use the JCFPM model for modeling rock like materials. Please refer to previous questions/answers where you will find everything you need to perform a uniaxial compression test (you'll need to marginally adapt the script for triaxial tests). See for instance: https://answers.launchpad.net/yade/+question/694253 https://answers.launchpad.net/yade/+question/697724 Luc -- 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 #699362]: The uniaxial compression experiment fails to reach the critical state
Question #699362 on Yade changed: https://answers.launchpad.net/yade/+question/699362 Luc Scholtès posted a new comment: Hello Zhicheng Gao, if you want to simulate uniaxial compression of rock samples, I'd suggest you have a look at previous related threads/questions. Please see for example: https://answers.launchpad.net/yade/+question/661250 https://answers.launchpad.net/yade/+question/694253 https://answers.launchpad.net/yade/+question/635871 -- 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 #700143]: Uniaxial compression calibration parameters are not applicable to triaxial compression
Question #700143 on Yade changed: https://answers.launchpad.net/yade/+question/700143 Luc Scholtès posted a new comment: Hello Ziyu Wang, If you use the JCFPM model, you could have a look at this reference [1] where a calibration procedure is presented (section 4). It should help you determine a good set of parameters to match a given set of emergent properties. Luc [1]: https://www.sciencedirect.com/science/article/pii/S0022509612002268?via%3Dihub -- 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 #700475]: interface friction angle
Question #700475 on Yade changed: https://answers.launchpad.net/yade/+question/700475 Status: Open => Answered Luc Scholtès proposed the following answer: Hello, I think the rule for the contact laws you are using is: contact friction angle = min (friction angle body1, friction angle body2) In your case, the cone/particle contact friction angle is thus always equal to 19.5 degrees (particle friction angle) if I understood correctly. Unfortunately, I don't know any "python workaround" to change this rule. From my knowledge, only a change in the C++ code would allow you to have a different behavior. To be confirmed... Luc -- 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 #700691]: Triaxial strength and strain about JCFpmMat parameters
Question #700691 on Yade changed: https://answers.launchpad.net/yade/+question/700691 Status: Open => Answered Luc Scholtès proposed the following answer: Hello, I copy here a citation from reference [1] where the calibration procedure of the JCFPM model is explained: "... the calibration procedure was run as follow: 1. Choice of a coordination number N allowing matching the desired tensile strength to compressive strength ratio sigmac/sigmat. As a first approximation, from the authors’ experience the c/t ratio is taken equal to the macroscopic sigmac/sigmat ratio. Looking first arbitrary, this option seems however to capture the micromechanisms usually observed experimentally as tensile cracking is representative of the brittleness of the material. 2. Determination of the elastic parameters Eeq and kn/ks in order to match the elastic properties (Young modulus and Poisson ratio) by running either tensile or compression tests. 3. Determination of the local tensile strength t in order to match the tensile strength sigmatof the material by running tensile tests. 4. Determination of the interparticle friction angle in order to match the slope of the failure envelope by running a series of triaxial compression tests at different confining pressures." Of course, the citation makes sense only if you have a look at the model description in the same paper and at the discussion about the N value (coordination number/number of bonds per particle which is a function of the interaction radius defining near neighbour interactions). For sets of values for a granite or a sandstone, you can have a look at table 3 of the same article. Do not hesitate if you have other questions. Luc [1]: https://www.sciencedirect.com/science/article/abs/pii/S0022509612002268 -- 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 #701012]: DFN and Thermal engine
Question #701012 on Yade changed: https://answers.launchpad.net/yade/+question/701012 Luc Scholtès posted a new comment: Just wondering about the dependencies since I am not entirely clear with how everything is related in the code. How is DFNFlowEngine "linked" to FLowEngine exactly? For instance, should we add ifdef DFNFLOW and/or include "FlowEngine_DFNFlowEngineT.hpp" somewhere in the thermalEngine files to make it work? I thought that DFNFlowEnginee inherited from FlowEngine so that there is no need to write such "dependencies" but is that the case or not? Sorry if this is a silly question but I must admit this is out of my programming comfort zone. Is there some sort of a "documentation" about how all these dependencies work in YADE PFV related extensions? Luc -- 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 #701785]: Does jcfpm material have strain softening stage?
Question #701785 on Yade changed: https://answers.launchpad.net/yade/+question/701785 Status: Open => Answered Luc Scholtès proposed the following answer: Hello, 1) The JCFPM model does not include the softening stage (weighted decrease of the normal force once the maximum admissible force is reached). 2) You should be able to observe a change in the emergent post-peak behavior, from brittle to ductile, with the increase of the confining pressure even though the interparticle force softening is not implemented. My first guess would be that your material is too "strong" so that it remains brittle for the range of confining pressures you have tested. Usually, The brittle-ductile transition occurs for confining pressures approximately equal to the uniaxial compressive strength. What is the UCS of your material? The combination of a high interactionRadius (1.5) and a high tensile strength value (160e6) would lead to a very strong/competent material in my experience. Luc -- 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 #701785]: Does jcfpm material have strain softening stage?
Question #701785 on Yade changed: https://answers.launchpad.net/yade/+question/701785 Luc Scholtès posted a new comment: Did you use the same assembly (statistically equivalent in terms of particle size distribution, porosity, connectivity, ...) when you did your calibration and when you ran your latest simulation? If yes, you should get the same emergent behavior with the same interparticle properties (including the interaction radius). As I said, a high interparticle strength combined with a large interaction radius would defintely produce a very strong material (high compressive strength) and, hence, a brittle behavior under "relatively" small confining pressures. -- 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 #706655]: triaxial test on soft rock
Question #706655 on Yade changed: https://answers.launchpad.net/yade/+question/706655 Status: Open => Answered Luc Scholtès proposed the following answer: Hello, I'd be happy to work on your code if you could also help me a bit and provide a Minimal Working Example: https://www.yade- dem.org/wiki/Howtoask ANW, I'd suggest you to build your sample in a different script and then save it to .txt once compacted and stable (e.g., using export.text). You can use whichever contact model for this part. Then, load the sample in your simulation (e.g., using ymport.text) where you define the JCFPM model and run the full triaxial loading (hydrostatic+deviatoric) on it without changing the material mid simulation. Doing so, you'll start from a stress free assembly from the beginning of the loading, as you would in the lab. Luc -- 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 #706655]: triaxial test on soft rock
Question #706655 on Yade changed: https://answers.launchpad.net/yade/+question/706655 Status: Open => Answered Luc Scholtès proposed the following answer: Not sure I understand your statement "if I set the material being Frictmaterial, the material of grains will not change before loading?" so I will just add that the way the JCFPM model is written, the equilibrium interparticle distance is defined from the first iteration of the simulation as the sphere centre to sphere centre distance: whatever the assembly you import into the simulation, it will be stress free from the beginning of your simulation, before you apply any loading to it. You can thus choose any material to generate the assembly and decide of a criterion to set your sample geometrical properties beforehand (e.g., a certain degree of compacity). This possibility to consider stress free assemblies was introduced to enable near neighbour interactions (create bonds between non contacting particles). Please have a look at [1] for further details about this feature. [1]: http://dx.doi.org/10.1016/j.jmps.2012.10.005 -- 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 #706667]: 'JCFpmState' object has no attribute 'tensBreak'
Question #706667 on Yade changed: https://answers.launchpad.net/yade/+question/706667 Status: Open => Answered Luc Scholtès proposed the following answer: Hi, This example script is deprecated I think since, as the error says, jcfpm state has no (no more) attributes 'tensBreak' nor 'shearBreak' which are called in the custom recorder() function. It should work if you change the following loop: tensCks=0 shearCks=0 for o in O.bodies: if isinstance(o.shape,Sphere): tensCks+=o.state.tensBreak shearCks+=o.state.shearBreak by tensCks=interactionLaw.nbTensCracks shearCks=interactionLaw.nbShearCracks BTW, you could actually remove the lines related to cracks in the recorder() function and just replace tc=0.5*tensCks,sc=0.5*shearCks by tc=interactionLaw.nbTensCracks,sc=interactionLaw.nbShearCracks in yade.plot.addData(...) Luc -- 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 #706821]: Particle breakage of clump using JCFpm
Question #706821 on Yade changed: https://answers.launchpad.net/yade/+question/706821 Status: Open => Answered Luc Scholtès proposed the following answer: Hello, 1) I'd say yes. You could even consider a JCFPM mat for the walls assigning a different type to the sphere to have purely frictional interactions between spheres and walls. For instance, walls' type=0 and spheres' type=1 will define a purely frictional interaction between spheres and walls with a friction angle equal to the minimum value you assigned to both (if walls' friction angle = 0, then you will have frictionless interactions between spheres and walls). The same logic can be applied to the clumps if you wanted to have purely frictional interactions between clumps (e.g., define type=n for each clump). 2) You can assign any loading to the walls but be careful not to apply both displacement and force at the same time to avoid conflict in the control. Also, I think you need to make them nonDynamic to avoid their positions to be adjusted according to Newton's second law of motion. The quasi-staticity is not really related to the way you apply the load but more to the amplitude of the load vs. the system response. Not sure I get your point here... Maybe you refer to oscillations you observe? 3) You'd need to define some custom functions. The JCFPM can track the amount of cracks for each particle (and the degree of damage by relating the amount of broken contacts to the initial number of bonds). If you know which particle is within each clump, I guess you could assess their degree of damage too. For that, you'd need to list your clumps and assign them with the spheres ids. Sorry for not getting into the details of your MWE but it is not exactly Minimal. I hope I could help ANW. Luc -- 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 #707022]: A problem with 'JCFmpMat'
Question #707022 on Yade changed: https://answers.launchpad.net/yade/+question/707022 Status: Open => Answered Luc Scholtès proposed the following answer: Hello, It would be good to know about those differences you mention (stiffness, peak value, residual strength, ...) but I can already say this: The JCFPM defines the equilibrium distance from the initial interparticle centre to centre distance (computed from at the first iteration of the simulation). The Cundall&Strack model (frictmat) defines the equilibrium distance as the actual geometrical contact (centre to centre distance - sum of radii). Basically, the sample is stress free at the first iteration of a JCFPM simulation. Also, you can define long range interactions with the JCFPM: intR>1 will create contacts between particles not geometrically in contact. Luc -- 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 #707257]: How to set the parameters of JCFpmMat?
Question #707257 on Yade changed: https://answers.launchpad.net/yade/+question/707257 Status: Open => Answered Luc Scholtès proposed the following answer: Hello William, Please read this paper: https://www.sciencedirect.com/science/article/pii/S0022509612002268 There is a section (4) where a calibration procedure is proposed. Careful, there is typo in table 3 where the C value for the granite should be equal to 160 MPa and not 1600 MPa. Basically, the tensile strength T and cohesion C values have to defined in relation withe the degree of interlocking (coordination number / interaction radius). From my experience, with the right coordination number, the C/T ratio of the BPM can be defined equal to the ratio compressive strength / tensile strength of the rock you want to model. Luc -- 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 #707758]: JCFmat model parameters issue
Question #707758 on Yade changed: https://answers.launchpad.net/yade/+question/707758 Status: Open => Answered Luc Scholtès proposed the following answer: Hello Mahdi, Please have a look at this paper where the long range interaction concept (intRadius>1) is explained: https://hal.science/hal-01315522/ Luc -- 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 #152906]: how to run the example in the tutorial
Question #152906 on Yade changed: https://answers.launchpad.net/yade/+question/152906 Luc Scholtès proposed the following answer: Hi Guo, Apparently, you are already in the YADE console when you called ./yade periodic.py. Try again to type ./yade periodic.py, but in the linux console (don't open YADE before). If you open yade before (by typing ./yade in the linux console), try to type execfile('periodic.py',globals()) in the yade console and it should work. Hope it is clear enough... Cheers Luc -- 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 #158760]: uniaxial test (no confinement) with triaxial compression engine
New question #158760 on Yade: https://answers.launchpad.net/yade/+question/158760 Hi all, just wondering if it could be possible to do a triaxial test without any confinement (like a uniaxial compression)? I know that a dedicated engine already exists, but I would like to access the same data as the one recorded by the triaxial engine. Moreover, from my experience, the boundary conditions are not exactly consistent between those two tests (loading through a rigid wall for triaxial and loading through the boundary particles for uniaxial) and it can be problematic when you want to characterize an assembly in both unconfined and confined conditions. I already tried to run a triaxial without confinement but, due to the state transition condition (unbalanced force), the deviatoric loading never occurs. Would there be a way to bypass this? Thanks for your help Luc -- 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 #162989]: Issues on "peri3dController_triaxialCompression.py"
Question #162989 on Yade changed: https://answers.launchpad.net/yade/+question/162989 Status: Open => Answered Luc Scholtès proposed the following answer: Hi Janaka, Sorry I can't help you concerning the error you get, but I am wondering, are you trying to create a model with around 9e6 particles? From your message, I came to this conclusion doing: NbParticles=specimenVolume/spheresVolume=(100*100*200)/(1.333*pi*0.23)=9e6 If it is the case, it is normal that your simulation takes so long, and I would recommend not to use so much particles. Usually, you can model a granular material using around 10 000 particles. If it is not the case, just forget what I say... By the way, welcome to YADE community Cheers Luc 2011/6/29 janaka kumara > Question #162989 on Yade changed: > https://answers.launchpad.net/yade/+question/162989 > > Status: Answered => Open > > janaka kumara is still having a problem: > Hi Honzik, > > Thank you very much for your details. > > >Does this mean that there are limits on "initSize" and "radius"? If so, > what are those limits? > No. This only means, that saved packing does not satisfies conditions of > current simulation (and is rejected) and new packing is creating. > > Here, do you have any idea when (how long) does new packing finish > creating? I run one case with initSize 0.1162 (that gives a volume > equivalen to 100mm diameter and 200mm height cylindrical volume as my > laboratory tests) and radius 0.0002285, but even after 20 hours, I didnt > get results. However, this time, there are two lines of "REJECT: > initSize differs too much from scaled packing size". Will this give > results after some time, e.g. few more hours later? > > Thank you. > > Regards, > Janaka > > -- > 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 #163754]: Trying to model rock extraction through block caving method (using RpmMat)
Question #163754 on Yade changed: https://answers.launchpad.net/yade/+question/163754 Status: Open => Answered Luc Scholtès proposed the following answer: Hi Daniel, I am not sure since I am not the one who wrote this contact law but there is a parameter in Ip2_CohFrictMat_CohFrictMat_CohFrictPhys() called setCohesionNow which is False by default. I had a look at the sources and I think that you should try to define it in your script like Ip2_CohFrictMat_CohFrictMat_CohFrictPhys(setCohesionNow=True) otherwise all your interactions will be frictional only. Can anyone confirm? Luc -- 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 #165522]: How to rotate a predefined packing
New question #165522 on Yade: https://answers.launchpad.net/yade/+question/165522 Hi there, just wondering, is there a way to rotate a packing before or during a simulation? In fact, I would like to load a predefined packing (doing ymport.text(packing.spheres)) in my simulation and rotate it before applying any loading. The idea would be to perform triaxial compressive tests respectively along the 3 principal directions of the packing to characterize its anisotropy (I work with special packings). I tried to play with the definition of the walls ids in the triaxialCompressionEngine, but it seems that changing the ids in accordance with the translationAxis does not work (Am I right?). I know that there is a ThreeDTriaxialCompressionEngine, but it does not allow to perform the same loading than the classic version without going into the definition of an additional function to check for the state of stress and to consequently modify the stress/strain control. If no solution exists, would it be possible to add a function "rotate" similar to the "shift" already implemented in the Ymport.text? If yes, would you have any suggestions to do it properly? Thanks in advance Luc -- 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 #164575]: High Young Modulus
Question #164575 on Yade changed: https://answers.launchpad.net/yade/+question/164575 Status: Open => Answered Luc Scholtès proposed the following answer: Hi Daniel, again, not sure to get to the point, but, from what I remember you work with regular packings generated with a certain overlapping (?). If the ratio between the overlapping and the "Young modulus" is high, it could explain your problem. Your packing is not stress free initially and the repulsive interparticle forces could produce the explosion. Have you tried with low values of the Young modulus? Have you experienced the same problem? Please let us know. >From my part, I also work to simulate rock like material and I use the CohesiveFrictionalPM in order to deal with initially stress-free assemblies. For instance, CFpm utilizes the initial overlapping as the equilibrium distance to compute the normal force Fn=k*(D-Deq), whereas the CohesiveFrictionalContactLaw uses the "real" overlapping between the spheres Fn=kD. Cheers Luc -- 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 #165847]: Generating sample
Question #165847 on Yade changed: https://answers.launchpad.net/yade/+question/165847 Status: Open => Answered Luc Scholtès proposed the following answer: Hi Gayanindika, To create the walls around your packing, see the utils function aabbWalls(). Then to apply a triaxial compression, see the engine TriaxialCompressionEngine(). You should have something ressembling those lines in your script to perform what you want: # defines your assembly O.bodies.append(utils.sphere(*),...) # creates and identifies the walls for the triaxial engine walls=O.bodies.append(utils.aabbWalls(*)) # defines the triaxial engine (important here to accurately identify the walls) TriaxialCompressionEngine( wall_bottom_id=walls[2], wall_top_id=walls[3], wall_left_id=walls[0], wall_right_id=walls[1], wall_back_id=walls[4], wall_front_id=walls[5], ... ) BTW, there was a triaxial test script in the examples directory... I am not sure anymore since I don't work with the latest version, but maybe you should have a look and ask if needed... Cheers Luc -- 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 #165522]: How to rotate a predefined packing
Question #165522 on Yade changed: https://answers.launchpad.net/yade/+question/165522 Status: Answered => Solved Luc Scholtès confirmed that the question is solved: Thanks Anton Gladky, that solved my question. -- 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 #165522]: How to rotate a predefined packing
Question #165522 on Yade changed: https://answers.launchpad.net/yade/+question/165522 Luc Scholtès posted a new comment: To Bruno, Not sure about your comments... 1 - I vae never used the bodiesHandling function, but, If the rotation occurs before the beginning of the simulation (when the packing is loaded into the simulation, the "DEM loop" has not started yet), there should not be any inherited contact forces, no? 2 - I had a second look at the 3DCompressionEngine. As I said, it is adapted to do what I want (loading the sample in the 3 principal direction). However, in its current version, you cannot perform automatically the transition from isotropic to deviatoric compression as with the classic TriaxialCompressionEngine. You need to define a periodic function to check for the state of the simulation to do so (unless I am wrong?). For now, I have added few lines to the TriaxialCompressionEngine in order to allow for choosing the direction of straining in the deviatoric part of the loading path. Doing so, I just need to specify the translationAxis in my script. If you think that this feature could interest, I can upload the source file. Cheers Luc -- 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 #189913]: get porosity of a packing
Question #189913 on Yade changed: https://answers.launchpad.net/yade/+question/189913 Status: Open => Answered Luc Scholtès proposed the following answer: Hi Ceguo, Try utils.porosity(X), with X the volume of your assembly and it should work. 2012/3/7 ceguo > New question #189913 on Yade: > https://answers.launchpad.net/yade/+question/189913 > > Hi, > > The problem seems trivial but when I try using `utils.porosity` I can only > get something like . The documentation > says it should return a float. > > Besides, as I am using the trunk version with a 2D packing. All the > quantities like mass, porosity, stress (averaged by area rather than > volume) etc. should be modified accordingly. Will the code take care of > these right now? If not, maybe we could do scaling (3D to 2D) outside the > code. So this is not a big problem. > > Another problem is that the documentation says we'd better use ScGeom in > stead of Dem3DofGeom. But as I try using `Ig2_Sphere_Sphere_ScGeom()`, > `Ip2_FrictMat_FrictMat_FrictPhys()` and > `Law2_ScGeom_FrictPhys_CundallStrack()`, the program runs without error but > there is no stress generated. > > Ning > > -- > 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 #190529]: deleting some liquid bridges in Law2_ScGeom_CapillaryPhys_Capillarity
Question #190529 on Yade changed: https://answers.launchpad.net/yade/+question/190529 Luc Scholtès proposed the following answer: Hi Jakob, If you want to loop over interactions you can do like this (with Python, right?) for i in O.interactions: To check wether the interaction is Real, you can use this if i.isReal: To check wether the interaction is between spheres or not, you can use something like this if isinstance(O.bodies[i.id1].shape,Sphere) and isinstance(O.bodies[i.id2].shape,Sphere): Then, to access bodies properties, you can do this y1 = O.bodies[i.id1].state.pos[1]; Hope it can help Cheers -- 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 #190529]: deleting some liquid bridges in Law2_ScGeom_CapillaryPhys_Capillarity
Question #190529 on Yade changed: https://answers.launchpad.net/yade/+question/190529 Luc Scholtès proposed the following answer: You are too quick for me... Good luck -- 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 #191904]: reproducibility of capillary law
Question #191904 on Yade changed: https://answers.launchpad.net/yade/+question/191904 Status: Open => Answered Luc Scholtès proposed the following answer: Hi Christian, Could you be a bit more precise please? You mean that running a script does not give the same result if you add the lines related to capillary law, right? It is surprising... What kind of test are you running? Could you please provide a script? Cheers -- 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 #163929]: Example gts-horse.py
Question #163929 on Yade changed: https://answers.launchpad.net/yade/+question/163929 Luc Scholtès posted a new comment: Hi Daniela, Did you manage to solve your problem? I have the same issue using yade version 3041. Cheers -- 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 #163929]: Example gts-horse.py
Question #163929 on Yade changed: https://answers.launchpad.net/yade/+question/163929 Luc Scholtès posted a new comment: Hi Anton, Thank you for your input. I will then take the opportunity to join github. Cheers Luc -- 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 #193416]: Scripts gts-random-pack**.py never converge?
New question #193416 on Yade: https://answers.launchpad.net/yade/+question/193416 Hi all, Does anybody experience the same problem with scripts gts-random-pack.py and gts-random-pack-random-obb.py? On my computer, the simulation seems to never converge (like if YADE was iterating indefinitely). I let it run for more than 4h, but nothing happened... Is it normal? How long does it take for you? Cheers -- 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 #193416]: Scripts gts-random-pack**.py never converge?
Question #193416 on Yade changed: https://answers.launchpad.net/yade/+question/193416 Luc Scholtès posted a new comment: OK, thanks Anton. I wasn't sure so I asked to see wether it was only me or not... Do you get this WARN too? WARN yade.SpherePack /home/3S- LAB/lscholtes/Bureau/YADE/trunk/pkg/dem/SpherePack.cpp:107 makeCloud: porosity must be >0, changing it for you. It will be ineffective if rMean>0. -- 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 #192598]: problem of installation Yade
Question #192598 on Yade changed: https://answers.launchpad.net/yade/+question/192598 Status: Open => Answered Luc Scholtès proposed the following answer: Did you add the plugin FlowEngine to your scons.profile? Like this: hotPlugins = 'FlowEngine' Luc -- 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 #192598]: problem of installation Yade
Question #192598 on Yade changed: https://answers.launchpad.net/yade/+question/192598 Status: Open => Answered Luc Scholtès proposed the following answer: Try to add cgal to your features (check if it is installed on t=your computer) -- 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 #192598]: problem of installation Yade
Question #192598 on Yade changed: https://answers.launchpad.net/yade/+question/192598 Status: Open => Answered Luc Scholtès proposed the following answer: Strange... Did you try recompile from scratch by typing scons -c before compiling wit scons? -- 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 #192598]: problem of installation Yade
Question #192598 on Yade changed: https://answers.launchpad.net/yade/+question/192598 Status: Open => Answered Luc Scholtès proposed the following answer: OK, I think I get it. You should add DLINSOLV to the CXXFLAGS in your scons.profile like this: CXXFLAGS = ['-DFLOW_ENGINE', '-DLINSOLV'] So? -- 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 #192598]: problem of installation Yade
Question #192598 on Yade changed: https://answers.launchpad.net/yade/+question/192598 Luc Scholtès posted a new comment: -DLINSOLV was the quick and not proper way to make Anh Tuan's able to work with his code, assuming that he is using the associated updated linsolv files. I need to implement the compressibility to periodic flow related files so as to solve Anh Tuan's problem. I am working on it today. -- 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 #194761]: is particle distribution true or close to real sand simulated by yade
Question #194761 on Yade changed: https://answers.launchpad.net/yade/+question/194761 Luc Scholtès proposed the following answer: Hi, First, you should know that size does not matter in YADE, or, at least, should not. Indeed, interaction laws (at least, the basic ones like Law2_ScGeom_FrictPhys_CundallStrack or CohesiveFrictionalContactLaw for example) have been implemented so that they are size independent. You can try to run several triaxial tests with same parameters and loading conditions on samples with different sizes length to verify (be careful nonetheless to have "enough" particles in your samples, between 5000 and 1 is OK from my own experience). So, YES, people usually use bigger particles than real ones in order to speed up simulations, and NO, there should not be any influence on the results. Concerning now particle size distribution, I am not a specialist but it will certainly have an impact on you results, like for real granular materials. Things exist in YADE to manage particle size distribution. As you pointed out, an extended size distribution tends to penalize simulation time. Concerning now your last point about grain shape and roughness. Of course they influence the behaviour. You cannot, for example, reproduce real sand's internal friction angle with spherical particles as sand grains are not spherical in nature. That's one of the reason why some people use clumps or rolling moment law for example (polyhedral particles are not yet implemented in YADE). Please have a look here for more information if not already done: https ://yade-dem.org/doc/index-toctree.html Cheers Luc -- 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 #197661]: on modify interactionLoop
Question #197661 on Yade changed: https://answers.launchpad.net/yade/+question/197661 Luc Scholtès proposed the following answer: I would say that Anton is right, you need to change contact properties for every existing interactions cause changing bodies properties won't be effective for existing interactions (interactions are not updated), only new interactions will benefit from the new bodies properties. so you should do something like for b in O.bodies: b.mat.frictionAngle=radians(simulationFrictDeg) AND for i in O.interactions: i.phys.frictionAngle=radians(simulationFrictDeg) Luc -- 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 #198183]: clump packing in 2D
Question #198183 on Yade changed: https://answers.launchpad.net/yade/+question/198183 Luc Scholtès proposed the following answer: Hi Ning, as Jerome said, you have to consider that yade deals with spheres and not circles. If you want to create a "2D sample", you have to define the third dimension of the make cloud fonction approximately equal to the maximum radius of your spheres (make cloud generates assembly in a box if I remember well). I am pretty sure this works for spheres. Not sure for clumps though... Moreover, as Jerome precised, you will then have to block some of the DOFs of the elements to actually force the model to be 2D: for o in O.bodies: body.state.blockedDOFs='zXY' should work assuming that you choose (x,y) as the 2D domain. -- 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 #199585]: how can i simulate rolling friction?
Question #199585 on Yade changed: https://answers.launchpad.net/yade/+question/199585 Luc Scholtès posted a new comment: Hi Jacob, For the 2nd point, you may want to have a look at the paper from Plassiard: http://www.springerlink.com/content/16688jw766197204/ (I can send it to you if you cannot download it). For the 1st point, I cannot help... I though that combining 2 constitutive laws was possible but, actually, I never tried... Luc -- 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 #201608]: IMPORTANT - capillary files updated
New question #201608 on Yade: https://answers.launchpad.net/yade/+question/201608 Hi all, and sorry for mass mail but there was a mistake in the capillary files needed for the capillary law. They are all updated and can be downloaded from here (https://yade-dem.org/wiki/CapillaryTriaxialTest) as before. The mistake was in the definition of the volume of the menisci. The forces are unchanged. Everything should work as usual. Tell us if it is not the case. Cheers Luc -- 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 #201608]: IMPORTANT - capillary files updated
Question #201608 on Yade changed: https://answers.launchpad.net/yade/+question/201608 Luc Scholtès posted a new comment: should not, only the volumes have changed. -- 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 #201608]: IMPORTANT - capillary files updated
Question #201608 on Yade changed: https://answers.launchpad.net/yade/+question/201608 Luc Scholtès gave more information on the question: PLEASE UPDATE TO THE LAST VERSION PUBLISHED AT 16:14, 27 JUNE https://yade-dem.org/wiki/File:CapillaryJune2012.tar.gz Hope everything is OK now. -- 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 #201608]: IMPORTANT - capillary files updated
Question #201608 on Yade changed: https://answers.launchpad.net/yade/+question/201608 Luc Scholtès posted a new comment: Hi liucheng, You have to paste the files M(r=i) into the folder where the yade executable is (I guess it is the "yade file in bin folder" you mentionnned). Cheers -- 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 #202299]: how to model rock joints
Question #202299 on Yade changed: https://answers.launchpad.net/yade/+question/202299 Luc Scholtès proposed the following answer: Hi Henry, What exactly do you want to study? The behaviour of the joint as described in here: http://www.sciencedirect.com/science/article/pii/S1365160910001784 or the behaviour of the jointed rock mass as described in here: http://www.sciencedirect.com/science/article/pii/S1365160912000391 Luc -- 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 #203385]: Export command for sphere packings from YADE to FEM packages like ABAQUS
Question #203385 on Yade changed: https://answers.launchpad.net/yade/+question/203385 Status: Open => Answered Luc Scholtès proposed the following answer: Hey, Just to be sure about what you want to do. Do you actually want to export positions and radii of particles into a text file so that you can import it into ABAQUS? If yes, the export function should work, but you have to import the export module first (I know, the combination import export can sound a bit weird). In your terminal (with a model previously launched, of course!), try to type: from yade import export export.text('spheres') That should do the trick. You are probably aware of those works from B Harthong and JF Jerier on the subject: http://www.sciencedirect.com/science/article/pii/S0032591010004481 http://www.sciencedirect.com/science/article/pii/S0020740312001014 http://www.sciencedirect.com/science/article/pii/S0020768309002054 Cheers Luc -- 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 #203709]: Which physical parameters i need and how to add them
Question #203709 on Yade changed: https://answers.launchpad.net/yade/+question/203709 Luc Scholtès posted a new comment: Dear Christian, As mentionned by yade (in your terminal), GravityEngine is now deprecated and you should use NewtonIntegrator to apply gravity in your simulation like this: NewtonIntegrator(damping=yourValueOfDamping, gravity=(0,yourValueOfGravity,0)) The examples using GravityEngine are deprecated, but everything should work with GravityEngine anyway. Cheers Luc -- 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 #207750]: cannot find GUI-libs during compilation
New question #207750 on Yade: https://answers.launchpad.net/yade/+question/207750 Hi all, I tried to compile YADE in its new version (ubuntu 10.04 lucid). Everything just went fine except that I cannot open the GUI because the GUI-libs could not be found during compilation (the GUI feature is therefore disable). Is there a way to solve that point? It would help me a lot not to work only with paraview. Thanks for your help Cheers -- 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 #207750]: cannot find GUI-libs during compilation
Question #207750 on Yade changed: https://answers.launchpad.net/yade/+question/207750 Status: Answered => Open Luc Scholtès is still having a problem: Thanks Anton, Actually, I do not understand why the GUI-libs cannot be found since I carefully checked that all libs were installed... My question should have been: What are the GUI-libs? Luc This is what I get when doing cmake -- Version is set to 2012-09-04.git-e931dee -- GTS using gts-config /usr/bin/gts-config -- Using GTS from /usr -- Boost_VERSION: 104000 -- Boost_LIB_VERSION: 1_40 -- Boost_INCLUDE_DIRS: /usr/include -- Boost_LIBRARIES: /usr/lib/libboost_python.so/usr/lib/libboost_thread-mt.so/usr/lib/libboost_date_time-mt.so/usr/lib/libboost_filesystem-mt.so/usr/lib/libboost_iostreams-mt.so/usr/lib/libboost_regex-mt.so/usr/lib/libboost_serialization-mt.so -- Found Eigen3 -- Found VTK -- Found OpenMP -- GTS using gts-config /usr/bin/gts-config -- Using GTS from /usr -- Found GTS -- Found QGLViewer: /usr/lib/libqglviewer-qt4.so -- GUI-LIBS NOT found -- GMP libs: /usr/lib/libgmp.so /usr/lib/libgmpxx.so -- GMP libs: /usr/lib/libgmp.so /usr/lib/libgmpxx.so -- Found CGAL -- Found GL2PS Yade will be installed to /home/invite/Bureau/LUC -- Suffix is set to -2012-09-04.git-e931dee -- LIBRARY_OUTPUT_PATH is set to lib -- runtimePREFIX is set to /home/invite/Bureau/LUC -- === -- Yade configured with following features: Eigen3 VTK OpenMP GTS CGAL GL2PS -- Disabled features: GUI -- Optimized build -- === -- Configuring done -- Generating done -- Build files have been written to: /home/invite/Bureau/LUC 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 #207750]: cannot find GUI-libs during compilation
Question #207750 on Yade changed: https://answers.launchpad.net/yade/+question/207750 Status: Open => Solved Luc Scholtès confirmed that the question is solved: Ok, my mistake... I forgot freeglut... Sorry for that -- 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 #210907]: on sample preparation of real granula materials
Question #210907 on Yade changed: https://answers.launchpad.net/yade/+question/210907 Status: Open => Answered Luc Scholtès proposed the following answer: Hello Wangxiaoliang, If I understand well, you are able to generate your samples at different porosities but you have some troubles when it comes to calibrate your model, right? I guess you had a look to this paper: http://www.springerlink.com/content/16688jw766197204/ which explains how the different microparameters affect the macroscopic response. If not, please have a look. If yes, could you be more precise when you state that "it fails for the rolling resistance". Is it that it does not correspond to what is described in the paper? Luc -- 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 #210907]: on sample preparation of real granula materials
Question #210907 on Yade changed: https://answers.launchpad.net/yade/+question/210907 Luc Scholtès proposed the following answer: ""With it, the desired porosity which corresponds to the porosity of the real specimen n = 0.40 was reached" I never understand this, n in the real specimen is 0.40, but what is n in his numerical specimen?" -> it says that the porosity of his numerical assembly IS EQUAL TO the one of the real specimen. You have to note that 0.40 is the porosity after the radius expansion method. The triaxial compression is thus performed on a sample with initial porosity equal to 0.40. "In your paper "on capillary stress tensor in wet granular materials", you even used a smaller friction angle, say 0.2. In my experience, that will result a very large dilatancy angle, usually larger than 20, but in experiment it is usually about 10." -> You have to be careful here. For instance, in my case, I generated samples (radius expansion) with an interparticle friction angle equal to 0.1 deg, right, this was done so that the sample is as dense as possible at the end of the compaction phase, BUT, I CHANGED the frictional angle after the generation phase so that the triaxial compression is performed on a sample where the interparticle friction angle is equal to 30 deg (see the difference between compactionFrictionDeg and sphereFrictionDeg in the trixial test) "at the last step ,I calibrate for rolling stiffness, in the response, the macroscopic friction angle doesn't change" -> I guess this should be the title of your question? I also guess that you are using Law2_ScGeom6D_CohFrictPhys_CohesionMoment. Am I right? Luc -- 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 #210907]: on sample preparation of real granula materials
Question #210907 on Yade changed: https://answers.launchpad.net/yade/+question/210907 Luc Scholtès proposed the following answer: OK, so the problem is more general that just "rolling moment related" as I supposed it was... Maybe you should open questions for each problem because it is difficult to see where exactly is your point. Moreover, each of them is susceptible to interest YADE users ;-) I see 2 distinct problems from your previous questions: 1 - Do we consider initial porosity as the one obtained without confinement or the one corresponding to the isotropic state pre- compression? Good question I would say... I would also say that it is difficult to generate an homogeneous sample using DEM without confinement, and I think (guys, tell me if I am wrong) that in most cases, when DEM users talk about initial porosity, it is the one obtained under isotropic confinement (the lowest confinement if you plan to run a series a triaxial compressions). BTW, is there a big change in the porosity of your real specimen when you go from 0 to 50kPa confinement? 2 - Is there any problem with rolling moment law? Why rolling stiffness does not impact my macroscopic result? If this one is actually of concern, maybe have a look to triax-cohesive.py as suggested by Bruno. Hope it helps... -- 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 #212412]: compilation error: extra/floating_point_utilities_v3/boost/math
New question #212412 on Yade: https://answers.launchpad.net/yade/+question/212412 Hi all, Here is my distrib: DISTRIB_ID=Ubuntu DISTRIB_RELEASE=10.04 DISTRIB_CODENAME=lucid DISTRIB_DESCRIPTION="Ubuntu 10.04.4 LTS" I got this error when trying to compile last git version, related to the extra: floating_point_utilities_v3/boost/math/signbit lib apparently: [100%] Building CXX object CMakeFiles/pyModules.dir/pyModules.0.cpp.o /usr/bin/c++ -DpyModules_EXPORTS -DYADE_PTR_CAST=static_pointer_cast -DYADE_CAST=static_cast -DYADE_OPENMP -DYADE_OPENGL -DYADE_VTK -DYADE_GTS -DYADE_CGAL -Wall -fPIC -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Wformat-security -Werror=format-security -fopenmp -s -DQGLVIEWER_FOUND -O3 -DNDEBUG -fPIC -I/usr/include/eigen3 -I/usr/include/python2.6 -I/usr/include/vtk-5.2 -I/usr/lib/openmpi/include -I/usr/lib/openmpi/include/openmpi -I/usr/include/tcl8.5 -I/usr/lib/jvm/default-java/include -I/usr/include/libxml2 -I/usr/include/freetype2 -I/home/invite/Bureau/LUC/YADE_git/trunk/extra/floating_point_utilities_v3 -I/home/invite/Bureau/LUC/YADE_git/trunk -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/qt4/QtScriptTools -I/usr/include/qt4/phonon -I/usr/include/qt4/QtXmlPatterns -I/usr/include/qt4/QtWebKit -I/usr/include/qt4/QtHelp -I/usr/include/qt4/QtAssistant -I/usr/include/qt4/QtDBus -I/usr/include/qt4/QtTest -I/usr/include/qt4/QtUiTools -I/usr/include/qt4/QtScript -I/usr/include/qt4/QtSvg -I/usr/include/qt4/QtXml -I/usr/include/qt4/QtSql -I/usr/include/qt4/QtOpenGL -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtDesigner -I/usr/include/qt4/Qt3Support -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtCore -I/usr/share/qt4/mkspecs/default -I/usr/include/qt4 -o CMakeFiles/pyModules.dir/pyModules.0.cpp.o -c /home/invite/Bureau/LUC/YADE_git/trunk/pyModules.0.cpp In file included from /usr/include/c++/4.4/backward/strstream:47, from /usr/include/vtk-5.2/vtkIOStream.h:112, from /usr/include/vtk-5.2/vtkSystemIncludes.h:40, from /usr/include/vtk-5.2/vtkIndent.h:24, from /usr/include/vtk-5.2/vtkObjectBase.h:43, from /usr/include/vtk-5.2/vtkObject.h:41, from /usr/include/vtk-5.2/vtkLocator.h:53, from /usr/include/vtk-5.2/vtkPointLocator.h:39, from /home/invite/Bureau/LUC/YADE_git/trunk/py/_eudoxos.cpp:13, from /home/invite/Bureau/LUC/YADE_git/trunk/pyModules.0.cpp:2: /usr/include/c++/4.4/backward/backward_warning.h:28:2: warning: #warning This file includes at least one deprecated or antiquated header which may be removed without further notice at a future date. Please use a non-deprecated interface with equivalent functionality instead. For a listing of replacement headers and interfaces, consult the file backward_warning.h. To disable this warning use -Wno-deprecated. In file included from /home/invite/Bureau/LUC/YADE_git/trunk/extra/floating_point_utilities_v3/boost/math/nonfinite_num_facets.hpp:15, from /home/invite/Bureau/LUC/YADE_git/trunk/py/wrapper/yadeWrapper.cpp:53, from /home/invite/Bureau/LUC/YADE_git/trunk/pyModules.0.cpp:5: /home/invite/Bureau/LUC/YADE_git/trunk/extra/floating_point_utilities_v3/boost/math/signbit.hpp: In function ‘T boost::math::detail::copysign_impl(T, T) [with T = float]’: /home/invite/Bureau/LUC/YADE_git/trunk/extra/floating_point_utilities_v3/boost/math/signbit.hpp:54: instantiated from here /home/invite/Bureau/LUC/YADE_git/trunk/extra/floating_point_utilities_v3/boost/math/signbit.hpp:37: error: ‘init’ is not a member of ‘boost::math::detail::copysign_impl(T, T) [with T = float]::traits’ /home/invite/Bureau/LUC/YADE_git/trunk/extra/floating_point_utilities_v3/boost/math/signbit.hpp:39: error: no type named ‘bits’ in ‘struct boost::math::detail::copysign_impl(T, T) [with T = float]::traits’ /home/invite/Bureau/LUC/YADE_git/trunk/extra/floating_point_utilities_v3/boost/math/signbit.hpp:40: error: ‘get_bits’ is not a member of ‘boost::math::detail::copysign_impl(T, T) [with T = float]::traits’ /home/invite/Bureau/LUC/YADE_git/trunk/extra/floating_point_utilities_v3/boost/math/signbit.hpp:39: error: no type named ‘bits’ in ‘struct boost::math::detail::copysign_impl(T, T) [with T = float]::traits’ /home/invite/Bureau/LUC/YADE_git/trunk/extra/floating_point_utilities_v3/boost/math/signbit.hpp:41: error: ‘sign’ is not a member of ‘boost::math::detail::copysign_impl(T, T) [with T = float]::traits’ /home/invite/Bureau/LUC/YADE_git/trunk/extra/floating_point_utilities_v3/boost/math/signbit.hpp:39: error: no type named ‘bits’ in ‘struct boost::math::detail::copysign_impl(T, T) [with T = float]::traits’ /home/invite/Bureau/LUC/YADE_git/trunk/extra/floating_point_utilities_v3/boost/math/signbit.hpp:43: error: no type named ‘bits’ in ‘struct boost::math::detail::copysign_impl(T, T) [with T = float]::traits’
Re: [Yade-users] [Question #212412]: compilation error: extra/floating_point_utilities_v3/boost/math
Question #212412 on Yade changed: https://answers.launchpad.net/yade/+question/212412 Status: Answered => Open Luc Scholtès is still having a problem: Thanks Bruno for suggestion but the computer I am installing is not mine and I don't want to generate any drawbacks... boost version is 1.40 from what I can tell (synaptic) -- 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 #212429]: computer configuration
New question #212429 on Yade: https://answers.launchpad.net/yade/+question/212429 Hi all, Sorry in advance if this is not the right place for that, but I plan to buy a computer mostly for YADE use and I have very little experience on computer's performances. For instance, between those two configurations: 1) http://h4.www4.hp.com/new_workstations/adlanding/uk/en/z600_details.html 2) http://h4.www4.hp.com/new_workstations/adlanding/uk/en/z800.html Do you think that it would be worth buying the expensive one (2) compare to the other (1)? What is actually the component to favour in regards to YADE structure and behavior? Thanks for any advice Luc -- 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 #212429]: computer configuration
Question #212429 on Yade changed: https://answers.launchpad.net/yade/+question/212429 Status: Answered => Solved Luc Scholtès confirmed that the question is solved: OK, thank you guys for inputs. -- 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 #222250]: model a direct shear test
Question #50 on Yade changed: https://answers.launchpad.net/yade/+question/50 Luc Scholtès requested more information: Hello Anna, sorry for the late reply. I saw your email but could not find time to answer it. -- 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 #222250]: model a direct shear test
Question #50 on Yade changed: https://answers.launchpad.net/yade/+question/50 Luc Scholtès proposed the following answer: Euh... Me again. I was looking for a way to attach files to my answer... I have a python script that should help you. It performs a direct shear test as you describe with, first, the application of the normal load and, second, the shearing phase. The problem is that, I am not very happy with this script as the control of the normal load during shearing is not "general". I wanted to improve it so as to do something more "general" like the triaxial engine for example but did not have the time. Currently, I have to adjust a variable that I have called servoCoeff depending on the parameters of the simulation (normal load, strength of the matrial, etc...). Anyway, maybe we can discuss this by email so that I can send you the script (unless I can do it through launchpad?). Cheers Luc -- 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 #222363]: Material Parameters about Kn and Ks
Question #222363 on Yade changed: https://answers.launchpad.net/yade/+question/222363 Status: Open => Answered Luc Scholtès proposed the following answer: Hi Henry, The use of Young and Poisson in YADE can be confusing. Actually, those two parameters define the normal and shear stiffnesses as you mentioned. Their names come from the fact that they influence the value of the Young modulus and of the Poisson's ratio of the assembly. Of course, the relationship between micro-parameters and macro-properties is not direct and it depends on the assembly you use (orthogonal, hexagonal, random,...). For the basic laws in YADE, the stiffnesses are defined according to those equations: Kn=2.*E*R1*E*R2/(E*R1+E*R2) (1) Ks/Kn=P (2) with E the "Young" parameter and P the "Poisson" parameter. In the paper you mentioned, I gave values of kn and ks computed according to (1) and (2) for the average radius of the assembly I used. Hope it helps Luc -- 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 #222363]: Material Parameters about Kn and Ks
Question #222363 on Yade changed: https://answers.launchpad.net/yade/+question/222363 Luc Scholtès posted a new comment: I forgot to mentioned that R1 and R2 are the radii of the two particles in contact -- 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 #222250]: model a direct shear test
Question #50 on Yade changed: https://answers.launchpad.net/yade/+question/50 Luc Scholtès posted a new comment: Hi Anna, I could not fin an email adress where to send you my script and some explanations, so here is my code below. I guess you can copy-paste it directly as a python script. Be careful, some things are maybe deprecated for last versions of YADE. TranslationEngine is used but, as told by Bruno, it is not mandatory and could/should be replaced by a condition on the boxes velocity. I am not exactly happy with the way the simulation is servo-controlled as is, but it works if the loading parameters are well adjusted (this is where I should take some time to generalize the simulation like it is done for the triaxial test or "Jerome's engine"). Be sure to adapt it to the interaction law you are using in the definition of the "InteractionLoop" (I use here a modified version of one of the currently available law). Briefly, here is the process: - packing is imported from a predefined text file. - a first box is appended at the top of the sample. - normal loading is performed until the predefined value is reached. - once equilibrium is reached, top and bottom half boxes of a "Casagrande box" are created - the bottom box is then displaced at constant velocity Do not hesitate if you have any questions. Cheers Luc # -*- coding: utf-8 -*- O=Omega() from yade import ymport, utils, plot ## parameters definition PACKING='X1Y1Z1_5k' DAMPING=0.5 dtCOEFF=0.5 normalSTRESS=5e5 normalVEL=normalSTRESS/1e8 # 0.001 for 100kPa // optimized for normalVEL=normalSTRESS/1e8? shearVEL=1*normalVEL # try different values to ensure quasi-static conditions intR=1.263 #1.263 for X1Y1Z1_5k DENS=3000 YOUNG=50e9 FRICT=18 ALPHA=0.3 TENS=45e5 COH=45e6 iterMAX=40 Output='shearTest_'+PACKING+'_K10_D3000_Y50e9A03F18T45e5C45e6_500kPa_shearVel1' ## Import of the sphere assembly ### material definition def sphereMat(): return CFpmMat(type=1,young=YOUNG,frictionAngle=radians(FRICT),density=DENS) def wallMat(): return CFpmMat(type=0,young=YOUNG,frictionAngle=radians(0),density=DENS) ## copy spheres from the packing into the scene O.bodies.append(ymport.text(PACKING+'.spheres',scale=1.,shift=Vector3(0,0,0),material=sphereMat)) ## preprocessing to get dimensions dim=utils.aabbExtrema() xinf=dim[0][0] xsup=dim[1][0] X=xsup-xinf yinf=dim[0][1] ysup=dim[1][1] Y=ysup-yinf zinf=dim[0][2] zsup=dim[1][2] Z=zsup-zinf ## initial surface S0=X*Z ## spheres factory R=0 Rmax=0 numSpheres=0. for o in O.bodies: if isinstance(o.shape,Sphere): o.shape.color=(0.7,0.5,0.3) numSpheres+=1 R+=o.shape.radius if o.shape.radius>Rmax: Rmax=o.shape.radius Rmean=R/numSpheres ## creation of shear box thickness=Y/100 oversizeFactor=1.3 ### loading platens O.bodies.append(utils.box(center=(xinf+X/2.,yinf-thickness+Rmean/10.,zinf+Z/2.),extents=(oversizeFactor*X/2,thickness,oversizeFactor*Z/2),material=wallMat,fixed=True)) bottomPlate=O.bodies[-1] O.bodies.append(utils.box(center=(xinf+X/2.,ysup+thickness-Rmean/10.,zinf+Z/2.),extents=(oversizeFactor*X/2,thickness,oversizeFactor*Z/2),material=wallMat,fixed=True)) topPlate=O.bodies[-1] ## Engines O.engines=[ ForceResetter(), InsertionSortCollider([Bo1_Sphere_Aabb(aabbEnlargeFactor=intR,label='aabb'),Bo1_Box_Aabb()]), InteractionLoop( [Ig2_Sphere_Sphere_ScGeom(interactionDetectionFactor=intR,label='ss2d3dg'),Ig2_Box_Sphere_ScGeom()], [Ip2_CFpmMat_CFpmMat_CFpmPhys(cohesiveTresholdIteration=1,alpha=ALPHA,tensileStrength=TENS,cohesion=COH,label='interactionPhys')], [Law2_ScGeom_CFpmPhys_CohesiveFrictionalPM(recordCracks=recCRACKS,label='interactionLaw')] ), GlobalStiffnessTimeStepper(defaultDt=0.1*PWaveTimeStep(),timestepSafetyCoefficient=dtCOEFF), TranslationEngine(ids=[topPlate.id],translationAxis=(0.,-1.,0.),velocity=0.,label='yTranslation'), PyRunner(iterPeriod=1,initRun=True,command='servoController()',label='servo'), NewtonIntegrator(damping=DAMPING,gravity=(0,0,0),label='damper'), PyRunner(iterPeriod=iterMAX/1000,initRun=True,command='dataCollector()'), ] ## Engines definition ( servoController() and dataCollector() ) shearing=False sigmaN=0 tau=0 Fs1=0 Fs2=0 Xdispl=0 px0=0 Ydispl=0 py0=topPlate.state.pos[1] prevTranslation=0 n=0 def servoController(): global px0, py0, sigmaN, n, Fn1, Fn2, shearing, butee, piston1, piston2 Fn1=abs(O.forces.f(topPlate.id)[1]) Fn2=abs(O.forces.f(bottomPlate.id)[1]) sigmaN=Fn1/(S0-2*Xdispl*Z) # necessary? #print yTranslation.velocity, sigmaN if shearing==False: if yTranslation.velocity(0.9*normalSTRESS): y
Re: [Yade-users] [Question #220152]: Cylinder Geometry Problem
Question #220152 on Yade changed: https://answers.launchpad.net/yade/+question/220152 Luc Scholtès posted a new comment: Hello PingYang, I guess your question is: Is it possible to simulate triaxial compressions on cylindrical specimens? If yes, first, you should open a new thread/question, or maybe look at previous messages in relation to this topic (have a look there: https://answers.launchpad.net/yade). Second, if I may answer, it is not possible to simulate triaxial tests on cylindrical specimens at the moment. To my knowledge, there is no predefined engine capable of doing that in the source code and you will need to implement a new one by yourself or maybe code it through python scripting (is that even possible?...). However, triaxial compressions can be simulated on cubical specimens quite easily (either using external walls/boxes or periodic boundary conditions). Have a look at the examples directory in the source code, you may find useful things. If no, sorry for misunderstanding your question. Luc -- 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 #228866]: What is the meaning of len()?
Question #228866 on Yade changed: https://answers.launchpad.net/yade/+question/228866 Status: Open => Answered Luc Scholtès proposed the following answer: Hi Ray, len() is a python function, not a specific yade function. It is defined in the python documentation there: http://docs.python.org/2/library/functions.html?highlight=len#len len(O.bodies) returns the number of 'bodies' defined in the current simulation (O). Cheers Luc -- 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 #228825]: joint
Question #228825 on Yade changed: https://answers.launchpad.net/yade/+question/228825 Status: Open => Answered Luc Scholtès proposed the following answer: Dear PingYang, Sorry for not answering earlier to your question. I can see with your other email that you seem to be very interested in modelling jointed rock masses. As you probably know, I did some work on this topic and the fact is that, at the moment, I haven't release any of my development files for many reasons. The first reason, really, is a question of time. I could release my files as they are at the moment but I do not think this will be of any help for Yade users because the files need a proper "How To" documentation that does not exist yet. This is on my agenda for several months now and I hope I will be able to do it this next summer. I also hope that, doing so, yade developers who may be interested in that topic will improve the way it should be implemented in Yade as it is in a very crude and basic coding form at the moment. Anyway, apart from the fact that the files are not available yet (BTW, they just consists in an enhanced version of the cohesive frictional law describes here: https://yade- dem.org/doc/yade.wrapper.html?highlight=cohesive%20frictional#yade.wrapper.CohesiveFrictionalContactLaw), maybe you should first learn how to use YADE and think about how you want to use it for your designated purpose. Because, before defining a simulation with a precise contact law, you need to define the geometry and the boundary conditions of your problem. For jointed rock masses, it is even more complicated because you need to define the fracture network that you want to study. What is exactly that you want to study? Considering what I just said, I encourage you to consider first the above mentionned modelling strategy. For example, as a first morking scheme, you could model your rock mass with the available cohesive contact law by deleting the contacts that belong to the fracture network (or setting them as non cohesive compared to the ones belonging to the intact rock matrix). I would be happy to help you with this ;). Hopefully, my development files will come up soon. Regards Luc -- 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 #202299]: how to model rock joints
Question #202299 on Yade changed: https://answers.launchpad.net/yade/+question/202299 Status: Open => Answered Luc Scholtès proposed the following answer: Dear Henry, NormalInelasticity is adapted to model the behaviour of the granular material that you can find in rock joint (also called gouge). Is it really what you want to model? Did you actually have a look at the papers I mentionned in a previous answer? Cheers, Luc -- 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 #222250]: model a direct shear test
Question #50 on Yade changed: https://answers.launchpad.net/yade/+question/50 Luc Scholtès posted a new comment: Hello, Nothing is "wrong" with the code, it is simply looking for a packing whose name is defined by PACKING at the beginning of the script and finished by ".spheres". They are a lot of different ways to generate a packing (see: https://yade-dem.org/doc/user.html#sphere-packings). Usually, I first generate packings separately and I export tehm in a text file "name.spheres" so that I can use them for whatever I want later on. So you need to figure out how to generate your textfile.spheres using the method that better suit you using the utils function export.text. Another way, if you run a triaxial test using Yade graphical interface (ype F12 once yade terminal is open), a textfile.spheres is generated with predefined geometrical properties. You can work this way for parallellepipedic packings if you want. Cheers Luc -- 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 #232493]: yade crashes when opening
New question #232493 on Yade: https://answers.launchpad.net/yade/+question/232493 Hello guys, I just installed latest version of yade (0.80.0-50-ge568cd2) on my brand new machine (ubuntu 12.04 precise). Everything ran fine until I tried to launch yade from executable. I get this error message: Welcome to Yade 0.80.0-50-ge568cd2 Traceback (most recent call last): File "./yade-0.80.0-50-ge568cd2", line 112, in import yade File "/media/sdb/yade/sources/git/build//lib/yade0.80.0-50-ge568cd2/py/yade/__init__.py", line 58, in import boot ImportError: /media/sdb/yade/sources/git/build/libcore.so: undefined symbol: _ZTI12Serializable If you have any idea? Cheers Luc -- 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 #232493]: yade crashes when opening
Question #232493 on Yade changed: https://answers.launchpad.net/yade/+question/232493 Luc Scholtès posted a new comment: Thanks Jan but, from this discussion, everything should work with latest yade version, right? Luc -- 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 #232493]: yade crashes when opening
Question #232493 on Yade changed: https://answers.launchpad.net/yade/+question/232493 Luc Scholtès posted a new comment: Ok, my mistake. Github is very confusing for me... getting sources using: clone g...@github.com:lucScholtes/trunk.git gives me the error when launching because, it is not the latest version... I must admit that I don't get it but, of course, everything is fine if I use: git clone g...@github.com:yade/trunk.git Yet, I followed what is described here: https://www.yade- dem.org/wiki/Yade_on_github and I don't see why my branch (lucScholtes/trunk.git) is different from the master branch (yade/trunk.git) since I did a "fork" from master branch I must be dumb... Luc -- 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 #232493]: yade crashes when opening
Question #232493 on Yade changed: https://answers.launchpad.net/yade/+question/232493 Status: Answered => Solved Luc Scholtès confirmed that the question is solved: Yes, the plan was to commit some files in the coming days. I will do it using the main branch. I guess I will know if I am allowed to do so when I will type git commit files, right? Cheers Luc -- 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 #232493]: yade crashes when opening
Question #232493 on Yade changed: https://answers.launchpad.net/yade/+question/232493 Luc Scholtès confirmed that the question is solved: Thanks Bruno Chareyre, that solved my question. -- 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 #232493]: yade crashes when opening
Question #232493 on Yade changed: https://answers.launchpad.net/yade/+question/232493 Luc Scholtès posted a new comment: What I have done with pre-existing fracture planes. Basically, a contact law. This one could actually replace the current cohesiveFrictionalPM has it has the same features plus the possibility to deal with pre-existing fractures (reference to your message regarding contact laws cleaning). Maybe this could actually help me improve the way I implemented it. I will add an example folder too, so that people could have an idea about how it works with basic scripts. Is there any particular way to commit entire folders? I plan to add a screenshot or a video as well on wiki to illustrate that. -- 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 #232493]: yade crashes when opening
Question #232493 on Yade changed: https://answers.launchpad.net/yade/+question/232493 Luc Scholtès posted a new comment: Yes, as I told you, this new law would replace cohesiveFrictionalPM, which is, as you said a duplicate of Law2_ScGeom6D_CohFrictPhys_CohesionMoment for the most part. So I would remove cohesiveFrictionalPM, agreed. BTW, what is the procedure for that matter? Now, the new law allows to take into account pre-existing fracture planes as I told you. The sort of things describe here: http://www.sciencedirect.com/science/article/pii/S1365160912000391#. Nothing really new in terms of contact behaviour (normal, shear adhesion), just a specific way of dealing with the orientation of contacts belonging to pre-existing fractures (and, of course, the initial interparticle distance as the equilibrium distance). A little bit more than number of broken contacts ;) I understand your concerns but I am not sure I could implement this particular new feature into Law2_ScGeom6D_CohFrictPhys_CohesionMoment. What I can insure though, is that I will try to keep the files updated in regards to the new features you mentionned (contact handling, PBC, etc...). Luc -- 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 #232493]: yade crashes when opening
Question #232493 on Yade changed: https://answers.launchpad.net/yade/+question/232493 Luc Scholtès posted a new comment: I just tried to "git push" a commit (add a new reference for testing commit) but get this message: ERROR: Permission to yade/trunk.git denied to lucScholtes. fatal: The remote end hung up unexpectedly Could you help me on that one please? Luc -- 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 #232493]: yade crashes when opening
Question #232493 on Yade changed: https://answers.launchpad.net/yade/+question/232493 Luc Scholtès posted a new comment: Thanks for inputs Bruno. As a first alternative, because it would be easier both in terms of time and coding, I would say that I would like to commit my new class as I received several demands for it. It would replace the old Cohesive frictionalPM of course if you can explain me how to delete it. In addition, I would like to commit a directory with examples so that people would be able to use it as it is. I guess I can do it by myself but Anton suggested that I may send the folder to one of you... What do you think? Luc -- 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 #235264]: Use of JCFpmPhys.dilation ?
Question #235264 on Yade changed: https://answers.launchpad.net/yade/+question/235264 Status: Open => Answered Luc Scholtès proposed the following answer: Hi Jerome, Good to hear from you. You are right, I have not used dilation in any modelling but you have to note that it is just a variable that does not enter in any computations, unlike dilationAngle. I put it there because I thought it could be interesting to quantify dilation in joints and, actually, after double checking, I am pretty sure it is not computed the right way (see line 112 of the cpp file). Thanks for pointing out. I will have a look. Coming back to dilationAngle, it has been used in computations (see figure 8 in this paper: http://www.sciencedirect.com/science/article/pii/S1365160912000391) and, it is working when the smoothJoint contact logic is turned on. Implementation is also on line 112 of the cpp file and has been verified. There could be a discussion on the way it is implemented and I am keen for remarks. To sum up: - Yes, a parameter is currently present and functional in the source code to take into account dilatancy in joints, it is dilationAngle. - dilation is a variable that should record the amount of dilatancy in the joint but needs to be corrected. Hope it helps Luc -- 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 #235264]: Use of JCFpmPhys.dilation ?
Question #235264 on Yade changed: https://answers.launchpad.net/yade/+question/235264 Luc Scholtès posted a new comment: "One extra remark about this topic : I thought that it would maybe sound more "rheological" to take into account dilation only at plastic sliding, and, then, to compute the normal dilation according to the plastic part of the relative shear displacement. Do you agree ?" Actually, if you have a look at the code, dilation (the change in initD) is taken into account only when maximum shear strength is reached (plastic yield) and it takes into acount only the incremental shear displacement (jointSliding). Now, definitely, the computation of the normal displacement in the joint (phys->dilation), needs to be corrected. What do you think about that way: phys->dilation += jointSliding*phys->dilationAngle So we use the incremental shear displacement (after plastic yield)? Luc -- 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