[Yade-users] [Question #674789]: Spheres cross section
New question #674789 on Yade: https://answers.launchpad.net/yade/+question/674789 Hi Friends, :) Can you please advise if I can take a cross section view in Yade after my simulation is finalised? Cheers, Seti -- 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 #665857]: Uniaxial compresion
Question #665857 on Yade changed: https://answers.launchpad.net/yade/+question/665857 Seti posted a new comment: Thanks :) -- 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 #665857]: Uniaxial compresion
Question #665857 on Yade changed: https://answers.launchpad.net/yade/+question/665857 Seti posted a new comment: Hi Jan, Thanks for your advise. can you please send the link to [1] as well? Much appreciated, Seti -- 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 #665857]: Uniaxial compresion
Question #665857 on Yade changed: https://answers.launchpad.net/yade/+question/665857 Seti posted a new comment: Hi Jan, Thanks for your advise. can you please send the link to [1] as well? Much appreciated, Seti -- 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 #665857]: Uniaxial compresion
Question #665857 on Yade changed: https://answers.launchpad.net/yade/+question/665857 Status: Answered => Open Seti is still having a problem: Hi Robert, thanks for your reply, no error just below message: init done, will now run. Damaged, stopping. Compressive strength fc=691231 gnuplot 20180330T170719p8266.gnuplot Bye. here is the code: #!/usr/bin/python # -*- coding: utf-8 -*- from __future__ import division from yade import plot,pack,timing import time, sys, os, copy #import matplotlib #matplotlib.rc('text',usetex=True) #matplotlib.rc('text.latex',preamble=r'\usepackage{concrete}\usepackage{euler}') """ A fairly complex script performing uniaxial tension-compression test on hyperboloid-shaped specimen. Most parameters of the model (and of the setup) can be read from table using yade-multi. After the simulation setup, tension loading is run and stresses are periodically saved for plotting as well as checked for getting below the maximum value so far. This indicates failure (see stopIfDamaged function). After failure in tension, the original setup is loaded anew and the sense of loading reversed. After failure in compression, strain-stress curves are saved via plot.saveGnuplot and we exit, giving some useful information like peak stresses in tension/compression. Running this script for the first time can take long time, as the specimen is prepared using triaxial compression. Next time, however, an attempt is made to load previously-generated packing (from /tmp/triaxPackCache.sqlite) and this expensive procedure is avoided. The specimen length can be specified, its diameter is half of the length and skirt of the hyperboloid is 4/5 of the width. The particle size is constant and can be specified using the sphereRadius parameter. The 3d display has displacement scaling applied, so that the fracture looks more spectacular. The scale is 1000 for tension and 100 for compression. """ # default parameters or from table readParamsFromTable(noTableOk=True, # unknownOk=True, young=24e9, poisson=.2, sigmaT=3.5e6, frictionAngle=atan(0.8), epsCrackOnset=1e-4, relDuctility=30, intRadius=1.5, dtSafety=.8, damping=0.4, strainRateTension=.5, strainRateCompression=.5, setSpeeds=True, # 1=tension, 2=compression (ANDed; 3=both) doModes=2, specimenLength=.15, sphereRadius=3.5e-3, # isotropic confinement (should be negative) isoPrestress=0, ) from yade.params.table import * from yade.params.table import * if 'sigmaT=3.5e6, compression' in O.tags.keys(): O.tags['id']=O.tags['id']+O.tags['sigmaT=3.5e6, compression'] # make geom; the dimensions are hard-coded here; could be in param table if desired # z-oriented hyperboloid, length 20cm, diameter 10cm, skirt 8cm # using spheres 7mm of diameter # mat1=CpmMat(young=young,frictionAngle=frictionAngle,poisson=poisson,density=4800,sigmaT=sigmaT,relDuctility=relDuctility,epsCrackOnset=epsCrackOnset,isoPrestress=isoPrestress) concreteId1=O.materials.append(mat1) #sp=pack.randomDensePack(pack.inHyperboloid((0,0,-.5*specimenLength),(0,0,.5*specimenLength),.25*specimenLength,.17*specimenLength),spheresInCell=2000,radius=sphereRadius,memoizeDb='/tmp/triaxPackCache.sqlite',returnSpherePack=True) # sp=pack.SpherePack() pred=pack.inCylinder((0,0,0.0002),(0,0,0.3),0.05) O.bodies.append(pack.randomDensePack(pred,radius=0.007)) bb=uniaxialTestFeatures() negIds,posIds,axis,crossSectionArea=bb['negIds'],bb['posIds'],bb['axis'],bb['area'] O.dt=dtSafety*PWaveTimeStep() print 'Timestep',O.dt mm,mx=[pt[axis] for pt in aabbExtrema()] coord_25,coord_50,coord_75=mm+.25*(mx-mm),mm+.5*(mx-mm),mm+.75*(mx-mm) area_25,area_50,area_75=approxSectionArea(coord_25,axis),approxSectionArea(coord_50,axis),approxSectionArea(coord_75,axis) O.engines=[ ForceResetter(), InsertionSortCollider([Bo1_Sphere_Aabb(aabbEnlargeFactor=intRadius,label='is2aabb'),],verletDist=.05*sphereRadius), InteractionLoop( [Ig2_Sphere_Sphere_ScGeom(interactionDetectionFactor=intRadius,label='ss2sc')], [Ip2_CpmMat_CpmMat_CpmPhys()], [Law2_ScGeom_CpmPhys_Cpm()], ), NewtonIntegrator(damping=damping,label='damper'), CpmStateUpdater(realPeriod=.5), UniaxialStrainer(strainRate=strainRateTension,axis=axis,asymmetry=0,posIds=posIds,negIds=negIds,crossSectionArea=crossSectionArea,blockDisplacements=False,blockRotations=False,setSpeeds=setSpeeds,label='strainer'), PyRunner(virtPeriod=1e-6/strainRateTension,realPeriod=1,command='addPlotData()',label='plotDataCollector',initRun=True), PyRunner(realPeriod=4,command='stopIfDamaged()',label='damageChecker'), ] #O.miscParams=[Gl1_CpmPhys(dmgLabel=False,colorStrain=False,epsNLabel=False,epsT=
Re: [Yade-users] [Question #665857]: Uniaxial compresion
Question #665857 on Yade changed: https://answers.launchpad.net/yade/+question/665857 Status: Answered => Open Seti is still having a problem: Hi Robert and Jan, Thanks so much for your replies :) >Could you be more specific than "it won't run"? Maybe you could provide details as to what happens? Is there an error? Does Yade crash? I ran your script with 1e5 and 3.5e6. It runs. my model will be exploded. >3) I would say it is a matter of postprocessing and the definition of crack. You can save interactions and display e.g. only those, whose damage is > 0.99 Your advise, does make sense to me, however not sure how should I do it? is there any existing example that you can share in this regards? I just used paraview for postprocessing - the recorded images for preliminary exercisers. >This is the second time in a couple months that someone has run into this ZeroDivisionError because they are using doModes=2. I am going to edit the script on trunk so we don't keep running into this. I need to use the compression mode I used again the original script and just changed it to compression as per below - it does not work, simulation stops in couple of secs Would you please let me know your thoughts? Thanks, Seti ### #!/usr/bin/python # -*- coding: utf-8 -*- from __future__ import division from yade import plot,pack,timing import time, sys, os, copy #import matplotlib #matplotlib.rc('text',usetex=True) #matplotlib.rc('text.latex',preamble=r'\usepackage{concrete}\usepackage{euler}') """ A fairly complex script performing uniaxial tension-compression test on hyperboloid-shaped specimen. Most parameters of the model (and of the setup) can be read from table using yade-multi. After the simulation setup, tension loading is run and stresses are periodically saved for plotting as well as checked for getting below the maximum value so far. This indicates failure (see stopIfDamaged function). After failure in tension, the original setup is loaded anew and the sense of loading reversed. After failure in compression, strain-stress curves are saved via plot.saveGnuplot and we exit, giving some useful information like peak stresses in tension/compression. Running this script for the first time can take long time, as the specimen is prepared using triaxial compression. Next time, however, an attempt is made to load previously-generated packing (from /tmp/triaxPackCache.sqlite) and this expensive procedure is avoided. The specimen length can be specified, its diameter is half of the length and skirt of the hyperboloid is 4/5 of the width. The particle size is constant and can be specified using the sphereRadius parameter. The 3d display has displacement scaling applied, so that the fracture looks more spectacular. The scale is 1000 for tension and 100 for compression. """ # default parameters or from table readParamsFromTable(noTableOk=True, # unknownOk=True, young=24e9, poisson=.2, sigmaT=3.5e6, frictionAngle=atan(0.8), epsCrackOnset=1e-4, relDuctility=30, intRadius=1.5, dtSafety=.8, damping=0.4, strainRateTension=.5, strainRateCompression=.5, setSpeeds=True, # 1=tension, 2=compression (ANDed; 3=both) doModes=2, specimenLength=.15, sphereRadius=3.5e-3, # isotropic confinement (should be negative) isoPrestress=0, ) from yade.params.table import * from yade.params.table import * if 'sigmaT=3.5e6, compression' in O.tags.keys(): O.tags['id']=O.tags['id']+O.tags['sigmaT=3.5e6, compression'] # make geom; the dimensions are hard-coded here; could be in param table if desired # z-oriented hyperboloid, length 20cm, diameter 10cm, skirt 8cm # using spheres 7mm of diameter # mat1=CpmMat(young=young,frictionAngle=frictionAngle,poisson=poisson,density=4800,sigmaT=sigmaT,relDuctility=relDuctility,epsCrackOnset=epsCrackOnset,isoPrestress=isoPrestress) concreteId1=O.materials.append(mat1) #sp=pack.randomDensePack(pack.inHyperboloid((0,0,-.5*specimenLength),(0,0,.5*specimenLength),.25*specimenLength,.17*specimenLength),spheresInCell=2000,radius=sphereRadius,memoizeDb='/tmp/triaxPackCache.sqlite',returnSpherePack=True) # sp=pack.SpherePack() pred=pack.inCylinder((0,0,0.0002),(0,0,0.3),0.05) O.bodies.append(pack.randomDensePack(pred,radius=0.007)) bb=uniaxialTestFeatures() negIds,posIds,axis,crossSectionArea=bb['negIds'],bb['posIds'],bb['axis'],bb['area'] O.dt=dtSafety*PWaveTimeStep() print 'Timestep',O.dt mm,mx=[pt[axis] for pt in aabbExtrema()] coord_25,coord_50,coord_75=mm+.25*(mx-mm),mm+.5*(mx-mm),mm+.75*(mx-mm) area_25,area_50,area_75=approxSectionArea(coord_25,axis),approxSectionArea(coord_50,axis),approxSectionArea(coord_75,axis) O.engines=[ ForceResetter(), InsertionSortCollider([Bo1_Sphere_Aabb(aabbEn
Re: [Yade-users] [Question #665385]: Clumping the big number of grains
Question #665385 on Yade changed: https://answers.launchpad.net/yade/+question/665385 Seti 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
Re: [Yade-users] [Question #665385]: Clumping the big number of grains
Question #665385 on Yade changed: https://answers.launchpad.net/yade/+question/665385 Status: Answered => Solved Seti confirmed that the question is solved: all good, Thanks Bruno. -- You received this question notification because your team yade-users is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
[Yade-users] [Question #665857]: Uniaxial compresion
(concreteId1,concreteId2,1.1e9),(concreteId2,concreteId2,1.1e3))),0.5, compression' O.pause() #sys.exit(0) # results in some threading exception def addPlotData(): yade.plot.addData({'t':O.time,'i':O.iter,'eps':strainer.strain,'sigma':strainer.avgStress+isoPrestress, 'sigma.25':forcesOnCoordPlane(coord_25,axis)[axis]/area_25+isoPrestress, 'sigma.50':forcesOnCoordPlane(coord_50,axis)[axis]/area_50+isoPrestress, 'sigma.75':forcesOnCoordPlane(coord_75,axis)[axis]/area_75+isoPrestress, }) plot.plot(subPlots=False) #O.run() initTest() waitIfBatch() O.run(5000,True) plot.plots={'eps':('sigma')} plot.plot(subPlots=False) plot.saveDataTxt('sigmaTttt=1.1e4,0.5, compression') # PLAY THE SIMULATION HERE WITH "PLAY" BUTTON OR WITH THE COMMAND O.run(N) # rr=yade.qt.Renderer() rr.shape=False rr.intrPhys=True Thanks Seti -- 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 #665857]: Uniaxial compresion
((concreteId1,concreteId1,1.1e9),(concreteId1,concreteId2,1.1e9),(concreteId2,concreteId2,1.1e3))),0.5, compression' O.pause() #sys.exit(0) # results in some threading exception def addPlotData(): yade.plot.addData({'t':O.time,'i':O.iter,'eps':strainer.strain,'sigma':strainer.avgStress+isoPrestress, 'sigma.25':forcesOnCoordPlane(coord_25,axis)[axis]/area_25+isoPrestress, 'sigma.50':forcesOnCoordPlane(coord_50,axis)[axis]/area_50+isoPrestress, 'sigma.75':forcesOnCoordPlane(coord_75,axis)[axis]/area_75+isoPrestress, }) plot.plot(subPlots=False) #O.run() initTest() waitIfBatch() O.run(5000,True) plot.plots={'eps':('sigma')} plot.plot(subPlots=False) plot.saveDataTxt('sigmaTttt=1.1e4,0.5, compression') # PLAY THE SIMULATION HERE WITH "PLAY" BUTTON OR WITH THE COMMAND O.run(N) # rr=yade.qt.Renderer() rr.shape=False rr.intrPhys=True Thanks Seti -- 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 #665385]: Clumping the big number of grains
Question #665385 on Yade changed: https://answers.launchpad.net/yade/+question/665385 Seti gave more information on the question: Hi Friends, To be more specific I know how manage the reduce and position of 3 or 4 ,.. clumps in clumping process but not sure how mange these parameters when I want to clump each 30 grains in 1 grains packing or clumping each 300 grains together. Looking forward to hear your advise. Regards. Seti -- 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 #665385]: Clumping the big number of grains
New question #665385 on Yade: https://answers.launchpad.net/yade/+question/665385 Hi all, sorry if it is, too simple question. can you please advise me how I can clump big numbers e.g. I need to clump 30 grains, or 300 grains - Imagine I have 1 grains in total. Thanks for your help, Seti -- 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 #663499]: Results of Cohesive triaxial - match maker
New question #663499 on Yade: https://answers.launchpad.net/yade/+question/663499 Hi all, Back to my previous question #663085 - I have updated the script as per below - it is working without any error however when I change the percentage of materials from 10% to 90%( through this line :- if random.random() < 0.9:) the stress- strain results does not change at all. Even I am not sure if "DEVIATORIC LOADING" phase is impaling, because the stress value does not go more than 100kpa in all different ratios of the materials combinations. Would you please advise me where is the issue? Thanks Seti #!/usr/bin/python # -*- coding: utf-8 -*- from __future__ import division from yade import plot,pack,timing import time, sys, os, copy from yade import ymport, utils, pack, export #from pylab import * import math import numpy as np ### DEFINING VARIABLES AND MATERIALS ### # default parameters or from table readParamsFromTable(noTableOk=True, # unknownOk=True, targetPorosity=0.45, #the porosity we want for the packing num_spheres=3000,# number of spheres young=236e9, poisson=.2, density=2600, frictionAngle=radians(30), normalCohesion=3.e6, shearCohesion=1.e6, etaRoll=0.1, compFricDegree=30, # contact friction during the confining phase finalFricDegree=30, # contact friction during the deviatoric loading key='_triax_base_', # put you simulation's name here rate=-0.02, # loading rate (strain rate) damp=0.7, # damping coefficient stabilityThreshold=0.01, # we test unbalancedForce against this value in different loops (see below) ) from yade.params import table from yade.params.table import * mn,mx=Vector3(0,0,0),Vector3(1,1,1) # corners of the initial packing ## create materials for spheres and plates mat1=CohFrictMat(young=young,poisson=poisson,density=density,frictionAngle=frictionAngle,normalCohesion=normalCohesion,shearCohesion=shearCohesion,momentRotationLaw=True,etaRoll=etaRoll,label='cement') mat_1=O.materials.append(mat1) mat2=CohFrictMat(young=young,poisson=poisson,density=density,frictionAngle=frictionAngle,normalCohesion=3.e3,shearCohesion=1.e3,momentRotationLaw=True,etaRoll=etaRoll,label='glass_sphere') mat_2=O.materials.append(mat2) O.materials.append(FrictMat(young=2*young,poisson=.25,frictionAngle=0,density=0,label='frictionlessWalls')) ## create walls around the packing walls=aabbWalls([mn,mx],thickness=0,material='frictionlessWalls') wallIds=O.bodies.append(walls) ## use a SpherePack object to generate a random loose particles packing sp=pack.SpherePack() sp.makeCloud(mn,mx,-1,0,num_spheres,False, 0.95,seed=1) #"seed" make the "random" generation always the same O.bodies.append([sphere(center,rad,material='cement') for center,rad in sp]) cement=[] glass_sphere=[] for b in O.bodies: if not isinstance(b.shape,Sphere): # change material only on spheres continue if random.random() < 0.9: b.mat = mat1 b.shape.color = (1,0,0) b.state.mass*=mat1.density/mat1.density cement.append(b.id) else: b.mat = mat2 b.shape.color = (0,1,1) b.state.mass*=mat2.density/mat1.density glass_sphere.append(b.id) ### DEFINING ENGINES ### triax=TriaxialStressController( maxMultiplier=1.+2.4e5/young, # spheres growing factor (fast growth) finalMaxMultiplier=1.+2.4e4/young, # spheres growing factor (slow growth) thickness = 0, stressMask = 7, internalCompaction=True, # If true the confining pressure is generated by growing particles ) newton=NewtonIntegrator(damping=damp) O.engines=[ ForceResetter(), InsertionSortCollider([Bo1_Sphere_Aabb(),Bo1_Box_Aabb()]), InteractionLoop( #box-sphere interactions will be the simple normal-shear law, we use ScGeom for them [Ig2_Sphere_Sphere_ScGeom6D(),Ig2_Box_Sphere_ScGeom()], #Boxes will be frictional (FrictMat), so the sphere-box physics is FrictMat vs. CohFrictMat, the Ip type will be found via the inheritance tree (CohFrictMat is a FrictMat) and will result in FrictPhys interaction physics #and will result in a FrictPhys [Ip2_FrictMat_FrictMat_FrictPhys(), Ip2_CohFrictMat_CohFrictMat_CohFrictPhys(label="cohesiveIp"), Ip2_CohFrictMat_CohFrictMat_CohFrictPhys(normalCohesion=MatchMaker(matches=((mat_1,mat_1,3.e6),(mat_1,mat_2,3.e4),(mat_2,mat_2,3.e3))),shearCohesion=MatchMaker(matches=((mat_1,mat_1,1.e6),(mat_1,mat_2,1.e4),(mat_2,mat_2,1.e3], #Finally, two different contact laws for sphere-box and sphere-sphere [Law2_ScGeom_FrictPhys_CundallStrack(),Law2_ScGeom6D_CohFrictPhys_CohesionMoment( useIncrementalForm=True, #useIncrementalForm is turned on as we want plasticity on the contact moments always_use_moment_law=False, #if we want "rolling" friction even if the contact is not cohesive (or cohesion is broken), we will have to turn this true somewhere label='cohesiveLaw')], ), Gl
Re: [Yade-users] [Question #663085]: Match Maker - Cohesive Triaxial
Question #663085 on Yade changed: https://answers.launchpad.net/yade/+question/663085 Seti confirmed that the question is solved: Thanks Jan Stránský, that solved my question. -- You received this question notification because your team yade-users is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #663085]: Match Maker - Cohesive Triaxial
Question #663085 on Yade changed: https://answers.launchpad.net/yade/+question/663085 Status: Answered => Solved Seti confirmed that the question is solved: Much appreciated. -- 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 #663085]: Match Maker - Cohesive Triaxial
New question #663085 on Yade: https://answers.launchpad.net/yade/+question/663085 Hi All, I am trying to use match maker for cohesive triaxial code through below script to control normal and shear cohesion between spheres, which I am facing with an error as follow: line 99, in label='cohesiveLaw')], ValueError: Exactly 3 lists of functors must be given Maybe I am doing something wrong to define normal and shear cohesion attributes - can you please advise me in this regards? Thanks Seti ## #!/usr/bin/python # -*- coding: utf-8 -*- from __future__ import division from yade import plot,pack,timing import time, sys, os, copy from yade import ymport, utils, pack, export #from pylab import * import math import numpy as np ### DEFINING VARIABLES AND MATERIALS ### # default parameters or from table readParamsFromTable(noTableOk=True, # unknownOk=True, targetPorosity=0.45, #the porosity we want for the packing num_spheres=3000,# number of spheres young=236e9, poisson=.2, density=2600, frictionAngle=radians(30), normalCohesion=3.e6, shearCohesion=1.e6, etaRoll=0.1, compFricDegree=30, # contact friction during the confining phase finalFricDegree=30, # contact friction during the deviatoric loading key='_triax_base_', # put you simulation's name here rate=-0.02, # loading rate (strain rate) damp=0.7, # damping coefficient stabilityThreshold=0.01, # we test unbalancedForce against this value in different loops (see below) ) from yade.params import table from yade.params.table import * mn,mx=Vector3(0,0,0),Vector3(1,1,1) # corners of the initial packing ## create materials for spheres and plates mat1=CohFrictMat(young=young,poisson=poisson,density=density,frictionAngle=frictionAngle,normalCohesion=normalCohesion,shearCohesion=shearCohesion,momentRotationLaw=True,etaRoll=etaRoll,label='cement') mat_1=O.materials.append(mat1) mat2=CohFrictMat(young=young,poisson=poisson,density=density,frictionAngle=frictionAngle,normalCohesion=3.e3,shearCohesion=1.e3,momentRotationLaw=True,etaRoll=etaRoll,label='glass_sphere') mat_2=O.materials.append(mat2) O.materials.append(FrictMat(young=2*young,poisson=.25,frictionAngle=0,density=0,label='frictionlessWalls')) ## create walls around the packing walls=aabbWalls([mn,mx],thickness=0,material='frictionlessWalls') wallIds=O.bodies.append(walls) ## use a SpherePack object to generate a random loose particles packing sp=pack.SpherePack() sp.makeCloud(mn,mx,-1,0,num_spheres,False, 0.95,seed=1) #"seed" make the "random" generation always the same O.bodies.append([sphere(center,rad,material='cement') for center,rad in sp]) cement=[] glass_sphere=[] for b in O.bodies: if not isinstance(b.shape,Sphere): # change material only on spheres continue if random.random() < 0.9: b.mat = mat1 b.shape.color = (1,0,0) b.state.mass*=mat1.density/mat1.density cement.append(b.id) else: b.mat = mat2 b.shape.color = (0,1,1) b.state.mass*=mat2.density/mat1.density glass_sphere.append(b.id) ### DEFINING ENGINES ### triax=TriaxialStressController( maxMultiplier=1.+2.4e5/young, # spheres growing factor (fast growth) finalMaxMultiplier=1.+2.4e4/young, # spheres growing factor (slow growth) thickness = 0, stressMask = 7, internalCompaction=True, # If true the confining pressure is generated by growing particles ) newton=NewtonIntegrator(damping=damp) O.engines=[ ForceResetter(), InsertionSortCollider([Bo1_Sphere_Aabb(),Bo1_Box_Aabb()]), InteractionLoop( #box-sphere interactions will be the simple normal-shear law, we use ScGeom for them [Ig2_Sphere_Sphere_ScGeom6D(),Ig2_Box_Sphere_ScGeom()], #Boxes will be frictional (FrictMat), so the sphere-box physics is FrictMat vs. CohFrictMat, the Ip type will be found via the inheritance tree (CohFrictMat is a FrictMat) and will result in FrictPhys interaction physics #and will result in a FrictPhys [Ip2_FrictMat_FrictMat_FrictPhys(), Ip2_CohFrictMat_CohFrictMat_CohFrictPhys(label="cohesiveIp")], [Ip2_CohFrictMat_CohFrictMat_CohFrictPhys(normalCohesion=MatchMaker(matches=((mat_1,mat_1,3.e6),(mat_1,mat_2,3.e4),(mat_2,mat_2,3.e3))),shearCohesion=MatchMaker(matches=((mat_1,mat_1,1.e6), (mat_1,mat_2,1.e4),(mat_2,mat_2,1.e3], #Finally, two different contact laws for sphere-box and sphere-sphere [Law2_ScGeom_FrictPhys_CundallStrack(),Law2_ScGeom6D_CohFrictPhys_CohesionMoment( useIncrementalForm=True, #useIncrementalForm is turned on as we want plasticity on the contact moments always_use_moment_law=False, #if we want "rolling" friction even if the contact is not cohesive (or cohesion is broken), we will have to turn this true somewhere label='cohesiveLaw')], ), GlobalStiffnessTimeStepper(active=1,timeStepUpdateInterval=100,timestepSafetyCoefficient=0.8), Triaxia
[Yade-users] [Question #663066]: Triaxial cohesive
New question #663066 on Yade: https://answers.launchpad.net/yade/+question/663066 Dear all, I have done some small changes on cohesive triaxial script - changing the normal and cohesion values for two type of materials - but the results does not make sense - unbalace force nan and mean stress zero can you please advise me what is my mistake thanks #!/usr/bin/python # -*- coding: utf-8 -*- from __future__ import division from yade import plot,pack,timing import time, sys, os, copy from yade import ymport, utils, pack, export #from pylab import * import math import numpy as np ### DEFINING VARIABLES AND MATERIALS ### # default parameters or from table readParamsFromTable(noTableOk=True, # unknownOk=True, targetPorosity=0.45, #the porosity we want for the packing num_spheres=3000,# number of spheres young=236e9, poisson=.2, density=2600, frictionAngle=radians(30), normalCohesion=3.e6, shearCohesion=1.e6, etaRoll=0.1, compFricDegree=30, # contact friction during the confining phase finalFricDegree=30, # contact friction during the deviatoric loading key='_triax_base_', # put you simulation's name here rate=-0.02, # loading rate (strain rate) damp=0.7, # damping coefficient stabilityThreshold=0.01, # we test unbalancedForce against this value in different loops (see below) ) from yade.params import table from yade.params.table import * mn,mx=Vector3(0,0,0),Vector3(1,1,1) # corners of the initial packing ## create materials for spheres and plates mat1=CohFrictMat(young=young,poisson=poisson,density=density,frictionAngle=frictionAngle,normalCohesion=normalCohesion,shearCohesion=shearCohesion,momentRotationLaw=True,etaRoll=etaRoll,label='cement') mat_1=O.materials.append(mat1) mat2=CohFrictMat(young=young,poisson=poisson,density=density,frictionAngle=frictionAngle,normalCohesion=3.e6,shearCohesion=1.e6,momentRotationLaw=True,etaRoll=etaRoll,label='glass_sphere') mat_2=O.materials.append(mat2) O.materials.append(FrictMat(young=2*young,poisson=.25,frictionAngle=0,density=0,label='frictionlessWalls')) ## create walls around the packing walls=aabbWalls([mn,mx],thickness=0,material='frictionlessWalls') wallIds=O.bodies.append(walls) ## use a SpherePack object to generate a random loose particles packing sp=pack.SpherePack() sp.makeCloud(mn,mx,-1,0,num_spheres,False, 0.95,seed=1) #"seed" make the "random" generation always the same O.bodies.append([sphere(center,rad,material='cement') for center,rad in sp]) cement=[] glass_sphere=[] for b in O.bodies: if not isinstance(b.shape,Sphere): # change material only on spheres continue if random.random() < 0.5: b.mat = mat1 b.shape.color = (1,0,0) b.state.mass*=mat1.density/mat1.density cement.append(b.id) else: b.mat = mat2 b.shape.color = (0,1,1) b.state.mass*=mat2.density/mat1.density glass_sphere.append(b.id) ### DEFINING ENGINES ### triax=TriaxialStressController( maxMultiplier=1.+2.4e5/young, # spheres growing factor (fast growth) finalMaxMultiplier=1.+2.4e4/young, # spheres growing factor (slow growth) thickness = 0, stressMask = 7, internalCompaction=True, # If true the confining pressure is generated by growing particles ) newton=NewtonIntegrator(damping=damp) O.engines=[ ForceResetter(), InsertionSortCollider([Bo1_Sphere_Aabb(),Bo1_Box_Aabb()]), InteractionLoop( #box-sphere interactions will be the simple normal-shear law, we use ScGeom for them [Ig2_Sphere_Sphere_ScGeom6D(),Ig2_Box_Sphere_ScGeom()], #Boxes will be frictional (FrictMat), so the sphere-box physics is FrictMat vs. CohFrictMat, the Ip type will be found via the inheritance tree (CohFrictMat is a FrictMat) and will result in FrictPhys interaction physics #and will result in a FrictPhys [Ip2_FrictMat_FrictMat_FrictPhys(),Ip2_CohFrictMat_CohFrictMat_CohFrictPhys(label="cohesiveIp")], #Finally, two different contact laws for sphere-box and sphere-sphere [Law2_ScGeom_FrictPhys_CundallStrack(),Law2_ScGeom6D_CohFrictPhys_CohesionMoment( useIncrementalForm=True, #useIncrementalForm is turned on as we want plasticity on the contact moments always_use_moment_law=False, #if we want "rolling" friction even if the contact is not cohesive (or cohesion is broken), we will have to turn this true somewhere label='cohesiveLaw')] ), GlobalStiffnessTimeStepper(active=1,timeStepUpdateInterval=100,timestepSafetyCoefficient=0.8), triax, newton ] triax.goal1=triax.goal2=triax.goal3=-10 while 1: O.run(1000, True) ##the global unbalanced force on dynamic bodies, thus excluding boundaries, which are not at equilibrium unb=unbalancedForce() print 'unbalanced force:',unb,' mean stress: ',triax.meanStress if unbtargetPorosity: ## we decrease friction value and apply it to all the bodies and contacts compFricDegree = 0.95*compFricDegree
Re: [Yade-users] [Question #657063]: unconsolidated undrained triaxial test
Question #657063 on Yade changed: https://answers.launchpad.net/yade/+question/657063 Seti posted a new comment: Wise answer! As always - thanks :) -- 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 #657063]: unconsolidated undrained triaxial test
Question #657063 on Yade changed: https://answers.launchpad.net/yade/+question/657063 Status: Answered => Open Seti is still having a problem: Hi Bruno, Thanks for your help. Would you please kindly confirm if there is same concept in below script - aggregated sample? SignaT: pre-stress,... Regards, seti # # Triaxial test. Axial strain rate is prescribed and transverse prestress. # Test is possible on prism or cylinder # An independent c++ engine may be created from this script in the future. # from yade import pack, plot import os # default parameters or from table readParamsFromTable(noTableOk=True, # type of test ['cyl','cube'] testType = 'cyl', # material parameters young = 30e6, poisson = .2, frictionAngle = 0.27, sigmaT = 1.5e3, epsCrackOnset = 1e-4, relDuctility = 10, # prestress preStress = -1.5e5, # axial strain rate strainRate = -1, # assamlby parameters rParticle = .075e-3, # width = 2e-3, height = 5e-3, bcCoeff = 5, # facets division nw = 24, nh = 15, # output specifications fileName = 'young = 30e6,frictionAngle = 1.5', exportDir = '/tmp', runGnuplot = False, runInGui = True, ) from yade.params.table import * assert testType in ['cyl','cube'] # materials concMat = O.materials.append(CpmMat( young=young,frictionAngle=frictionAngle,poisson=poisson,sigmaT=sigmaT, epsCrackOnset=epsCrackOnset,relDuctility=relDuctility )) frictMat = O.materials.append(FrictMat( young=young,poisson=poisson,frictionAngle=frictionAngle )) # spheres pred = pack.inCylinder((0,0,0),(0,0,height),.5*width) if testType=='cyl' else pack.inAlignedBox((-.5*width,-.5*width,0),(.5*width,.5*width,height)) if testType=='cube' else None sp=SpherePack() sp = pack.randomDensePack(pred,spheresInCell=2000,radius=rParticle,memoizeDb='/tmp/triaxTestOnCylinder.sqlite',returnSpherePack=True) spheres=sp.toSimulation(color=(0,1,1),material=concMat) # bottom and top of specimen. Will have prescribed velocity bot = [O.bodies[s] for s in spheres if O.bodies[s].state.pos[2]<rParticle*bcCoeff] top = [O.bodies[s] for s in spheres if O.bodies[s].state.pos[2]>height-rParticle*bcCoeff] vel = strainRate*(height-rParticle*2*bcCoeff) for s in bot: s.shape.color = (1,0,0) s.state.blockedDOFs = 'xyzXYZ' s.state.vel = (0,0,-vel) for s in top: s.shape.color = Vector3(0,1,0) s.state.blockedDOFs = 'xyzXYZ' s.state.vel = (0,0,vel) print 'Number of elements: ', len(O.bodies) print 'Timestep',O.dt print 'young = 30e6,frictionAngle = 0.27,preStress = -1.5e5,sigmaT = 1.5e2' # facets facets = [] if testType == 'cyl': rCyl2 = .5*width / cos(pi/float(nw)) for r in xrange(nw): for h in xrange(nh): v1 = Vector3( rCyl2*cos(2*pi*(r+0)/float(nw)), rCyl2*sin(2*pi*(r+0)/float(nw)), height*(h+0)/float(nh) ) v2 = Vector3( rCyl2*cos(2*pi*(r+1)/float(nw)), rCyl2*sin(2*pi*(r+1)/float(nw)), height*(h+0)/float(nh) ) v3 = Vector3( rCyl2*cos(2*pi*(r+1)/float(nw)), rCyl2*sin(2*pi*(r+1)/float(nw)), height*(h+1)/float(nh) ) v4 = Vector3( rCyl2*cos(2*pi*(r+0)/float(nw)), rCyl2*sin(2*pi*(r+0)/float(nw)), height*(h+1)/float(nh) ) f1 = facet((v1,v2,v3),color=(0,0,1),material=frictMat) f2 = facet((v1,v3,v4),color=(0,0,1),material=frictMat) facets.extend((f1,f2)) elif testType == 'cube': nw2 = nw/4 for r in xrange(nw2): for h in xrange(nh): v11 = Vector3( -.5*width + (r+0)*width/nw2, -.5*width, height*(h+0)/float(nh) ) v12 = Vector3( -.5*width + (r+1)*width/nw2, -.5*width, height*(h+0)/float(nh) ) v13 = Vector3( -.5*width + (r+1)*width/nw2, -.5*width, height*(h+1)/float(nh) ) v14 = Vector3( -.5*width + (r+0)*width/nw2, -.5*width, height*(h+1)/float(nh) ) f11 = facet((v11,v12,v13),color=(0,0,1),material=frictMat) f12 = facet((v11,v13,v14),color=(0,0,1),material=frictMat) v21 = Vector3( +.5*width, -.5*width + (r+0)*width/nw2, height*(h+0)/float(nh) ) v22 = Vector3( +.5*width, -.5*width + (r+1)*width/nw2, height*(h+0)/float(nh) ) v23 = Vector3( +.5*width, -.5*width + (r+1)*width/nw2, height*(h+1)/float(nh) ) v24 = Vector3( +.5*width, -.5*width + (r+0)*width/nw2, height*(h+1)/float(nh) ) f21 = facet((v21,v22,v23),color=(0,0,1)
Re: [Yade-users] [Question #657063]: unconsolidated undrained triaxial test
Question #657063 on Yade changed: https://answers.launchpad.net/yade/+question/657063 Status: Answered => Open Seti is still having a problem: Thanks Bruno, It makes sense - Considering your comments- my physical samples be completely aggregated, if I want to skip the consolidation part ( I know by this assumption we change the condition to USC test when there is confining pressure around the sample) - how should I edit the current script to address my requirements - P.S. I need to model UU & CU. Thanks Seti -- 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 #657063]: unconsolidated undrained triaxial test
Question #657063 on Yade changed: https://answers.launchpad.net/yade/+question/657063 Status: Answered => Open Seti is still having a problem: Hi Bruno, Thanks for help, so we as per Amiya comment I understood how model CD & CU ,however I am not sure about your comment regards UU test. my understanding is in UU test although we have grains movement the volume of sample remains the same? Would you please advise me in this regards? thanks, Seti -- 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 #657063]: unconsolidated undrained triaxial test
Question #657063 on Yade changed: https://answers.launchpad.net/yade/+question/657063 Status: Answered => Open Seti is still having a problem: Hi Amiya, Thanks for reply, how about UU? Thanks, Seti -- 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 #657063]: unconsolidated undrained triaxial test
New question #657063 on Yade: https://answers.launchpad.net/yade/+question/657063 Hi all, I have a general question, my understanding is we are modelling "unconsolidated undrained (UU) triaxial test" through below script? is that correct ? If yes, can we model CU ( consolidated undrained ) and CD (consolidated drained ) tests by yade as well? Thanks for help Seti # -*- coding: utf-8 -*- #* # Copyright (C) 2010 by Bruno Chareyre * # bruno.chareyre_at_grenoble-inp.fr * #* # This program is free software; it is licensed under the terms of the * # GNU General Public License v2 or later. See file LICENSE for details. * #*/ ## This script details the simulation of a triaxial test on sphere packings using Yade ## See the associated pdf file for detailed exercises ## the algorithms presented here have been used in published papers, namely: ## * Chareyre et al. 2002 (http://www.geosyntheticssociety.org/Resources/Archive/GI/src/V9I2/GI-V9-N2-Paper1.pdf) ## * Chareyre and Villard 2005 (https://yade-dem.org/w/images/1/1b/Chareyre_licensed.pdf) ## * Scholtès et al. 2009 (http://dx.doi.org/10.1016/j.ijengsci.2008.07.002) ## * Tong et al.2012 (http://dx.doi.org/10.2516/ogst/2012032) ## ## Most of the ideas were actually developped during my PhD. ## If you want to know more on micro-macro relations evaluated by triaxial simulations ## AND if you can read some french, it is here: http://tel.archives-ouvertes.fr/docs/00/48/68/07/PDF/Thesis.pdf from yade import pack,plot ### DEFINING VARIABLES AND MATERIALS ### # The following 5 lines will be used later for batch execution nRead=readParamsFromTable( num_spheres=1000,# number of spheres compFricDegree =36.28, # contact friction during the confining phase key='_triax_base_', # put you simulation's name here unknownOk=True ) from yade.params import table num_spheres=table.num_spheres# number of spheres key=table.key targetPorosity = 0.42 #the porosity we want for the packing compFricDegree = 40# contact friction during the deviatoric loading rate=-0.1 # loading rate (strain rate) damp=0.3 # damping coefficient stabilityThreshold=0.01 # we test unbalancedForce against this value in different loops (see below) young=229e6# contact stiffness mn,mx=Vector3(0,0,0),Vector3(0.09,0.18,0.09) # corners of the initial packing ## create materials for spheres and plates O.materials.append(CohFrictMat(alphaKr=0.5,young=young,poisson=0.25,frictionAngle=radians(40),normalCohesion=7.5e1,shearCohesion=2.25e1,momentRotationLaw=True,etaRoll=0.001,density=2600,isCohesive=True,label='spheres')) O.materials.append(CohFrictMat(young=young,poisson=0.25,frictionAngle=radians(40),density=0,label='walls')) ## create walls around the packing walls=aabbWalls([mn,mx],thickness=0,material='walls') wallIds=O.bodies.append(walls) ## use a SpherePack object to generate a random loose particles packing sp=pack.SpherePack() clumps=False #turn this true for the same example with clumps if clumps: ## approximate mean rad of the futur dense packing for latter use volume = (mx[0]-mn[0])*(mx[1]-mn[1])*(mx[2]-mn[2]) mean_rad = pow(0.09*volume/num_spheres,0.) ## define a unique clump type (we could have many, see clumpCloud documentation) c1=pack.SpherePack([((-0.2*mean_rad,0,0),0.5*mean_rad),((0.2*mean_rad,0,0),0.5*mean_rad)]) ## generate positions and input them in the simulation sp.makeClumpCloud(mn,mx,[c1],periodic=False) sp.toSimulation(material='spheres') O.bodies.updateClumpProperties()#get more accurate clump masses/volumes/inertia else: sp.makeCloud(mn,mx,-1,0.,num_spheres,False, 0.95,seed=1) #"seed" make the "random" generation always the same #sp.makeCloud(mn,mx,0.066,num_spheres) #"seed" make the "random" generation always the same O.bodies.append([sphere(center,rad,material='spheres') for center,rad in sp]) #or alternatively (higher level function doing exactly the same): #sp.toSimulation(material='spheres') ### DEFINING ENGINES ### triax=TriaxialStressController( ## TriaxialStressController will be used to control stress and strain. It controls particles size and plates positions. ## this control of boundary conditions was used for instance in http://dx.doi.org/10.1016/j.ijengsci.2008.07.002 maxMultiplier=1.+2e4/young, # spheres growing factor (fast growth) finalMaxMultiplier=1.+2e3/young, # spheres growing factor (slow growth) thickness = 0, ## switch stress/strain control using a b
Re: [Yade-users] [Question #656614]: Sphere size Distribution
Question #656614 on Yade changed: https://answers.launchpad.net/yade/+question/656614 Seti posted a new comment: Hi Jan, Much appreciated :) -- 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 #656614]: Sphere size Distribution
Question #656614 on Yade changed: https://answers.launchpad.net/yade/+question/656614 Status: Answered => Solved Seti confirmed that the question is solved: Thanks Jan Stránský, that solved my question. -- You received this question notification because your team yade-users is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
[Yade-users] [Question #656614]: Sphere size Distribution
New question #656614 on Yade: https://answers.launchpad.net/yade/+question/656614 Hi all, can you please help me to find out what is wrong with below script. Thanks so much That is very simple script try to model pack of spheres with specific size distribution, #!/usr/bin/python from yade import pack,utils, qt, plot #pred = pack.inAlignedBox((0,0,0),(.045,0.045,.045)) #create material soil1 = CohFrictMat(young=30e9,poisson=0.3,frictionAngle=radians(30),density=2600.0,normalCohesion=1e6, shearCohesion=80e6,label='soil') #color=(1,0,0) red color #soil1 = FrictMat(young=1e6,poisson=0.4,frictionAngle=radians(30),density=2500.0,label='soil') O.materials.append(soil1)# O.bodies.append(utils.wall(0,axis=1,sense=1)) O.materials.append(CohFrictMat(young=30e9,poisson=0.3, frictionAngle = radians(30) , label='wallmat')) wallmat = O.materials[-1] spheres=SpherePack() #spheres=pack.randomDensePack(pred,radius=.5,rRelFuzz=0,material='soil',spheresInCell=1000,color=(1,0,0),returnSpherePack=True) #spheres.toSimulation() #O.bodies.append(spheres) sp=pack.SpherePack() psdSizes=[0.00011,0.00012,0.00013,0.00014,0.00015,0.00016,0.00017,0.00018,0.00019,0.0002] # (sizes or radii of the grains vary from 2mm to 9.5mm) psdCumm=[0,0.2,0.3,.4,0.5,0.6,0.7,0.8,0.9,1.0] # for the code not using percentage, e.g. yade-daily sp.makeCloud((0,0,0),(.0045,0.0045,.0045),-1,0,1000,False, 0.95,psdSizes,psdCumm,False,seed=1) #"seed" make the "random" generation always the same #sp.makeCloud(mn,mx,-1,0,num_spheres1,num_spheres1,False, 0.95,psdSizes,psdCumm,False,seed=1)#"seed" make the "random" generation always the same spheres.toSimulation() #O.bodies.append(spheres) ## O.engines=[ ForceResetter(),#reset forces InsertionSortCollider([Bo1_Wall_Aabb(),Bo1_Sphere_Aabb()]), InteractionLoop( [Ig2_Sphere_Sphere_ScGeom6D(),Ig2_Wall_Sphere_ScGeom()], # collision geometry [Ip2_CohFrictMat_CohFrictMat_CohFrictPhys()], # collision "physics" [Law2_ScGeom6D_CohFrictPhys_CohesionMoment(),Law2_ScGeom_FrictPhys_CundallStrack()] # contact law -- apply forces ), # apply gravity force to particles # damping: numerical dissipation of energy NewtonIntegrator(damping=0.5,gravity=(0,-9.81,0)), #qt.SnapshotEngine(fileBase='3d-',iterPeriod=200,label='snapshot'), # this engine will be called after 2 steps, only once PyRunner(command='checkUnbalanced()',realPeriod=100,label='checker'), PyRunner(command='addPlotData()',iterPeriod=100) ] print 'Number of elements: ', len(O.bodies) print 'Box Volume: ' print 'Reposemix,e-2repose30degree,r=.5,.0' O.trackEnergy=True # set timestep to a fraction of the critical timestep # the fraction is very small, so that the simulation is not too fast # and the motion can be observed O.dt=1*utils.PWaveTimeStep() #makeVideo(snapshot.snapshots,'3d.mpeg',fps=10,bps=1) # save the simulation, so that it can be reloaded later, for experimentation #O.saveTmp()0 #checker.command='stopUnloading()' def checkUnbalanced(): if unbalancedForce()<5e-2: print('Reached target , stopping') O.pause() plot.saveDataTxt('Reposemix,,e-2repose,30degree,r=.5,.0.txt.bz2') plot.saveDataTxt('Reposemix,,e-2repose,30degree,r=.5,.0.txt') #plot.saveDataTxt('modi.data.bz2') # plot.saveGnuplot('bbb') is also possible # collect history of data which will be plotted def addPlotData(): # each item is given a names, by which it can be the unsed in plot.plots # the **O.energy converts dictionary-like O.energy to plot.addData arguments plot.addData(i=O.iter,unbalanced=unbalancedForce(),**O.energy) #O.save('Modifiedd.txt.bz2') #while 1: #O.run(100,True) #if unbalancedForce()<1e-5: #break plot.plots={'i':('unbalanced',None,O.energy.keys)} plot.plot() O.saveTmp() #plot.saveDataTxt('2') from yade import qt qt.View() #O.run() #from yade import qt #qt.View() #O.run() # this function is called when the simulation is finished #def finish(): # snapshot is label of qt.SnapshotEngine # the 'snapshots' attribute contains list of all saved files #makeVideo(snapshot.snapshots,'3d.mpeg',fps=10,bps=1) #O.pause() yade.qt.Controller(); # set parameters of the renderer, to show network chains rather than particles # these settings are accessible from the Controller window, on the second tab ("Display") as well #rr=yade.qt.Renderer() #rr.shape=False #rr.intrPhys=True -- 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 :
Re: [Yade-users] [Question #654914]: convergence issue! using unbalancedForce()
Question #654914 on Yade changed: https://answers.launchpad.net/yade/+question/654914 Status: Answered => Open Seti is still having a problem: Hi Bruno, Thanks for your response.how I can record moments? also I changed material property to cohesive one as per below: soil1 = CohFrictMat(young=30e6,poisson=0.4,frictionAngle=radians(36.5),density=2600.0,normalCohesion=1e5, shearCohesion=.3e5,alphaKr=0.15,etaRoll=0.3,label='soil') now the sample explodes. can you please advise me how I can fix it? thanks, Seti -- 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 #654914]: convergence issue! using unbalancedForce()
New question #654914 on Yade: https://answers.launchpad.net/yade/+question/654914 Dear Friends, I am not sure why my below script, does not converge, even by increasing the micro parameters such as friction angle, the simulation does not reach to target and gives me flat surface of grains instead of a heap - it is a time consuming process . can you please advise me where is my mistake? #!/usr/bin/python from yade import pack,utils, qt, plot pred = pack.inAlignedBox((0,0,0),(0.067,0.067,0.067)) #create material. #soil1 = CohFrictMat(young=30e7,poisson=0.3,frictionAngle=radians(30),density=2600.0,normalCohesion=10e9, shearCohesion=80e9,alphaKr=0.15,label='soil') soil1 = CohFrictMat(alphaKr=0.15,young=30e9,poisson=0.4,density=2600,frictionAngle=radians(36.5),momentRotationLaw=True,etaRoll=0.3,label='spheres') #color=(1,0,0) red color #soil1 = FrictMat(alphaKr=1.7,young=30e6,poisson=0.3,frictionAngle=radians(30),density=2600.0,etaRoll=.4,label='soil') O.materials.append(soil1) O.bodies.append(utils.wall(0,axis=1,sense=1)) O.materials.append(CohFrictMat(young=30e6,poisson=0.3, frictionAngle = radians(30) , label='wallmat')) #O.materials.append(FrictMat(young=30e9,poisson=0.3, frictionAngle = radians(30) , label='wallmat')) wallmat = O.materials[-1] spheres=SpherePack() spheres=pack.randomDensePack(pred,radius=.0025,rRelFuzz=0,material='soil',spheresInCell=1000,color=(1,0,0),returnSpherePack=True) spheres.toSimulation() #O.bodies.append(spheres) # # O.engines=[ ForceResetter(),#reset forces InsertionSortCollider([Bo1_Wall_Aabb(),Bo1_Sphere_Aabb()]), InteractionLoop( [Ig2_Sphere_Sphere_ScGeom6D(),Ig2_Wall_Sphere_ScGeom()], # collision geometry [Ip2_CohFrictMat_CohFrictMat_CohFrictPhys(), Ip2_FrictMat_FrictMat_FrictPhys ()],# collision "physics" [Law2_ScGeom6D_CohFrictPhys_CohesionMoment(),Law2_ScGeom_FrictPhys_CundallStrack()] # contact law -- apply forces ), # apply gravity force to particles # damping: numerical dissipation of energy NewtonIntegrator(damping=0.4,gravity=(0,-9.81,0)), #qt.SnapshotEngine(fileBase='3d-',iterPeriod=200,label='snapshot'), # this engine will be called after 2 steps, only once PyRunner(command='checkUnbalanced()',realPeriod=50,label='checker'), PyRunner(command='addPlotData()',iterPeriod=100) ] print 'Number of elements: ', len(O.bodies) print 'Box Volume: ' print '8000,unbalancedForce()<1e-1,0.0005, alphaKr=0.15,young=30e9,poisson=0.4,density=2600,frictionAngle=radians(36.5),momentRotationLaw=True,etaRoll=0.3,' O.trackEnergy=True # set timestep to a fraction of the critical timestep # the fraction is very small, so that the simulation is not too fast # and the motion can be observed O.dt=2.1*utils.PWaveTimeStep() #makeVideo(snapshot.snapshots,'3d.mpeg',fps=10,bps=1) # save the simulation, so that it can be reloaded later, for experimentation #O.saveTmp()0 #checker.command='stopUnloading()' def checkUnbalanced(): if unbalancedForce()<1e-2: print('Reached target , stopping') O.pause() plot.saveDataTxt('FrictMat,e-2repose10degree,r=.5,0, damping= 0.5.txt.bz2') plot.saveDataTxt('FrictMat,e-2repose10degree,r=.5,0, damping= 0.5.txt') #plot.saveDataTxt('modi.data.bz2') # plot.saveGnuplot('bbb') is also possible # collect history of data which will be plotted def addPlotData(): # each item is given a names, by which it can be the unsed in plot.plots # the **O.energy converts dictionary-like O.energy to plot.addData arguments plot.addData(i=O.iter,unbalanced=unbalancedForce(),**O.energy) #O.save('Modifiedd.txt.bz2') #while 1: #O.run(100,True) #if unbalancedForce()<1e-5: #break plot.plots={'i':('unbalanced',None,O.energy.keys)} plot.plot() O.saveTmp() #plot.saveDataTxt('2') from yade import qt qt.View() #O.run() #from yade import qt #qt.View() #O.run() # this function is called when the simulation is finished #def finish(): # snapshot is label of qt.SnapshotEngine # the 'snapshots' attribute contains list of all saved files #makeVideo(snapshot.snapshots,'3d.mpeg',fps=10,bps=1) #O.pause() yade.qt.Controller(); # set parameters of the renderer, to show network chains rather than particles # these settings are accessible from the Controller window, on the second tab ("Display") as well #rr=yade.qt.Renderer() #rr.shape=False #rr.intrPhys=True plot.saveDataTxt('reposefric,.2,17,17,.004mm,young=30e6,poisson=0.3,frictionAngle=radians(30),density=2600.0') Thanks, Seti -- You received this question notification because your team yade-users is an answer contact for Yade. __
Re: [Yade-users] [Question #650560]: micro parameters of Frictional material
Question #650560 on Yade changed: https://answers.launchpad.net/yade/+question/650560 Seti confirmed that the question is solved: Thanks Klaus Thoeni, that solved my question. -- You received this question notification because your team yade-users is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #650560]: micro parameters of Frictional material
Question #650560 on Yade changed: https://answers.launchpad.net/yade/+question/650560 Status: Answered => Solved Seti confirmed that the question is solved: Awesome. Thanks -- 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 #650560]: micro parameters of Frictional material
New question #650560 on Yade: https://answers.launchpad.net/yade/+question/650560 Hi all, How I can add rolling stiffness coefficient and plastic moment limit coefficient to frictional material property: it seams "alphaKr" and "etaRoll" just have been defined for CohFrictMat not FrictMat . e.g. O.materials.append(CohFrictMat(alphaKr=1.7,young=30e6,poisson=0.4,density=2600,frictionAngle=radians(36.5),normalCohesion=1.3e6,shearCohesion=1e6,momentRotationLaw=True,etaRoll=.4,label='spheres')) How I can see these parameters in frictional material since, to me are not just related to cohesive materials. Thanks Seti -- 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 #645300]: Meaning ofchanging color in disply window
Question #645300 on Yade changed: https://answers.launchpad.net/yade/+question/645300 Status: Answered => Solved Seti confirmed that the question is solved: Thanks Jan Stránský, that solved my question. -- You received this question notification because your team yade-users is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #645300]: Meaning ofchanging color in disply window
Question #645300 on Yade changed: https://answers.launchpad.net/yade/+question/645300 Description changed to: Hi friends, I have a quick silly question: In display window ( when a code is running e.g. uniaxial text ) if the setting was on network mode ( showing interconnections of spheres). What Changing the colors from blue to red is representing, ?e.g. strain, stress,... I know it is a basic and fundamental question. However always there is a reason behind asking any questions even the silly ones! ;) Thanks, Seti -- 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 #645300]: Meaning ofchanging color in disply window
New question #645300 on Yade: https://answers.launchpad.net/yade/+question/645300 Hi friends, I have a quick silly question: In display window ( when a code is running e.g. uniaxial text ) if the setting was on network mode ( showing interconnections of spheres). What Changing the colors from blue to red is representing ? I know it is a basic and fundamental question. However always there is a reason behind asking any questions even the silly ones! ;) Thanks, Seti -- 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 #644156]: Deformation Record
Question #644156 on Yade changed: https://answers.launchpad.net/yade/+question/644156 Status: Answered => Open Seti is still having a problem: Hi Jan, Thanks :) I have seen this one,Since I am not expert in coding. My understanding was this script has been written for Triaxial test. So my question is can I do simple changes like below and do for UCS? UC=UCSTest() UC.generate("test.yade") should I add this script to original script or run separately? Thanks, Seti -- 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 #644156]: Deformation Record
Question #644156 on Yade changed: https://answers.launchpad.net/yade/+question/644156 Description changed to: hi all, I need to save the deformation of the sample in UCS test, for post processing, in below script - maybe by using defToVtk can you please let me know how? I could not find any example in this regards, Thanks #!/usr/bin/python # -*- coding: utf-8 -*- from __future__ import division from yade import plot,pack,timing, qt import time, sys, os, copy #import matplotlib #matplotlib.rc('text',usetex=True) #matplotlib.rc('text.latex',preamble=r'\usepackage{concrete}\usepackage{euler}') """ A fairly complex script performing uniaxial tension-compression test on hyperboloid-shaped specimen. Most parameters of the model (and of the setup) can be read from table using yade-multi. After the simulation setup, tension loading is run and stresses are periodically saved for plotting as well as checked for getting below the maximum value so far. This indicates failure (see stopIfDamaged function). After failure in tension, the original setup is loaded anew and the sense of loading reversed. After failure in compression, strain-stress curves are saved via plot.saveGnuplot and we exit, giving some useful information like peak stresses in tension/compression. Running this script for the first time can take long time, as the specimen is prepared using triaxial compression. Next time, however, an attempt is made to load previously-generated packing (from /tmp/triaxPackCache.sqlite) and this expensive procedure is avoided. The specimen length can be specified, its diameter is half of the length and skirt of the hyperboloid is 4/5 of the width. The particle size is constant and can be specified using the sphereRadius parameter. The 3d display has displacement scaling applied, so that the fracture looks more spectacular. The scale is 1000 for tension and 100 for compression. """ # default parameters or from table readParamsFromTable(noTableOk=True, # unknownOk=True, young=270e6, poisson=.2, sigmaT=30e4, frictionAngle=atan(.75), epsCrackOnset=1e-3, relDuctility=20, intRadius=1.5, dtSafety=.8, damping=0.4, strainRateTension=1e-1, strainRateCompression=1e-1, setSpeeds=True, # 1=tension, 2=compression (ANDed; 3=both) doModes=2, specimenLength=.030, sphereRadius=5e-3, # isotropic confinement (should be negative) isoPrestress=0, ) from yade.params.table import * if 'sigmaT=3.5e6, compression' in O.tags.keys(): O.tags['id']=O.tags['id']+O.tags['sigmaT=3.5e6, compression'] # make geom; the dimensions are hard-coded here; could be in param table if desired # z-oriented hyperboloid, length 20cm, diameter 10cm, skirt 8cm # using spheres 7mm of diameter concreteId=O.materials.append(CpmMat(young=young,frictionAngle=frictionAngle,poisson=poisson,density=4800,sigmaT=sigmaT,relDuctility=relDuctility,epsCrackOnset=epsCrackOnset,isoPrestress=isoPrestress)) #concreteId=O.materials.append(CohFrictMat(young=30e9,poisson=0.2,alphaKr=3000,alphaKtw=3000,density=2700,frictionAngle=0.6,isCohesive=True,momentRotationLaw=True,normalCohesion=-3.5e6,shearCohesion=-10e6,etaRoll=-3)) sps=SpherePack() #sp=pack.randomDensePack(pack.inHyperboloid((0,0,-.5*specimenLength),(0,0,.5*specimenLength),.25*specimenLength,.17*specimenLength),spheresInCell=2000,radius=sphereRadius,memoizeDb='/tmp/triaxPackCache.sqlite',returnSpherePack=True) # sp=pack.SpherePack() pred=pack.inCylinder((0,0,0.0002),(0,0,0.090),0.030) O.bodies.append(pack.randomDensePack(pred,radius=0.00325,material=concreteId)) #pred=pack.inCylinder((0,0,0),(0,0,0.2),0.1) #sp=pack.randomDensePack(pred,radius=0.002,material=concreteId) #O.bodies.append(TS1) ## #sp=pack.randomDensePack(pack.inAlignedBox((-.25*specimenLength,-.25*specimenLength,-.5*specimenLength),(.25*specimenLength,.25*specimenLength,.5*specimenLength)),spheresInCell=2000,radius=sphereRadius,memoizeDb='/tmp/triaxPackCache.sqlite',returnSpherePack=True) sp.toSimulation(material=concreteId) bb=uniaxialTestFeatures() negIds,posIds,axis,crossSectionArea=bb['negIds'],bb['posIds'],bb['axis'],bb['area'] O.dt=dtSafety*PWaveTimeStep() print 'Timestep',O.dt print 'sigmaT=150e3,duc30, compression,1e-4' mm,mx=[pt[axis] for pt in aabbExtrema()] coord_25,coord_50,coord_75=mm+.25*(mx-mm),mm+.5*(mx-mm),mm+.75*(mx-mm) area_25,area_50,area_75=approxSectionArea(coord_25,axis),approxSectionArea(coord_50,axis),approxSectionArea(coord_75,axis) O.engines=[ ForceResetter(), InsertionSortCollider([Bo1_Sphere_Aabb(aabbEnlargeFactor=intRadius,label='is2aabb'),],verletDist=.05*sphereRadius), InteractionLoop( [Ig2_Sphere_Sphere_ScGeom(interactionDetectionFactor=intRadius,label='ss2sc')], [Ip2_CpmMat_CpmMat_CpmPhys()], [Law2_ScGeom_CpmPhys_Cpm()], ),
[Yade-users] [Question #644156]: Deformation Record
New question #644156 on Yade: https://answers.launchpad.net/yade/+question/644156 hi all, I need to save the deformation of the sample in UCS test, for post processing, in below script - maybe by using defToVtk can you please let me know how? I could not find any sample in this regards, Thanks #!/usr/bin/python # -*- coding: utf-8 -*- from __future__ import division from yade import plot,pack,timing, qt import time, sys, os, copy #import matplotlib #matplotlib.rc('text',usetex=True) #matplotlib.rc('text.latex',preamble=r'\usepackage{concrete}\usepackage{euler}') """ A fairly complex script performing uniaxial tension-compression test on hyperboloid-shaped specimen. Most parameters of the model (and of the setup) can be read from table using yade-multi. After the simulation setup, tension loading is run and stresses are periodically saved for plotting as well as checked for getting below the maximum value so far. This indicates failure (see stopIfDamaged function). After failure in tension, the original setup is loaded anew and the sense of loading reversed. After failure in compression, strain-stress curves are saved via plot.saveGnuplot and we exit, giving some useful information like peak stresses in tension/compression. Running this script for the first time can take long time, as the specimen is prepared using triaxial compression. Next time, however, an attempt is made to load previously-generated packing (from /tmp/triaxPackCache.sqlite) and this expensive procedure is avoided. The specimen length can be specified, its diameter is half of the length and skirt of the hyperboloid is 4/5 of the width. The particle size is constant and can be specified using the sphereRadius parameter. The 3d display has displacement scaling applied, so that the fracture looks more spectacular. The scale is 1000 for tension and 100 for compression. """ # default parameters or from table readParamsFromTable(noTableOk=True, # unknownOk=True, young=270e6, poisson=.2, sigmaT=30e4, frictionAngle=atan(.75), epsCrackOnset=1e-3, relDuctility=20, intRadius=1.5, dtSafety=.8, damping=0.4, strainRateTension=1e-1, strainRateCompression=1e-1, setSpeeds=True, # 1=tension, 2=compression (ANDed; 3=both) doModes=2, specimenLength=.030, sphereRadius=5e-3, # isotropic confinement (should be negative) isoPrestress=0, ) from yade.params.table import * if 'sigmaT=3.5e6, compression' in O.tags.keys(): O.tags['id']=O.tags['id']+O.tags['sigmaT=3.5e6, compression'] # make geom; the dimensions are hard-coded here; could be in param table if desired # z-oriented hyperboloid, length 20cm, diameter 10cm, skirt 8cm # using spheres 7mm of diameter concreteId=O.materials.append(CpmMat(young=young,frictionAngle=frictionAngle,poisson=poisson,density=4800,sigmaT=sigmaT,relDuctility=relDuctility,epsCrackOnset=epsCrackOnset,isoPrestress=isoPrestress)) #concreteId=O.materials.append(CohFrictMat(young=30e9,poisson=0.2,alphaKr=3000,alphaKtw=3000,density=2700,frictionAngle=0.6,isCohesive=True,momentRotationLaw=True,normalCohesion=-3.5e6,shearCohesion=-10e6,etaRoll=-3)) sps=SpherePack() #sp=pack.randomDensePack(pack.inHyperboloid((0,0,-.5*specimenLength),(0,0,.5*specimenLength),.25*specimenLength,.17*specimenLength),spheresInCell=2000,radius=sphereRadius,memoizeDb='/tmp/triaxPackCache.sqlite',returnSpherePack=True) # sp=pack.SpherePack() pred=pack.inCylinder((0,0,0.0002),(0,0,0.090),0.030) O.bodies.append(pack.randomDensePack(pred,radius=0.00325,material=concreteId)) #pred=pack.inCylinder((0,0,0),(0,0,0.2),0.1) #sp=pack.randomDensePack(pred,radius=0.002,material=concreteId) #O.bodies.append(TS1) ## #sp=pack.randomDensePack(pack.inAlignedBox((-.25*specimenLength,-.25*specimenLength,-.5*specimenLength),(.25*specimenLength,.25*specimenLength,.5*specimenLength)),spheresInCell=2000,radius=sphereRadius,memoizeDb='/tmp/triaxPackCache.sqlite',returnSpherePack=True) sp.toSimulation(material=concreteId) bb=uniaxialTestFeatures() negIds,posIds,axis,crossSectionArea=bb['negIds'],bb['posIds'],bb['axis'],bb['area'] O.dt=dtSafety*PWaveTimeStep() print 'Timestep',O.dt print 'sigmaT=150e3,duc30, compression,1e-4' mm,mx=[pt[axis] for pt in aabbExtrema()] coord_25,coord_50,coord_75=mm+.25*(mx-mm),mm+.5*(mx-mm),mm+.75*(mx-mm) area_25,area_50,area_75=approxSectionArea(coord_25,axis),approxSectionArea(coord_50,axis),approxSectionArea(coord_75,axis) O.engines=[ ForceResetter(), InsertionSortCollider([Bo1_Sphere_Aabb(aabbEnlargeFactor=intRadius,label='is2aabb'),],verletDist=.05*sphereRadius), InteractionLoop( [Ig2_Sphere_Sphere_ScGeom(interactionDetectionFactor=intRadius,label='ss2sc')], [Ip2_CpmMat_CpmMat_CpmPhys()], [Law2_ScGeom_CpmPhys_Cpm()], ),
Re: [Yade-users] [Question #466937]: Tracking the Crack
Question #466937 on Yade changed: https://answers.launchpad.net/yade/+question/466937 Status: Answered => Open Seti is still having a problem: Hi Robert, Thanks so much for your recommendation, can you please explain what you me exactly by: " I've had mixed luck with visualizing that vtu in paraview, so I find it easier to use python to plot the cracks.txt file that is also generated." Thanks, Seti -- 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 #631623]: Demonstrate creation of Shear band in triaxial test
New question #631623 on Yade: https://answers.launchpad.net/yade/+question/631623 Hi all, I need to simulate/show step by step the process of creation the shear band/ cracks during the triaxial test. Can you please help me how I can do it? Thanks , Seti -- 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 #630997]: SnapshotEngines timeout error!
t.saveDataTxt('200,45') ##or even generate a script for gnuplot. Open another terminal and type "gnuplot plotScriptKEY.gnuplot: #plot.saveGnuplot('200,45') ## display on the screen (doesn't work on VMware image it seems) plot.plot() # PLAY THE SIMULATION HERE WITH "PLAY" BUTTON OR WITH THE COMMAND O.run(N) # rr=yade.qt.Renderer() rr.shape=True rr.intrPhys=True Thanks, Seti -- 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 #630995]: VTK does not work in my code
Question #630995 on Yade changed: https://answers.launchpad.net/yade/+question/630995 Status: Answered => Solved Seti confirmed that the question is solved: Thanks Jan Stránský, that solved my question. -- You received this question notification because your team yade-users is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #630995]: VTK does not work in my code
Question #630995 on Yade changed: https://answers.launchpad.net/yade/+question/630995 Summary changed to: VTK does not work in my code -- 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 #630995]: VTK does not work for me!
New question #630995 on Yade: https://answers.launchpad.net/yade/+question/630995 Hi all, Can anyone tell me why VTK and Snapshot don’t work in below script? # encoding: utf-8 # 2012 ©Bruno Chareyre# This variant of triax-basic.py shows the usage of cohesive contact laws and moments at contacts from yade import pack, qt sp=pack.SpherePack() ## corners of the initial packing mn,mx=Vector3(0,0,0),Vector3(40,40,40) ## box between mn and mx, avg radius ± ½(20%), 2k spheres sp.makeCloud(minCorner=mn,maxCorner=mx,rMean=1,rRelFuzz=.5,num=1000) ## create material #0, which will be used as default O.materials.append(CohFrictMat(alphaKr=0.025,young=100e6,poisson=0.4,density=2600,frictionAngle=radians(36.5),normalCohesion=2e6,shearCohesion=2e6,momentRotationLaw=True,etaRoll=0.2,label='spheres')) O.materials.append(FrictMat(young=229e6,poisson=.4,frictionAngle=0,density=0,label='frictionlessWalls')) ## copy spheres from the packing into the scene O.bodies.append([sphere(center,rad,material='spheres') for center,rad in sp]) ## create walls around the packing walls=aabbWalls(material='frictionlessWalls') wallIds=O.bodies.append(walls) triax=TriaxialCompressionEngine( wall_bottom_id=wallIds[2], wall_top_id=wallIds[3], wall_left_id=wallIds[0], wall_right_id=wallIds[1], wall_back_id=wallIds[4], wall_front_id=wallIds[5], internalCompaction=False, sigmaIsoCompaction=-150e3, sigmaLateralConfinement=-150e3, max_vel=10, strainRate=0.03, label="triax" ) O.engines=[ ForceResetter(), InsertionSortCollider([Bo1_Sphere_Aabb(),Bo1_Box_Aabb()]), InteractionLoop( #box-sphere interactions will be the simple normal-shear law, we use ScGeom for them [Ig2_Sphere_Sphere_ScGeom6D(),Ig2_Box_Sphere_ScGeom()], #Boxes will be frictional (FrictMat), so the sphere-box physics is FrictMat vs. CohFrictMat, the Ip type will be found via the inheritance tree (CohFrictMat is a FrictMat) and will result in FrictPhys interaction physics #and will result in a FrictPhys [Ip2_FrictMat_FrictMat_FrictPhys(),Ip2_CohFrictMat_CohFrictMat_CohFrictPhys(label="cohesiveIp")], #Finally, two different contact laws for sphere-box and sphere-sphere [Law2_ScGeom_FrictPhys_CundallStrack(),Law2_ScGeom6D_CohFrictPhys_CohesionMoment( useIncrementalForm=True, #useIncrementalForm is turned on as we want plasticity on the contact moments always_use_moment_law=False, #if we want "rolling" friction even if the contact is not cohesive (or cohesion is broken), we will have to turn this true somewhere label='cohesiveLaw'),Law2_ScGeom_JCFpmPhys_JointedCohesiveFrictionalPM(recordCracks=True)] ), #VTKRecorder(recorders=['spheres','intr','jcfpm']), GlobalStiffnessTimeStepper(active=1,timeStepUpdateInterval=100,timestepSafetyCoefficient=0.5), triax, TriaxialStateRecorder(iterPeriod=1000,file=',jedddi150e3,alphaKr=0.025,150e3,young=100e6,poisson=0.4,density=2600,frictionAngle=radians(36.5),normalCohesion=2e6,shearCohesion=2e6,etaRoll=0.2,2%portland'), NewtonIntegrator(damping=.4), VTKRecorder(fileName='3d-vtk-',recorders=['all'],iterPeriod=1000), qt.SnapshotEngine(fileBase='3d-',iterPeriod=200,label='snapshot'), ] O.dt=.5*PWaveTimeStep() # we must open the view explicitly (limitation of the qt.SnapshotEngine) qt.View() from yade import plot O.engines=O.engines[0:5]+[PyRunner(iterPeriod=500,command='history()',label='recorder')]+O.engines[5:7] def history(): plot.addData(e11=-O.engines[4].strain[0], e22=-O.engines[4].strain[1], e33=-O.engines[4].strain[2], s11=-O.engines[4].stress(0)[0], s22=-O.engines[4].stress(2)[1], s33=-O.engines[4].stress(4)[2], i=O.iter) print 'Number of elements: ', len(O.bodies) print 'Box Volume: ', triax.boxVolume #plot.plots={'i':(('e11',"bo"),('e22',"ro"),('e33',"go"),None,('s11',"bx"),('s22',"rx"),('s33',"gx"))} plot.plots={'e22':'s22'} plot.plot() print "computing, be patient..." #First run without moment and without cohesion O.run(12,True) #This will reload the autosaved compacted sample O.reload() #second run with rolling friction O.engines[2].lawDispatcher.functors[1].always_use_moment_law = True O.run(12,True) O.reload() #third run with rolling friction + cohesion O.engines[2].lawDispatcher.functors[1].always_use_moment_law = True #We assign cohesion to all contacts at the next iteration O.engines[2].physDispatcher.functors[1].setCohesionNow = True O.run(12,True) #plot.saveDataTxt('200,45') ##or even generate a script for gnuplot. Open another terminal and type "gnuplot plotScriptKEY.gnuplot: #plot.saveGnuplot('200,45') ##
Re: [Yade-users] [Question #620981]: record deformed shape in cohesive triaxil test
Question #620981 on Yade changed: https://answers.launchpad.net/yade/+question/620981 Status: Answered => Solved Seti confirmed that the question is solved: Hi Robert, Thanks for your time and recommendation. Hi Hien, thanks for recommendation. I meant force network. Cheers, Seti -- 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 #443228]: segmentation fault using two kinds of cohefricmats under cohesive triaxial test
Question #443228 on Yade changed: https://answers.launchpad.net/yade/+question/443228 Seti posted a new comment: awesome, it is working. Thanks Jan :) -- 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 #443228]: segmentation fault using two kinds of cohefricmats under cohesive triaxial test
Question #443228 on Yade changed: https://answers.launchpad.net/yade/+question/443228 Seti requested more information: Hi Jan, I ran script on Ubuntu 16.04 and had segmentation fault!!! Regards, Seti -- 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 #443228]: segmentation fault using two kinds of cohefricmats under cohesive triaxial test
Question #443228 on Yade changed: https://answers.launchpad.net/yade/+question/443228 Seti requested more information: Hi Jan, I ran script on Ubuntu 16.04 and had segmentation fault!!! Regards, Seti -- 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 #620981]: record deformed shape in cohesive triaxil test
Question #620981 on Yade changed: https://answers.launchpad.net/yade/+question/620981 Status: Answered => Open Seti is still having a problem: Hi Robert, thanks for reply and sorry for not being specific. I meant tracking the force chains in cohesive triaxial tests - Visual observation in 3d Sample Thanks, Seti -- 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 #620981]: record deformed shape in cohesive triaxil test
New question #620981 on Yade: https://answers.launchpad.net/yade/+question/620981 Hi all, can you please advise how I can record deformed shape in cohesive triaxil test? Cheers Seti -- 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 #466937]: Tracking the Crack
New question #466937 on Yade: https://answers.launchpad.net/yade/+question/466937 Hi All, Sorry for preliminary question! How I can show/track cracks in samples by changing color? e.g. triaxial test Thanks Seti -- 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 #462863]: Cohesive triaxial
Question #462863 on Yade changed: https://answers.launchpad.net/yade/+question/462863 Seti gave more information on the question: for example below script will work for sigmaIsoCompaction=-150e3, sigmaLateralConfinement=-150e3, if I change the to 50e3 results are not make sense ( much lower that experimental results) # encoding: utf-8 # 2012 ©Bruno Chareyre <bruno.chare...@hmg.inpg.fr> # This variant of triax-basic.py shows the usage of cohesive contact laws and moments at contacts from yade import pack sp=pack.SpherePack() ## corners of the initial packing mn,mx=Vector3(0,0,0),Vector3(10,10,10) ## box between mn and mx, avg radius ± ½(20%), 2k spheres sp.makeCloud(minCorner=mn,maxCorner=mx,rRelFuzz=.2,num=1000) ## create material #0, which will be used as default O.materials.append(CohFrictMat(young=229e6,poisson=0.4,density=2600,frictionAngle=radians(36.5),normalCohesion=1e6,shearCohesion=1e6,momentRotationLaw=True,etaRoll=0.14,label='spheres')) O.materials.append(FrictMat(young=229e6,poisson=.4,frictionAngle=0,density=0,label='frictionlessWalls')) ## copy spheres from the packing into the scene O.bodies.append([sphere(center,rad,material='spheres') for center,rad in sp]) ## create walls around the packing walls=aabbWalls(material='frictionlessWalls') wallIds=O.bodies.append(walls) triax=TriaxialCompressionEngine( wall_bottom_id=wallIds[2], wall_top_id=wallIds[3], wall_left_id=wallIds[0], wall_right_id=wallIds[1], wall_back_id=wallIds[4], wall_front_id=wallIds[5], internalCompaction=False, sigmaIsoCompaction=-50e3, sigmaLateralConfinement=-50e3, max_vel=10, strainRate=0.03, label="triax" ) O.engines=[ ForceResetter(), InsertionSortCollider([Bo1_Sphere_Aabb(),Bo1_Box_Aabb()]), InteractionLoop( #box-sphere interactions will be the simple normal-shear law, we use ScGeom for them [Ig2_Sphere_Sphere_ScGeom6D(),Ig2_Box_Sphere_ScGeom()], #Boxes will be frictional (FrictMat), so the sphere-box physics is FrictMat vs. CohFrictMat, the Ip type will be found via the inheritance tree (CohFrictMat is a FrictMat) and will result in FrictPhys interaction physics #and will result in a FrictPhys [Ip2_FrictMat_FrictMat_FrictPhys(),Ip2_CohFrictMat_CohFrictMat_CohFrictPhys(label="cohesiveIp")], #Finally, two different contact laws for sphere-box and sphere-sphere [Law2_ScGeom_FrictPhys_CundallStrack(),Law2_ScGeom6D_CohFrictPhys_CohesionMoment( useIncrementalForm=True, #useIncrementalForm is turned on as we want plasticity on the contact moments always_use_moment_law=False, #if we want "rolling" friction even if the contact is not cohesive (or cohesion is broken), we will have to turn this true somewhere label='cohesiveLaw')] ), GlobalStiffnessTimeStepper(active=1,timeStepUpdateInterval=100,timestepSafetyCoefficient=0.5), triax, TriaxialStateRecorder(iterPeriod=100,file='50e3,young=229e6,poisson=0.4,density=2600,frictionAngle=radians(36.5),normalCohesion=1e6,shearCohesion=1e6,etaRoll=0.14,'), NewtonIntegrator(damping=.4) ] from yade import plot O.engines=O.engines[0:5]+[PyRunner(iterPeriod=20,command='history()',label='recorder')]+O.engines[5:7] def history(): plot.addData(e11=-O.engines[4].strain[0], e22=-O.engines[4].strain[1], e33=-O.engines[4].strain[2], s11=-O.engines[4].stress(0)[0], s22=-O.engines[4].stress(2)[1], s33=-O.engines[4].stress(4)[2], i=O.iter) #plot.plots={'i':(('e11',"bo"),('e22',"ro"),('e33',"go"),None,('s11',"bx"),('s22',"rx"),('s33',"gx"))} plot.plots={'e22':'s22'} plot.plot() print "computing, be patient..." #First run without moment and without cohesion O.run(2,True) #This will reload the autosaved compacted sample O.reload() #second run with rolling friction O.engines[2].lawDispatcher.functors[1].always_use_moment_law = True O.run(2,True) O.reload() #third run with rolling friction + cohesion O.engines[2].lawDispatcher.functors[1].always_use_moment_law = True #We assign cohesion to all contacts at the next iteration O.engines[2].physDispatcher.functors[1].setCohesionNow = True O.run(3,True) Thanks for help seti -- 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 #462863]: Cohesive triaxial
New question #462863 on Yade: https://answers.launchpad.net/yade/+question/462863 Hi All, I really need to model the cohesive triaxial test, i just have tried to do some changes on original triax script (changing engine and material property from friction to cohesive) which does not work for some reasons, maybe i am doing something wrong! ( question number 451417. I have found below script in test folder which with its own current inputs stress -strain graph makes sense however when i change inputs such as friction, young, or normal , shear cohesion the results are not convenience , Can you please assist in this issue? https://github.com/yade/trunk/commit/19e81a785b19a8eab2718ebb5ad5eb9456355818 regards, Seti -- 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 #428798]: Triaxial test on Cylinder loose Sample
New question #428798 on Yade: https://answers.launchpad.net/yade/+question/428798 Hi All, Happy new year :) Can you please advise me how I can model the triaxial test on Cylindrical sample where the sample is not cemented ( loose sample). I need to control the porosity of sample exactly what we can do through [1] triaxial model for cubic samples. [1] https://github.com/yade/trunk/blob/master/examples/concrete/triax.py Cheers, Seti -- 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 #406569]: Triaxial test on Cylinder Sample
Question #406569 on Yade changed: https://answers.launchpad.net/yade/+question/406569 Seti confirmed that the question is solved: Thanks Jan Stránský, that solved my question. -- You received this question notification because your team yade-users is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #406569]: Triaxial test on Cylinder Sample
Question #406569 on Yade changed: https://answers.launchpad.net/yade/+question/406569 Status: Answered => Solved Seti confirmed that the question is solved: Hi Jan, Thank so much for prompt reply. Cheers -- 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 #406569]: Triaxial test on Cylinder Sample
Question #406569 on Yade changed: https://answers.launchpad.net/yade/+question/406569 Seti posted a new comment: and cohesion between grains/spheres ? Thanks -- 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 #406569]: Triaxial test on Cylinder Sample
New question #406569 on Yade: https://answers.launchpad.net/yade/+question/406569 Hi All, I need to know how to model/control deviatoric and confining loading, stiffness( Ks,Kn,M ,...) through below script. https://github.com/yade/trunk/blob/master/examples/concrete/triax.py Thanks for you assist Cheers, Seti -- 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 #403663]: Modeling 2 materilas by CPM model
Question #403663 on Yade changed: https://answers.launchpad.net/yade/+question/403663 Status: Answered => Open Seti is still having a problem: Hi Jan, Thanks for your help, , in a sample with just two materials. I have done a series of parametric studies to understand how changing( say increasing) the percentage of material #1 has effect on the strength of sample. By increasing the percentage of mat 1 ( %10, %30, %70) the strength of sample has been increased respectively. However when I increase the percentage of mat 1 to 90% I have drop in stress - strain curve ( strength even less that 30 %) Is there any issue with the script or there is a convergence problem here? Thanks so much for your help. #!/usr/bin/python # -*- coding: utf-8 -*- from __future__ import division from yade import plot,pack,timing import time, sys, os, copy #import matplotlib #matplotlib.rc('text',usetex=True) #matplotlib.rc('text.latex',preamble=r'\usepackage{concrete}\usepackage{euler}') """ A fairly complex script performing uniaxial tension-compression test on hyperboloid-shaped specimen. Most parameters of the model (and of the setup) can be read from table using yade-multi. After the simulation setup, tension loading is run and stresses are periodically saved for plotting as well as checked for getting below the maximum value so far. This indicates failure (see stopIfDamaged function). After failure in tension, the original setup is loaded anew and the sense of loading reversed. After failure in compression, strain-stress curves are saved via plot.saveGnuplot and we exit, giving some useful information like peak stresses in tension/compression. Running this script for the first time can take long time, as the specimen is prepared using triaxial compression. Next time, however, an attempt is made to load previously-generated packing (from /tmp/triaxPackCache.sqlite) and this expensive procedure is avoided. The specimen length can be specified, its diameter is half of the length and skirt of the hyperboloid is 4/5 of the width. The particle size is constant and can be specified using the sphereRadius parameter. The 3d display has displacement scaling applied, so that the fracture looks more spectacular. The scale is 1000 for tension and 100 for compression. """ # default parameters or from table readParamsFromTable(noTableOk=True, # unknownOk=True, young=30e9, poisson=.2, sigmaT=1.1e9, frictionAngle=atan(.57), epsCrackOnset=1e-4, relDuctility=30, intRadius=1.5, dtSafety=.8, damping=0.4, strainRateTension=.1, strainRateCompression=.1, setSpeeds=True, # 1=tension, 2=compression (ANDed; 3=both) doModes=2, specimenLength=.15, sphereRadius=3.5e-3, # isotropic confinement (should be negative) isoPrestress=0, ) from yade.params.table import * if 'sigmaT=3.5e6, compression' in O.tags.keys(): O.tags['id']=O.tags['id']+O.tags['sigmaT=3.5e6, compression'] # make geom; the dimensions are hard-coded here; could be in param table if desired # z-oriented hyperboloid, length 20cm, diameter 10cm, skirt 8cm # using spheres 7mm of diameter mat1=CpmMat(young=young,frictionAngle=atan(.32),poisson=poisson,density=4800,sigmaT=sigmaT,relDuctility=relDuctility,epsCrackOnset=epsCrackOnset,isoPrestress=isoPrestress) mat2=CpmMat(young=30e9,frictionAngle=frictionAngle,poisson=poisson,density=4800,sigmaT=sigmaT,relDuctility=relDuctility,epsCrackOnset=epsCrackOnset,isoPrestress=isoPrestress) concreteId1=O.materials.append(CpmMat(young=young,frictionAngle=atan(.32),poisson=poisson,density=4800,sigmaT=sigmaT,relDuctility=relDuctility,epsCrackOnset=epsCrackOnset,isoPrestress=isoPrestress)) concreteId2=O.materials.append(CpmMat(young=young,frictionAngle=frictionAngle,poisson=poisson,density=4800,sigmaT=sigmaT,relDuctility=relDuctility,epsCrackOnset=epsCrackOnset,isoPrestress=isoPrestress)) #sp=pack.randomDensePack(pack.inHyperboloid((0,0,-.5*specimenLength),(0,0,.5*specimenLength),.25*specimenLength,.17*specimenLength),spheresInCell=2000,radius=sphereRadius,memoizeDb='/tmp/triaxPackCache.sqlite',returnSpherePack=True) # sp=pack.SpherePack() pred=pack.inCylinder((0,0,0.002),(0,0,0.3),0.05) O.bodies.append(pack.randomDensePack(pred,radius=0.008)) #pred=pack.inCylinder((0,0,0),(0,0,0.2),0.1) #sp=pack.randomDensePack(pred,radius=0.002,material=concreteId) #O.bodies.append(TS1) ## #sp=pack.randomDensePack(pack.inAlignedBox((-.25*specimenLength,-.25*specimenLength,-.5*specimenLength),(.25*specimenLength,.25*specimenLength,.5*specimenLength)),spheresInCell=2000,radius=sphereRadius,memoizeDb='/tmp/triaxPackCache.sqlite',returnSpherePack=True) sp.toSimulation() for b in O.bodies: if random.random() < 0.3: b.mat = mat1 b.shape.color = (1,0,0) else: b.mat = m
Re: [Yade-users] [Question #403663]: Modeling 2 materilas by CPM model
Question #403663 on Yade changed: https://answers.launchpad.net/yade/+question/403663 Status: Solved => Open Seti is still having a problem: Hi Jan, Just a quick question, I am wondering to combine more materials in CPM model ( say 5 items), would you please advise me how I can specify the percentage of each material? My idea is as per below: ## from yade import pack import random mat1 = CpmMat() # ... mat2 = CpmMat() # ... mat3 = CpmMat() # ... mat4 = CpmMat() # ... mat5 = CpmMat() # ... sp = pack.randomDensePack(pack.inAlignedBox((0,0,0),(1,1,1)), radius=.05,spheresInCell=500,returnSpherePack=True) sp.toSimulation() for b in O.bodies: if random.random() < 0.2: b.mat = mat1 b.shape.color = (1,0,0) elif random.random() < 0.1: b.mat = mat2 b.shape.color = (0,1,0) elif random.random() < 0.3: b.mat = mat3 b.shape.color = (0,0,1) elif random.random() < 0.2: b.mat = mat4 b.shape.color = (1,1,0) else: b.mat = mat5 b.shape.color = (0,1,1) Cheers, Seti -- 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 #403663]: Modeling 2 materilas by CPM model
Question #403663 on Yade changed: https://answers.launchpad.net/yade/+question/403663 Status: Answered => Solved Seti confirmed that the question is solved: Thanks Jan Stránský, that solved my question. -- You received this question notification because your team yade-users is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #403663]: Modeling 2 materilas by CPM model
Question #403663 on Yade changed: https://answers.launchpad.net/yade/+question/403663 Status: Answered => Open Seti is still having a problem: Hi Jan, Thanks so much for your reply, would you please let me know what is meaning of " if random.random() < 0.2:" commend in your example? I have tried to do a quick test based on your recommendation, below error will be pop up related to "if random.random() < 0.2:" line "IndentationError: expected an indented block" Cheers, Seti -- 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 #403663]: Modeling 2 materilas by CPM model
New question #403663 on Yade: https://answers.launchpad.net/yade/+question/403663 Hi All, I have the same question which has been asked in Q # 372295. I really need to know how I can control the percentage of spheres when I am modelling different materials through CPM model. Can you please shed some lights on this issue? Cheers, Seti -- 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 #402288]: Compiling
Question #402288 on Yade changed: https://answers.launchpad.net/yade/+question/402288 Seti confirmed that the question is solved: Thanks Anton Gladky, that solved my question. -- You received this question notification because your team yade-users is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #402288]: Compiling
Question #402288 on Yade changed: https://answers.launchpad.net/yade/+question/402288 Status: Answered => Solved Seti confirmed that the question is solved: Thanks Anton and Jan, -- 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 #402288]: Compiling
New question #402288 on Yade: https://answers.launchpad.net/yade/+question/402288 Hi All, I have downloaded "trunk-2016.06a" on my PC ( in "yade-source-1" folder) and tried to compile it as per below: cd /home/elaheh/yade-source-1 scons PREFIX=/home/elaheh/YADE-1 However I have faced with below error scons: *** No SConstruct file found. File "/usr/lib/scons/SCons/Script/Main.py", line 923, in _main please note that I have SConstructin below address home/elaheh/yade-source-1/trunk-2016.06a 1- Would you please advise me where is my mistake? and how should I fix it? 2- Have I downloaded the latest version of YADE? Thanks, Seti -- 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 #399298]: Machmaker in CPM model
Question #399298 on Yade changed: https://answers.launchpad.net/yade/+question/399298 Status: Answered => Open Seti is still having a problem: Hi Jan, Thanks so much for your assist and sorry for slow reply. I just sent an email to you. As I have mentioned in my email I need to control all of the parameters that have effect on Cohesion between spheres in CPM model. Also I need to use matchmaker for inter-granular friction between spheres. Appreciate for that. Seti -- 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 #399298]: Machmaker in CPM model
Question #399298 on Yade changed: https://answers.launchpad.net/yade/+question/399298 Status: Answered => Open Seti is still having a problem: Thanks Jan for kind support. I have downloaded yade from "https://github.com/yade/trunk; is that what you have recommended? if yes, 1- How I can install it? installing package was really easy just copy/past the mentioned commend lines from "https://yade-dem.org/doc/installation.html; however I am not sure how should I install the source codes. would you please assist me ? 2- I have found the source code of CPM on truck and I suppose I should change below lines to add matchmaker to control the cohesion. so dose it mean if I do changes in " trunk/pkg/dem/ConcretePM.hpp" and save it then run YADE it will work? ### class Ip2_CpmMat_CpmMat_CpmPhys: public IPhysFunctor{ public: virtual void go(const shared_ptr& pp1, const shared_ptr& pp2, const shared_ptr& interaction); FUNCTOR2D(CpmMat,CpmMat); DECLARE_LOGGER; YADE_CLASS_BASE_DOC_ATTRS(Ip2_CpmMat_CpmMat_CpmPhys,IPhysFunctor,"Convert 2 :yref:`CpmMat` instances to :yref:`CpmPhys` with corresponding parameters. Uses simple (arithmetic) averages if material are different. Simple copy of parameters is performed if the :yref:`material` is shared between both particles. See :yref:`cpm-model` for detals.", ((long,cohesiveThresholdIter,10,,"Should new contacts be cohesive? They will before this iter#, they will not be afterwards. If 0, they will never be. If negative, they will always be created as cohesive (10 by default).")) ((shared_ptr,E,,,"Instance of :yref:`MatchMaker` determining how to compute interaction's normal modulus. If ``None``, average value is used.")) ); }; ## Thanks -- 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 #399298]: Machmaker in CPM model
Question #399298 on Yade changed: https://answers.launchpad.net/yade/+question/399298 Status: Answered => Open Seti is still having a problem: Hi Jan, Thank so much for your reply. I am using "yadedaily" for this code. Yade: Yade 1.20.0 Yadedaily : Yade 2016.06a-20-d4840e5~xenial -- 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 #399298]: Machmaker in CPM model
Question #399298 on Yade changed: https://answers.launchpad.net/yade/+question/399298 Seti gave more information on the question: I have tried to add below lines to CPM Model, and I faced with error as per below: [Ip2_CpmMat_CpmMat_CpmPhys(sigmaT=MatchMaker(matches=((concreteId1,concreteId2,3.5e3),(concreteId2,concreteId2,3.5e6))),relDuctility=MatchMaker(matches=((concreteId1,concreteId2,30),(concreteId2,concreteId2,40], Error: line 101, in AttributeError: No such attribute: sigmaT. Would you please advise? Regards, Seti -- 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 #399298]: Machmaker in CPM model
New question #399298 on Yade: https://answers.launchpad.net/yade/+question/399298 Hi all, I am trying to combine two different material in CPM , However, I am not sure, can I use matchmaker in CPM model? if yes: 1- Which parameters are representing the cohesion between spheres in CPM model ? sigmaT? relDuctility? 2-Can I change these parameters(sigmaT, relDuctility) by match maker? Thanks, -- 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 #355386]: Can not instal Yadedaily on Ubuntu 16.04
Question #355386 on Yade changed: https://answers.launchpad.net/yade/+question/355386 Status: Answered => Open Seti is still having a problem: Thanks Anton, I have done based on your recommendation . I have installed Yadedaily , Now the problem is , I can not run the script which worked properly in previous version of ubuntu. Can you please advise ? -- 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 #355386]: Can not instal Yadedaily on Ubuntu 16.04
Question #355386 on Yade changed: https://answers.launchpad.net/yade/+question/355386 Seti posted a new comment: FYI: sudo apt-get update Hit:1 http://au.archive.ubuntu.com/ubuntu xenial InRelease Hit:2 http://au.archive.ubuntu.com/ubuntu xenial-updates InRelease Hit:3 http://au.archive.ubuntu.com/ubuntu xenial-backports InRelease Hit:4 http://security.ubuntu.com/ubuntu xenial-security InRelease Ign:5 http://www.yade-dem.org/packages trusty/ InRelease Ign:6 http://ppa.launchpad.net/yade-users/external/ubuntu xenial InRelease Hit:7 http://www.yade-dem.org/packages trusty/ Release Ign:8 http://ppa.launchpad.net/yade-users/external/ubuntu xenial Release Ign:10 http://ppa.launchpad.net/yade-users/external/ubuntu xenial/main amd64 Packages Ign:11 http://ppa.launchpad.net/yade-users/external/ubuntu xenial/main i386 Packages Ign:12 http://ppa.launchpad.net/yade-users/external/ubuntu xenial/main all Packages Ign:13 http://ppa.launchpad.net/yade-users/external/ubuntu xenial/main Translation-en_AU Ign:14 http://ppa.launchpad.net/yade-users/external/ubuntu xenial/main Translation-en Ign:15 http://ppa.launchpad.net/yade-users/external/ubuntu xenial/main amd64 DEP-11 Metadata Ign:16 http://ppa.launchpad.net/yade-users/external/ubuntu xenial/main DEP-11 64x64 Icons Ign:10 http://ppa.launchpad.net/yade-users/external/ubuntu xenial/main amd64 Packages Ign:11 http://ppa.launchpad.net/yade-users/external/ubuntu xenial/main i386 Packages Ign:12 http://ppa.launchpad.net/yade-users/external/ubuntu xenial/main all Packages Ign:13 http://ppa.launchpad.net/yade-users/external/ubuntu xenial/main Translation-en_AU Ign:14 http://ppa.launchpad.net/yade-users/external/ubuntu xenial/main Translation-en Ign:15 http://ppa.launchpad.net/yade-users/external/ubuntu xenial/main amd64 DEP-11 Metadata Ign:16 http://ppa.launchpad.net/yade-users/external/ubuntu xenial/main DEP-11 64x64 Icons Ign:10 http://ppa.launchpad.net/yade-users/external/ubuntu xenial/main amd64 Packages Ign:11 http://ppa.launchpad.net/yade-users/external/ubuntu xenial/main i386 Packages Ign:12 http://ppa.launchpad.net/yade-users/external/ubuntu xenial/main all Packages Ign:13 http://ppa.launchpad.net/yade-users/external/ubuntu xenial/main Translation-en_AU Ign:14 http://ppa.launchpad.net/yade-users/external/ubuntu xenial/main Translation-en Ign:15 http://ppa.launchpad.net/yade-users/external/ubuntu xenial/main amd64 DEP-11 Metadata Ign:16 http://ppa.launchpad.net/yade-users/external/ubuntu xenial/main DEP-11 64x64 Icons Ign:10 http://ppa.launchpad.net/yade-users/external/ubuntu xenial/main amd64 Packages Ign:11 http://ppa.launchpad.net/yade-users/external/ubuntu xenial/main i386 Packages Ign:12 http://ppa.launchpad.net/yade-users/external/ubuntu xenial/main all Packages Ign:13 http://ppa.launchpad.net/yade-users/external/ubuntu xenial/main Translation-en_AU Ign:14 http://ppa.launchpad.net/yade-users/external/ubuntu xenial/main Translation-en Ign:15 http://ppa.launchpad.net/yade-users/external/ubuntu xenial/main amd64 DEP-11 Metadata Ign:16 http://ppa.launchpad.net/yade-users/external/ubuntu xenial/main DEP-11 64x64 Icons Ign:10 http://ppa.launchpad.net/yade-users/external/ubuntu xenial/main amd64 Packages Ign:11 http://ppa.launchpad.net/yade-users/external/ubuntu xenial/main i386 Packages Ign:12 http://ppa.launchpad.net/yade-users/external/ubuntu xenial/main all Packages Ign:13 http://ppa.launchpad.net/yade-users/external/ubuntu xenial/main Translation-en_AU Ign:14 http://ppa.launchpad.net/yade-users/external/ubuntu xenial/main Translation-en Ign:15 http://ppa.launchpad.net/yade-users/external/ubuntu xenial/main amd64 DEP-11 Metadata Ign:16 http://ppa.launchpad.net/yade-users/external/ubuntu xenial/main DEP-11 64x64 Icons Err:10 http://ppa.launchpad.net/yade-users/external/ubuntu xenial/main amd64 Packages 404 Not Found Ign:11 http://ppa.launchpad.net/yade-users/external/ubuntu xenial/main i386 Packages Ign:12 http://ppa.launchpad.net/yade-users/external/ubuntu xenial/main all Packages Ign:13 http://ppa.launchpad.net/yade-users/external/ubuntu xenial/main Translation-en_AU Ign:14 http://ppa.launchpad.net/yade-users/external/ubuntu xenial/main Translation-en Ign:15 http://ppa.launchpad.net/yade-users/external/ubuntu xenial/main amd64 DEP-11 Metadata Ign:16 http://ppa.launchpad.net/yade-users/external/ubuntu xenial/main DEP-11 64x64 Icons Reading package lists... Done W: Target Packages (Packages) is configured multiple times in /etc/apt/sources.list:55 and /etc/apt/sources.list:56 W: Target Translations (en_AU) is configured multiple times in /etc/apt/sources.list:55 and /etc/apt/sources.list:56 W: Target Translations (en) is configured multiple times in /etc/apt/sources.list:55 and /etc/apt/sources.list:56 W: Target Packages (Packages) is configured multiple times in /etc/apt/sources.list:55 and /etc/apt/sources.list:57 W: Target Translations (en_AU) is configured
Re: [Yade-users] [Question #355386]: Can not instal Yadedaily on Ubuntu 16.04
Question #355386 on Yade changed: https://answers.launchpad.net/yade/+question/355386 Description changed to: Hi all, Since I have updated the Ubuntu on my PC the yadedaily does not work either. I have tried to install it again, which I faced to below error , would you please advise? Thanks ### Some packages could not be installed. This may mean that you have requested an impossible situation or if you are using the unstable distribution that some required packages have not yet been created or been moved out of Incoming. The following information may help to resolve the situation: The following packages have unmet dependencies: yadedaily : Depends: libyadedaily (= 2016.06a-20-d4840e5~trusty-1) but it is not going to be installed Depends: python-yadedaily (= 2016.06a-20-d4840e5~trusty-1) E: Unable to correct problems, you have held broken packages ### Regards, Seti -- 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 #355386]: Can not instal Yadedaily on Ubuntu 16.04
Question #355386 on Yade changed: https://answers.launchpad.net/yade/+question/355386 Summary changed to: Can not instal Yadedaily on Ubuntu 16.04 -- 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 #355386]: Can not use Yadedaily
New question #355386 on Yade: https://answers.launchpad.net/yade/+question/355386 Hi all, Since I have updated the Ubuntu on my PC the yadedaily does not work either. I have tried to instil it again, which I faced to below error , would you please advise? Thanks ### Some packages could not be installed. This may mean that you have requested an impossible situation or if you are using the unstable distribution that some required packages have not yet been created or been moved out of Incoming. The following information may help to resolve the situation: The following packages have unmet dependencies: yadedaily : Depends: libyadedaily (= 2016.06a-20-d4840e5~trusty-1) but it is not going to be installed Depends: python-yadedaily (= 2016.06a-20-d4840e5~trusty-1) E: Unable to correct problems, you have held broken packages ### Regards, Seti -- 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 #329634]: Compression test - calibration
New question #329634 on Yade: https://answers.launchpad.net/yade/+question/329634 Hi All, I have tried to model a simple compression test as per below. and did some parametric studies - Obviously by increasing the \ values of frictional angle, the amount of stress should be increased however it does not happen ( e.g. frictional angle have been changes from 5 degree to 35 degree) I am sure now there is something wrong with script. maybe model of packing,. Would you please advise? Here is the script: from yade import pack,plot idParticulate=O.materials.append(CohFrictMat(young=30e9,poisson=0.3,alphaKr=3000,alphaKtw=3000,density=2700,frictionAngle=0.087,isCohesive=True,momentRotationLaw=True,normalCohesion=-3.5e1,shearCohesion=-10e1,etaRoll=-3))#,etaTwis=-3 pred=pack.inCylinder((0,0,0),(0,0,0.5),0.07) TS=pack.randomDensePack(pred,radius=0.008,material=idParticulate) O.bodies.append(TS) bb=uniaxialTestFeatures() negIds,posIds,axis,crossSectionArea=bb['negIds'],bb['posIds'],bb['axis'],bb['area'] O.dt=1e-5*PWaveTimeStep() O.engines=[ ForceResetter(), InsertionSortCollider([Bo1_Sphere_Aabb(aabbEnlargeFactor=1.5,label='bo1s')]), InteractionLoop( [Ig2_Sphere_Sphere_ScGeom6D(interactionDetectionFactor=1.5,label='ig2ss')], [Ip2_CohFrictMat_CohFrictMat_CohFrictPhys(setCohesionNow=True,setCohesionOnNewContacts=False)], [Law2_ScGeom6D_CohFrictPhys_CohesionMoment()] ), NewtonIntegrator(), UniaxialStrainer(strainRate=-0.5,axis=axis,asymmetry=0,posIds=posIds,negIds=negIds,crossSectionArea=crossSectionArea,blockDisplacements=False,blockRotations=False,setSpeeds=False,label='strainer'), PyRunner(virtPeriod=1e-6/0.5,realPeriod=1,command='addPlotData()',iterPeriod=100,label='plotDataCollector',initRun=True) ] ###3 ## bo1s.aabbEnlargeFactor=1.0 ig2ss.interactionDetectionFactor=1.0 O.trackEnergy=True plot.plots={'eps':('sigma',)} #,'sigma.50')},'t':('eps')} #'sigma.25','sigma.50','sigma.75')} O.saveTmp('initial'); print 'Number of elements: ', len(O.bodies) print 'normalCohesion=-3.5e1,shearCohesion=-10e1,phi:555,(0,0,0),(0,0,0.5correct),0.07)' #def addPlotData(): #yade.plot.addData(t=O.time,i=O.iter,eps=-strainer.strain,sigma=-strainer.avgStress) #O.step() #plot.plots={'eps':('sigma')} def addPlotData(): yade.plot.addData({'t':O.time,'i':O.iter,'eps':-strainer.strain,'sigma':strainer.avgStress }) O.run(5,True) plot.plots={'eps':('sigma')} plot.plot(subPlots=False) plot.saveDataTxt('uniax10e1,phi:5final.txt.bz2') Thanks for your time. Seti -- 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 #295225]: Cohesion Distribution
Question #295225 on Yade changed: https://answers.launchpad.net/yade/+question/295225 Seti posted a new comment: Thanks Jerome, I have opened another question. Hope it helps :( -- 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 #295225]: Cohesion Distribution
Question #295225 on Yade changed: https://answers.launchpad.net/yade/+question/295225 Seti posted a new comment: Thanks Jerome, I have opened another question. Hope it help :( -- 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 #288004]: Using cohesion instead of Clumping
Question #288004 on Yade changed: https://answers.launchpad.net/yade/+question/288004 Status: Answered => Open Seti is still having a problem: Hi Bruno, Sorry for any inconvenience, I have tried to put more detailed in my question as per below. Hi All, I am trying to model a cemented sample for compression test. The sample is made by two materials (1- Loose sand, 2- bonder , bounding the sand grains), obviously each material has own cohesion. Based on YADE documentation the cohesion between two material is calculated as per below a_i=C_i min(R_1,R_2)^2, i=n,s. However I need to choose C _max for C_i instead of C_min. I was told "MatchMaker" in Ip2_CohFrictMat_CohFrictMat_CohFrictPhys should do what I am looking for. I have tried below engine, however it does not work. Do you have any idea why the code is not working the error is as per below: "AttributeError: No such attribute: shearCohesion." I Just put a snip of code : O.engines=[ ForceResetter(), InsertionSortCollider([Bo1_Sphere_Aabb(),Bo1_Box_Aabb(),Bo1_Facet_Aabb(),Bo1_Wall_Aabb()]), InteractionLoop( [Ig2_Sphere_Sphere_ScGeom6D(),Ig2_Box_Sphere_ScGeom(),Ig2_Wall_Sphere_ScGeom(),Ig2_Facet_Sphere_ScGeom()], [Ip2_FrictMat_FrictMat_FrictPhys()], [Ip2_FrictMat_FrictMat_FrictPhys (), [Ip2_CohFrictMat_CohFrictMat_CohFrictPhys(normalCohesion=MatchMaker(matches=((mat1,mat2,500),(mat2,mat2,1e6))),shearCohesion=MatchMaker(matches=((mat1,mat2,50e6),(mat2,mat2,80e6))),label="cohesiveIp")], [Law2_ScGeom_MindlinPhys_Mindlin(includeMoment=True,includeAdhesion=True)], [Law2_ScGeom_FrictPhys_CundallStrack(),Law2_ScGeom6D_CohFrictPhys_CohesionMoment( useIncrementalForm=True, always_use_moment_law=False, label='cohesiveLaw')] Thanks, Seti -- 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 #295814]: MatchTracker for Cohesion
New question #295814 on Yade: https://answers.launchpad.net/yade/+question/295814 Hi All, As you may know the "iAdhesion" is computed from the minima of "iCohesion". However I need to change this logic, I was told "MatchMaker" in Ip2_CohFrictMat_CohFrictMat_CohFrictPhys should do what I am looking for. I have tried below engine, however it does not work. O.engines=[ ForceResetter(), InsertionSortCollider([Bo1_Sphere_Aabb(),Bo1_Box_Aabb(),Bo1_Facet_Aabb(),Bo1_Wall_Aabb()]), InteractionLoop( [Ig2_Sphere_Sphere_ScGeom6D(),Ig2_Box_Sphere_ScGeom(),Ig2_Wall_Sphere_ScGeom(),Ig2_Facet_Sphere_ScGeom()],[Ip2_FrictMat_FrictMat_FrictPhys()], [Ip2_FrictMat_FrictMat_MindlinPhys(en=MatchMaker(matches=((mat1,mat2,.6),(mat2,mat2,.9))),es=MatchMaker(matches=((mat1,mat2,.6),(mat2,mat2,.9))),krot=3)], [Ip2_CohFrictMat_CohFrictMat_CohFrictPhys(normalCohesion=MatchMaker(matches=((mat1,mat2,500),(mat2,mat2,1e6))),shearCohesion=MatchMaker(matches=((mat1,mat2,50e6),(mat2,mat2,80e6))),label="cohesiveIp")], [Law2_ScGeom_MindlinPhys_Mindlin(includeMoment=True,includeAdhesion=True)], [Law2_ScGeom_FrictPhys_CundallStrack(),Law2_ScGeom6D_CohFrictPhys_CohesionMoment( useIncrementalForm=True, #useIncrementalForm is turned on as we want plasticity on the contact moments always_use_moment_law=False, #if we want "rolling" friction even if the contact is not cohesive (or cohesion is broken), we will have to turn this true somewhere label='cohesiveLaw')] Would you please advise? Thanks Seti -- 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 #295666]: dense sample/triaxial test
New question #295666 on Yade: https://answers.launchpad.net/yade/+question/295666 Hi All, I need to make a very dense sample ( say 80% density) for triaxial test. I was thinking to turn off the friction angle while I am packing grains then by starting to imply confining pressure the friction angle be increased ( say 30 degree). However I am not sure if I can do it on YADE, If so, How? If not, is there another way to model a granular sample with different porosity? Sorry because lack of my knowledge in this regards and thanks for your help in advance. Regards, Seti -- 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 #295225]: Cohesion Distribution
Question #295225 on Yade changed: https://answers.launchpad.net/yade/+question/295225 Status: Answered => Open Seti is still having a problem: Thanks Jerome, I tried to go for your recommendation to use "MatchMaker" however I am not sue how I should use it for various cohesion, what I have seen in documentation, the MatchMaker have been used to assign different frictions , however I have done below attempt which to me is incomplete, would you please advise me how should I use MatchMaker to assign different cohesion: here is the snip of code: # Batch execution nRead=utils.readParamsFromTable( num_spheres1=500,# number of spheres len(O.bodies) to verify: 10006 = 1 particles + 6 walls is correct num_spheres2=500,# number of spheres len(O.bodies) to verify: 10006 = 1 particles + 6 walls is correct compFricDegree = 30, # contact friction during the confining phase (1) unknownOk=True, isoForce=10, # stress for the isotropic compression phase (1) conStress=10 # confinement stress, for the deviatoric loading session (2) ) from yade.params import table num_spheres1=500 # number of spheres called from table num_spheres2=500 targetPorosity = 0.6 #the porosity we want for the packing (3 specimens: (Ei,n) = (1,0.382), (2,0.387), (3,0.409) ) compFricDegree = table.compFricDegree # initial contact friction during the confining phase (will be decreased during the REFD compaction process) finalFricDegree = 30 # contact friction during the deviatoric loading rate=0.01# loading rate (strain rate) damp=0.3 # damping coefficient stabilityThreshold=0.001# initial value: 0.001 key='_kozooocki,,100kpa,100kpa,30,30,30e9_0.085,0.085,0.085,0.8,D=varried,clumping 3,0.z5 ' # simulation's name here young=30e9 # contact stiffness k_n/Ds mn,mx=Vector3(-0.085,-0.085,-0.085),Vector3(0.085,0.085,0.085) # corners of the initial packing thick = 0.01# thickness of the plates ## create materials for spheres and plates O.materials.append(FrictMat(young=young,poisson=0.3,frictionAngle=radians(compFricDegree),momentRotationLaw=True,etaRoll=1,density=2600,isCohesive=True,alphaKr=0.05,label='spheres1')) O.materials.append(CohFrictMat(young=young,poisson=0.3,frictionAngle=radians(compFricDegree),momentRotationLaw=True,etaRoll=1,density=2600,isCohesive=True,alphaKr=0.05,label='spheres2')) O.materials.append(FrictMat(young=young,poisson=0.3,frictionAngle=0,density=0,label='walls')) ## create walls around the packing walls=utils.aabbWalls([mn,mx],thickness=thick,oversizeFactor=1.5,material='walls') wallIds=O.bodies.append(walls) ## use a SpherePack object to generate a random loose particles packing sp=pack.SpherePack() psdSizes=[0.002,0.003,0.004,0.005,0.006,0.007,0.008] # (sizes or radii of the grains vary from 2mm to 9.5mm) #psdCumm=[1,9,25,50,69,90,95,100] # the correspondent amount (percentage) of each diameter, uncomment for yade-stable psdCumm=[0.14,0.28,0.34,0.50,0.65,0.85,1.00] # for the code not using percentage, e.g. yade-daily ... O.engines=[ ForceResetter(), InsertionSortCollider([Bo1_Sphere_Aabb(),Bo1_Box_Aabb(),Bo1_Facet_Aabb(),Bo1_Wall_Aabb()]), InteractionLoop( [Ig2_Sphere_Sphere_ScGeom6D(),Ig2_Box_Sphere_ScGeom(),,Ig2_Wall_Sphere_ScGeom(),Ig2_Facet_Sphere_ScGeom()], [Ip2_FrictMat_FrictMat_MindlinPhys(en=MatchMaker(matches=((spheres1,spheres2,.6),(spheres2,spheres2,.55))),es=MatchMaker(matches=((spheres1,spheres2,.6),(spheres2,spheres2,.55))),alphaKr=MatchMaker(matches=((spheres1,spheres2,.1),(spheres2,spheres2,.3))),krot=3),Ip2_CohFrictMat_CohFrictMat_CohFrictPhys(label="cohesiveIp")], [Law2_ScGeom_MindlinPhys_Mindlin(includeMoment=True,includeAdhesion=True)], [Law2_ScGeom_FrictPhys_CundallStrack(),Law2_ScGeom6D_CohFrictPhys_CohesionMoment( useIncrementalForm=True, #useIncrementalForm is turned on as we want plasticity on the contact moments always_use_moment_law=False, #if we want "rolling" friction even if the contact is not cohesive (or cohesion is broken), we will have to turn this true somewhere label='cohesiveLaw')] ), ## We will use the global stiffness of each body to determine an optimal timestep (see https://yade-dem.org/w/images/1/1b/Chareyre_licensed.pdf) GlobalStiffnessTimeStepper(active=1,timeStepUpdateInterval=100,timestepSafetyCoefficient=0.5), triax, TriaxialStateRecorder(iterPeriod=50,file='WallStresses'+key),
Re: [Yade-users] [Question #295225]: Cohesion Distribution
Question #295225 on Yade changed: https://answers.launchpad.net/yade/+question/295225 Status: Answered => Open Seti is still having a problem: Dear Jerome, Thanks for prompt reply. My exact question is, why C is the smallest value of cohesion between two grains. Just imagine , the first material be loose sand and the the second material be something which we are using for cementation ( bonding the loose sand) - which definitely has the bigger value of cohesion in comparison with the loose sand , in this case assuming the the smallest value of cohesion means we do not consider the effect of binder in our calculation. It is my thought, please correct me if I am wrong. Regards, Seti -- 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 #295225]: Cohesion Distribution
Question #295225 on Yade changed: https://answers.launchpad.net/yade/+question/295225 Status: Answered => Open Seti is still having a problem: Hi Jerome, Thanks so much for your response. I need to understand how you model the adhesion between two neighbour grains when they have different property ( in particular different cohesion). considering below formula when I have 2 different material Ci how be calculated? a_i=C_i min(R_1,R_2)^2, i=n,s. 2- Would you please let me how can I access to source of code for calculating the adhesion/adhesion? I really appreciate your time. Thanks Seti -- 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 #295225]: Cohesion Distribution
New question #295225 on Yade: https://answers.launchpad.net/yade/+question/295225 Hi All, Would you please let me know, how can can model a cemented - 100% bonded - sample with three different material which have different level of cohesion. In other words if all of the grains connected to each other - very dense sample - how the force/strength/cohesion (?) between neighbourhood grains with different material properties will be calculated on YADE. 2- If contacts between some spheres during the compression test re-appeared. how can I write the script to prevent taking into account the cohesion between these particular spheres. 3- How can I introduce limitation for implying force, I mean, implying fn on sample, where fmin
Re: [Yade-users] [Question #294932]: passing grains
Question #294932 on Yade changed: https://answers.launchpad.net/yade/+question/294932 Seti gave more information on the question: another question: Can I define particular length for wall? I need to create ground wall = 30d (the wall in x direction, the wall which grains fall down on it) ( where d is grain's diameter). Thanks so much for your time -- 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 #294932]: passing grains
as well #rr=yade.qt.Renderer() #rr.shape=False #rr.intrPhys=True Regards, Seti -- 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 #291202]: Clumping - angl of repose
Question #291202 on Yade changed: https://answers.launchpad.net/yade/+question/291202 Status: Answered => Open Seti is still having a problem: Yes, I have even tried O.dt=.1*utils.PWaveTimeStep() , no different ! -- 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 #291202]: Clumping - angl of repose
Question #291202 on Yade changed: https://answers.launchpad.net/yade/+question/291202 Seti gave more information on the question: Yes, I have even tried O.dt=.1*utils.PWaveTimeStep() , no difference! -- 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 #291202]: Clumping - angl of repose
Question #291202 on Yade changed: https://answers.launchpad.net/yade/+question/291202 Seti gave more information on the question: I think this explosion is depended on percentage of clumping . I mean by increasing the ratio of clumping the sample explode sooner. I am not sure what is the conflict. Does anybody experience in this regard. Thanks Seti -- 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 #291202]: Clumping - angl of repose
Question #291202 on Yade changed: https://answers.launchpad.net/yade/+question/291202 Status: Answered => Open Seti is still having a problem: Hi Kalus, Thanks for your response . I have tried to use mackeCloud , easily as per below, However I have the same problem. Would you please? from yade import pack,utils, qt, plot #create material soil1 = CohFrictMat(young=30e9,poisson=0.3,frictionAngle=radians(30),density=2600.0,normalCohesion=1e6, shearCohesion=80e6,label='soil') #color=(1,0,0) red color O.materials.append(soil1) O.bodies.append(utils.wall(0,axis=1,sense=1)) O.materials.append(CohFrictMat(young=30e9,poisson=0.3, frictionAngle = radians(30) , label='wallmat')) wallmat = O.materials[-1] sp=SpherePack() sp.makeCloud((0,0,0),(14.5,14.5,14.5),rMean=0.5,rRelFuzz=0.0) #sp.makeCloud((0,0,0),(14.5,14.5,14.5),rMean=0.2,rRelFuzz=0.0,False,0.95,[0.2,0.3,0.4,0.5,0.6,0.7,0.8],[0.14,0.28,0.34,0.50,0.65,0.85,1.00]) #spheres.toSimulation() sp.toSimulation() #O.bodies.append(spheres) -- 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 #292180]: Finding Scripts
Question #292180 on Yade changed: https://answers.launchpad.net/yade/+question/292180 Status: Answered => Solved Seti confirmed that the question is solved: Thanks Anton Gladky, that solved my question. -- You received this question notification because your team yade-users is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #292180]: Finding Scripts
Question #292180 on Yade changed: https://answers.launchpad.net/yade/+question/292180 Seti gave more information on the question: Even tried below link. http://bazaar.launchpad.net/~yade-pkg/yade/git-trunk/files/head:/examples/ -- 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 #292180]: Finding Scripts
New question #292180 on Yade: https://answers.launchpad.net/yade/+question/292180 Hi Folks, Sorry for basic question.In the YADE documentation sometimes you are referring to some scripts , I am not sure where should I found those ones. For example I googled "biaxialSmooth.py or retainingSmooth.py or undrained.py" in GitHub(?). However could not find them.Would you please assist? Cheers Seti -- 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 #291202]: Clumping - angl of repose
New question #291202 on Yade: https://answers.launchpad.net/yade/+question/291202 Hi all, In below code I have tried to study the effect of percentage/ratio of clumping on repose angle. before adding the clumping section the scrip worked properly however by adding clump grain do not fall down because of their gravity and the sample explodes . Would you please advise? Thanks #!/usr/bin/python from yade import pack,utils, qt, plot pred = pack.inAlignedBox((0,0,0),(14.5,14.5,14.5)) #create material soil1 = CohFrictMat(young=30e9,poisson=0.3,frictionAngle=radians(30),density=2600.0,normalCohesion=1e6, shearCohesion=80e6,label='soil') #color=(1,0,0) red color #soil1 = FrictMat(young=1e6,poisson=0.4,frictionAngle=radians(30),density=2500.0,label='soil') O.materials.append(soil1) O.bodies.append(utils.wall(0,axis=1,sense=1)) O.materials.append(CohFrictMat(young=30e9,poisson=0.3, frictionAngle = radians(30) , label='wallmat')) wallmat = O.materials[-1] 45 spheres=SpherePack() spheres=pack.randomDensePack(pred,radius=.5,material='soil',spheresInCell=1000,color=(1,0,0),returnSpherePack=True) spheres.toSimulation() #O.bodies.append(spheres) # # O.engines=[ ForceResetter(),#reset forces InsertionSortCollider([Bo1_Wall_Aabb(),Bo1_Sphere_Aabb()]), InteractionLoop( [Ig2_Sphere_Sphere_ScGeom6D(),Ig2_Wall_Sphere_ScGeom()], # collision geometry [Ip2_CohFrictMat_CohFrictMat_CohFrictPhys()], # collision "physics" [Law2_ScGeom6D_CohFrictPhys_CohesionMoment(),Law2_ScGeom_FrictPhys_CundallStrack()] # contact law -- apply forces ), # apply gravity force to particles # damping: numerical dissipation of energy NewtonIntegrator(damping=0.5,gravity=(0,-9.81,0)), #qt.SnapshotEngine(fileBase='3d-',iterPeriod=200,label='snapshot'), # this engine will be called after 2 steps, only once PyRunner(command='checkUnbalanced()',realPeriod=200,label='checker'), PyRunner(command='addPlotData()',iterPeriod=200) ] #CLUMPING### #create a box: #id_box = O.bodies.append(box((0,0,0),(.0045,0.0045,.0045),fixed=True,material=Mat)) #create assembly of spheres: #sp=pack.SpherePack() #sp.makeCloud((0,0,0),(.004,0.004,.004),rMean=.00018,rRelFuzz=.0001,num=1000,periodic=False) #O.bodies.append([sphere(c,r,material=Mat) for c,r in sp]) #print len(sp),' particles generated.' print 'Roundness coefficient without clumps is: ',O.bodies.getRoundness() show how to use makeClumpTemplate(): #dyad: #relRadList1 = [.0002,.0002] #relPosList1 = [[.0003,0,0],[0.0006,0,0]] #peanut: relRadList2 = [.0002,0.0004,0.0002] relPosList2 = [[0.0003,0,0],[0,0,0],[0.0006,0,0]] #stick: #relRadList3 = [1,1,1,1,1] #relPosList3 = [[0,1,0],[0,2,0],[0,3,0],[0,4,0],[0,5,0]] templates= [] #templates.append(clumpTemplate(relRadii=relRadList1,relPositions=relPosList1)) templates.append(clumpTemplate(relRadii=relRadList2,relPositions=relPosList2)) #templates.append(clumpTemplate(relRadii=relRadList3,relPositions=relPosList3)) show how to use replaceByClumps(): #replace by 50% dyads, 30% peanuts and 10% sticks: #O.bodies.replaceByClumps(templates,[.5,.3,.1]) O.bodies.replaceByClumps(templates,[0.5]) show how to use getRoundness(): #create a list of all standalone spheres: standaloneList = [] for b in O.bodies: if b.isStandalone: standaloneList.append(b.id) print 'Roundness coefficient for spheres and clumps is: ',O.bodies.getRoundness() print 'Roundness coefficient just for clumps is: ',O.bodies.getRoundness(standaloneList) #sp.toSimulation() print 'Number of elements: ', len(O.bodies) print 'Box Volume: ' print 'Clumprepose,0.5,.25,30,3grain,0.5%' O.trackEnergy=True # set timestep to a fraction of the critical timestep # the fraction is very small, so that the simulation is not too fast # and the motion can be observed O.dt=1*utils.PWaveTimeStep() #makeVideo(snapshot.snapshots,'3d.mpeg',fps=10,bps=1) # save the simulation, so that it can be reloaded later, for experimentation #O.saveTmp()0 #checker.command='stopUnloading()' def checkUnbalanced(): if unbalancedForce()<5e-2: print('Reached target , stopping') O.pause() plot.saveDataTxt('Clumprepose,0.5,.5,30,3grain,0.5%.bz2') plot.saveDataTxt('Clumprepose,0.5,.5,30,3grain,0.5%.txt') #plot.saveDataTxt('modi.data.bz2') # plot.saveGnuplot('bbb') is also possible # collect history of data which will be plotted def addPlotData(): # each item is given a names, by which it can be the unsed in plot.plots # the **O.energy converts dictionary-like O.energy to plot.addData arguments
Re: [Yade-users] [Question #290423]: Interal friction angle - repose angle
Question #290423 on Yade changed: https://answers.launchpad.net/yade/+question/290423 Status: Answered => Solved Seti confirmed that the question is solved: Thanks Jérôme Duriez, that solved my question. -- You received this question notification because your team yade-users is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #290423]: Interal friction angle - repose angle
Question #290423 on Yade changed: https://answers.launchpad.net/yade/+question/290423 Description changed to: Hi all, As I have understood in YADE by considering Mohr-Coulomb theory the INTERNAL friction ( which be assigned to material as its property) is combination of static friction and interlocking . In other words combination of peak and residual friction angle (?) So as you may know, we can assume the angle of repose ( the static angle of material) equal to residual friction angel. If I do some parametric study on friction angle definitely by increasing the internal friction angle ( the only kind of friction in YADE???) , the repose angle will be increase. Now this question will be raised, is there any chance to introduce peak and residual friction angle individually in order to compare angle of repose to residual friction angle ? if no , is INTERNAL friction , mean of peak and residual ? or, I hope explain my question in appropriate way. if no, no drama, I will try again ;) -- 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 #290423]: Interal friction angle - repose angle
New question #290423 on Yade: https://answers.launchpad.net/yade/+question/290423 Hi all, As I have understand in YADE by considering Mohr-Coulomb theory the INTERNAL friction ( which be assigned to material as its property) is combination of static friction and interlocking . In other words combination of peak and residual friction angle (?) So as you may know, we can assume the angle of repose ( the static angle of material) equal to residual friction angel. If I do some parametric study on friction angle definitely by increasing the internal friction angle ( the only kind of friction in YADE???) , the repose angle will be increase. Now this question will be raised, is there any chance to introduce peak and residual friction angle individually in order to compare angle of repose to residual friction angle ? if no , is INTERNAL friction , mean of peak and residual ? or, I hope explain my question in appropriate way. if no, no drama, I will try again ;) -- 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 #286479]: uniaxial tension-compression test
Question #286479 on Yade changed: https://answers.launchpad.net/yade/+question/286479 Status: Answered => Open Seti is still having a problem: Hi Jan, Thanks for your reply and sorry for any inconvenience. I want to run CPM for compressio. and as you have mentioned I want to understand what the number in doModes means? Cheers, Ela -- 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 #288004]: Using cohesion instead of Clumping
New question #288004 on Yade: https://answers.launchpad.net/yade/+question/288004 Hi All, As per my previous questions I am thinking to define cohesion between particles instead of clump them together. However I am wondering If I can introduce cohesion just between some percentage of whole grains. I mean just some of the particles stick to each other and the others just have frictional contacts. And Can I control this ration same as what we are doing in clump? Is there any scripts or documentation to help me in this regards. Regards Seti -- 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