Re: [Yade-users] [Question #707888]: Why do particles in the concrete cube compression test disperse directly?
Question #707888 on Yade changed: https://answers.launchpad.net/yade/+question/707888 Status: Open => Answered Karol Brzezinski proposed the following answer: Hi Antonia, 1) Macro behavior is a result of microparameters, particle size, and shape, constitutive laws, etc. For example, rock may have a stiffness of 70 GPa, while a sand sample has a stiffness of around 150 MPa. Calibration is the best solution [1]. 2) Timestep is overestimated for this model, although I am not sure why. Please change dtSafety to 0.1 Cheers, Karol [1] https://yade-dem.org/doc/formulation.html?highlight=calibration#normal-stiffness -- 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 #707885]: Create arbitrary ellipsoid using level set
Question #707885 on Yade changed: https://answers.launchpad.net/yade/+question/707885 Status: Open => Answered Karol Brzezinski proposed the following answer: Hi, Quaternion is composed of axis direction (three components) followed by angle of rotation: ### lsb1 = levelSetBody( 'superellipsoid', center=(0, 0, 0), extents=(0.05, 0.05, 0.15), epsilons=(1.1, 0.2), spacing=0.01, nSurfNodes=2502, nodesPath=1, dynamic=False, orientation=Quaternion((1, 0, 0), 0), ) lsb2 = levelSetBody( 'superellipsoid', center=(0, 0, 0.25), extents=(0.05, 0.05, 0.15), epsilons=(1.1, 0.2), spacing=0.01, nSurfNodes=2502, nodesPath=1, dynamic=False, orientation=Quaternion((1, 0, 0), pi/2),# rotated 90 degrees around x-axis ) lsb3 = levelSetBody( 'superellipsoid', center=(0, 0, 0.5), extents=(0.05, 0.05, 0.15), epsilons=(1.1, 0.2), spacing=0.01, nSurfNodes=2502, nodesPath=1, dynamic=False, orientation=Quaternion((0, 1, 0), pi/2),# rotated 90 degrees around y-axis ) O.bodies.append([lsb1,lsb2,lsb3]) Cheers, Karol -- 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 #707851]: calculate applied force on corrugated plate.
Question #707851 on Yade changed: https://answers.launchpad.net/yade/+question/707851 Status: Open => Answered Jan Stránský proposed the following answer: > How the stiffness between courrugated plate (/\/\/\/\) and particles is measured? It depends how you define it. You can then measure it according to your definition. > but I think it's too large than previous case. It is possible. Depends on definition and actual simulation (e.g. ratio of particle size / plate "roughness" etc.) > In my guess, stiffness of courrgated plate is average of sum of stiffness Either average or sum. "Average of sum" does not make much sense IMO.. Stiffness is similar case to the stress. Plain sum of the stiffnesses (similar to plain sum of the stresses) has no physical meaning. (again, IMO, quickly writing the answer. I might be wrong, you have to think carefully and critically about the answers :-). > becuase, the stress is calculated from Force and contact area so that sum of forces from all facets is needed, but stiffness is not. yes, see above Cheers 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 #707888]: Why do particles in the concrete cube compression test disperse directly?
New question #707888 on Yade: https://answers.launchpad.net/yade/+question/707888 Dear all, In the Yade official examples, I found the concrete Brazilian splitting test [1], which is a simple process where two walls approach the specimen at a constant speed, resulting in tensile failure of the specimen. Below is the code: - # -*- encoding=utf-8 -*- from __future__ import print_function from yade import plot,pack """ A simple script of a Brazilian splitting test. A cylinder with x axis form 0 to specimenLength. Load in z direction by z-perpendicular walls. Code strongly inspired by uniax.py """ # 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, strainRate = 1, specimenLength = .15, specimenRadius = .05, sphereRadius = 3.5e-3, ) from yade.params.table import * # material concreteId = O.materials.append(CpmMat( young = young, poisson = poisson, frictionAngle = frictionAngle, epsCrackOnset = epsCrackOnset, relDuctility = relDuctility, sigmaT = sigmaT, )) # spheres sp=pack.randomDensePack( pack.inCylinder((0,0,0),(specimenLength,0,0),specimenRadius), radius = sphereRadius, spheresInCell = 500, memoizeDb = '/tmp/packing-brazilian.db', returnSpherePack = True ) sp.toSimulation() # walls zMin,zMax=[pt[2] for pt in aabbExtrema()] wallIDs = O.bodies.append([wall((0,0,z),2) for z in (zMin,zMax)]) walls = wallMin,wallMax = [O.bodies[i] for i in wallIDs] v = strainRate * 2*specimenRadius wallMin.state.vel = (0,0,+v) wallMax.state.vel = (0,0,-v) # engines O.engines=[ ForceResetter(), InsertionSortCollider([Bo1_Sphere_Aabb(aabbEnlargeFactor=intRadius,label='is2aabb'),Bo1_Wall_Aabb()]), InteractionLoop( [Ig2_Sphere_Sphere_ScGeom(interactionDetectionFactor=intRadius,label='ss2sc'),Ig2_Wall_Sphere_ScGeom()], [Ip2_CpmMat_CpmMat_CpmPhys()], [Law2_ScGeom_CpmPhys_Cpm()], ), NewtonIntegrator(damping=.2), CpmStateUpdater(realPeriod=.5), PyRunner(iterPeriod=100,command='addPlotData()',initRun=True), PyRunner(iterPeriod=100,command='stopIfDamaged()'), ] # stop condition def stopIfDamaged(): if O.iter < 1000: # do nothing at the beginning return fMax = max(plot.data["f"]) f = plot.data["f"][-1] if f/fMax < .6: print("Damaged, stopping.") print("ft = ",max(plot.data["stress"])) O.pause() # plot stuff def addPlotData(): # forces of walls. f1 is "down", f2 is "up" (f1 needs to be negated for evlauation) f1,f2 = [O.forces.f(i)[2] for i in wallIDs] f1 *= -1 # average force f = .5*(f1+f2) # displacement (2 times each wall) wall = O.bodies[wallIDs[0]] dspl = 2*wall.state.displ()[2] # stress (according to standard brazilian test evaluation formula) stress = f/(pi*specimenRadius*specimenLength) # store values yade.plot.addData( t = O.time, i = O.iter, dspl = dspl, f1 = f1, f2 = f2, f = f, stress = stress, ) # plot dspl on x axis, stress on y1 axis and f,f1,f2 in y2 axis plot.plots={'dspl':('stress',None,'f1','f2','f')} O.dt = 0. O.step(); # to create initial contacts # now reset the interaction radius and go ahead ss2sc.interactionDetectionFactor=1. is2aabb.aabbEnlargeFactor=1. # time step O.dt = dtSafety*PWaveTimeStep() # run simulation plot.plot() #O.run() --- Regarding this process, I have two questions, and I would appreciate any assistance or insights from the community. 1. According to the model's micro-scale parameters, this should simulate a concrete specimen, but the stress-displacement curve indicates that the displacement is too large, roughly an order of magnitude greater than real-world conditions. Why is there such a significant difference between micro-scale parameters and macroscopic behavior, and how should I adjust it? (I believe that as an example, the micro-scale parameters in this code are reasonably set, at least in the same order of magnitude.) 2. I would like to simulate a uniaxial compression test, so I changed the original specimen shape to a cube. However, the process becomes very strange, with a sudden increase in stress, and the specimen composed of particles eventually explodes. What is causing this? Did I miss setting some parameters? I have replaced the #spheres section of the original code with the following code: # spheres
Re: [Yade-users] [Question #707886]: Announcement: YADE answers moves to https://gitlab.com/yade-dev/answers
Question #707886 on Yade changed: https://answers.launchpad.net/yade/+question/707886 Robert Caulk posted a new comment: As a follow up, the Launchpad forum will subsequently be inaccessible through the `launchpad.net/yade` domain. But all questions will remain accessible via their hyperlinks (which, as Janek mentions, will be archived with summaries on Gitlab). -- 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 #707886]: Announcement: YADE answers moves to https://gitlab.com/yade-dev/answers
New question #707886 on Yade: https://answers.launchpad.net/yade/+question/707886 Short announcement for people who only look at launchpad YADE answers. We are migrating to https://gitlab.com/yade-dev/answers All archived questions questions will be accessible from gitlab as closed issues, searchable with short summary and with a link to the original question on launchpad. All new questions will have to be asked as issues here: https://gitlab.com/yade-dev/answers/-/issues or more specifically a new question is posted here: https://gitlab.com/yade-dev/answers/-/issues/new The migration from launchpad to gitlab should complete within about a week. Let us keep this question open, to post updates about the migration status. -- 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 #707886]: Announcement: YADE answers moves to https://gitlab.com/yade-dev/answers
Question #707886 on Yade changed: https://answers.launchpad.net/yade/+question/707886 Description changed to: Short announcement for people who only look at launchpad YADE answers. We are migrating to https://gitlab.com/yade-dev/answers All archived questions will be accessible from gitlab as closed issues, searchable with short summary and with a link to the original question on launchpad. All new questions will have to be asked as issues here: https://gitlab.com/yade-dev/answers/-/issues or more specifically a new question is posted here: https://gitlab.com/yade-dev/answers/-/issues/new The migration from launchpad to gitlab should complete within about a week. Let us keep this question open, to post updates about the migration status. -- 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 #707885]: Create arbitrary ellipsoid using level set
New question #707885 on Yade: https://answers.launchpad.net/yade/+question/707885 Hi! I'd like to ask how to set the 'orientation' keyword in the levelSetBody. It seems that we need to input a quaternion. But the problem is that what's the format of this input?Can someone help me with this? Many thanks. Cheers, Kyle -- 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 #707883]: Ab AYa Uth Pahad ke Niche LOVEBangladesh
Question #707883 on Yade changed: https://answers.launchpad.net/yade/+question/707883 Status: Open => Invalid Jan Stránský rejected the question: spam -- 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