[Yade-users] [Question #706569]: Dynamic Triaxial test
New question #706569 on Yade: https://answers.launchpad.net/yade/+question/706569 Hi, I am new to Yade. plz help me with the following: I want to simulate a load-controlled triaxial test, i.e. axial load is a function of time. I understand the periodic triaxial test example (https://gitlab.com/yade-dev/trunk/blob/master/doc/sphinx/tutorial/06-periodic-triaxial-test.py). Now I want to modify this example to apply a time-varying axial load. What possible libraries/functions should I explore to find the solution? I appreciate any help you can provide. -- 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 #706569]: Dynamic Triaxial test
Question #706569 on Yade changed: https://answers.launchpad.net/yade/+question/706569 Status: Answered => Open Yuri Bezmenov is still having a problem: Thank Bruno for your reply. Could you please elaborate a bit more on your idea? I tried to change "goal" dynamically with time but the target function was not achieved though there was some variation in axial load with time. 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 #706569]: Dynamic Triaxial test
Question #706569 on Yade changed: https://answers.launchpad.net/yade/+question/706569 Yuri Bezmenov posted a new comment: Thanks, Jérôme! I'll try rigid boundaries. -- 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 #706569]: Dynamic Triaxial test
Question #706569 on Yade changed: https://answers.launchpad.net/yade/+question/706569 Status: Open => Solved Yuri Bezmenov confirmed that the question is solved: Hi Jérôme and Bruno! the problem has been solved using rigid boundary conditions and time-varying goal. thanks for your suggestions. -- 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 #706740]: Excess pore-water pressure in triaxial test
Question #706740 on Yade changed: https://answers.launchpad.net/yade/+question/706740 Yuri Bezmenov posted a new comment: Hi Fedor! I was also trying to simulate a similar problem when I used 'flow.bndCondIsPressure = [0, 0, 0, 0, 0, 0]' to simulate undrained condition, the software throws an errors : negative volume for an ordinary pore (temp warning, should still be safe) Failed to triangulate body with id=36 Point=-0.342856 -0.282828 1.24841 rad=0.0553163 and ultimately, it terminates with 'segementation fault'. If I tried with some boundaries having pressure conditions, e.g. ' 'flow.bndCondIsPressure = '[0, 0, 0, 1, 0, 0]', the software works fine. But applying any pressure condition doesn't reflect the actual scenario. I believe using DFNFlowEngine could help, but I am so naive that I couldn't compile to yade. If you could do that and check, that may serve the purpose for both of us. 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 #706569]: Dynamic Triaxial test
Question #706569 on Yade changed: https://answers.launchpad.net/yade/+question/706569 Yuri Bezmenov confirmed that the question is solved: Thanks Bruno Chareyre, that solved my question. -- You received this question notification because your team yade-users is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
[Yade-users] [Question #706817]: balls passing through wall in triaxial test
New question #706817 on Yade: https://answers.launchpad.net/yade/+question/706817 Hi, I am simulating Triaxial Test using TriaxialStressController. I noticed some particles flying out of the boundary in the simulation. i.e. all particles should be within the boundary but some particles are flying beyond the walls. here is my code from yade import pack, qt, plot, export compFricDegree=30 # contact friction during the confining phase finalFricDegree = 30 # contact friction during the deviatoric loading rate = -0.001 # loading rate (strain rate) stabilityThreshold = 0.01 # we test unbalancedForce against this value in different loops young = 5e6 # contact stiffness mn, mx = Vector3(0, 0, 0), Vector3(1, 1, 1) O.materials.append(FrictMat(young=young, poisson=0.5, frictionAngle=radians(compFricDegree), density=2600, label='spheres')) O.materials.append(FrictMat(young=young, poisson=0.5, frictionAngle=0, density=0, label='walls')) walls = aabbWalls([mn, mx], thickness=0, material='walls') wallIds = O.bodies.append(walls) # psdSizes, psdCumm = [75e-6, 150e-6, 212e-6, 300e-6, 425e-6, 600e-6, 1000e-6, 2000e-6, 3350e-6, 4750e-6], [0, 0.14, 0.22, 0.39, 0.48, 0.62, 0.72, 0.85, 0.97, 1] sp = pack.SpherePack() sp.makeCloud(mn, mx, rMean=.07, rRelFuzz=.03, periodic=True) # sp.makeCloud(mn, mx, psdSizes=psdSizes, psdCumm=psdCumm, distributeMass=True, num=2) O.bodies.append([sphere(center, rad, material='spheres') for center, rad in sp]) triax = TriaxialStressController( thickness=0, stressMask=7, internalCompaction=False, ) O.engines = [ ForceResetter(), InsertionSortCollider([Bo1_Sphere_Aabb(), Bo1_Box_Aabb()]), InteractionLoop([Ig2_Sphere_Sphere_ScGeom(), Ig2_Box_Sphere_ScGeom()], [Ip2_FrictMat_FrictMat_FrictPhys()], [Law2_ScGeom_FrictPhys_CundallStrack()]), GlobalStiffnessTimeStepper(active=1, timeStepUpdateInterval=100, timestepSafetyCoefficient=0.8), triax, NewtonIntegrator(damping=0.2), # VTKRecorder(fileName='/home/files/RigidTriax/vtkFiles', recorders=['all'], iterPeriod=500, label="visul", dead=True), PyRunner(command='vtk()', iterPeriod=100, label="visul", dead=True), PyRunner(command='addPlotData()', iterPeriod=100, label="graph", dead=True), ] def addPlotData(): plot.addData( e11=-triax.strain[0], e22=-triax.strain[1], e33=-triax.strain[2], ev=-triax.volumetricStrain, s11=-triax.stress(triax.wall_right_id)[0], s22=-triax.stress(triax.wall_top_id)[1], s33=-triax.stress(triax.wall_front_id)[2], i=O.iter, n=triax.porosity # Etot=O.energy.total(), # **O.energy ) O.run(1000,True) vtkExporter = export.VTKExporter('/home/files/RigidTriax/test') plot.plots = { 'i':('e11','e22','e33'), 'i ':('s11','s22','s33'), 'e22':('s11','s22','s33'), ' i ': ('n','ev') # energy plot # ' i ': (O.energy.keys, None, 'Etot', 'ev'), } plot.plot() def vtk(): vtkExporter.exportSpheres() vtkExporter.exportInteractions() vtkExporter.exportFacets() ### APPLYING CONFINING PRESSURE ### triax.goal1 = triax.goal2 = triax.goal3 = -10 while 1: O.run(1000, True) unb=unbalancedForce() print ('unbalanced force:',unb,' mean stress: ',triax.meanStress) if unbhttps://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 #706817]: balls passing through wall in triaxial test
Question #706817 on Yade changed: https://answers.launchpad.net/yade/+question/706817 Status: Answered => Solved Yuri Bezmenov 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 #706823]: optimum number of balls
New question #706823 on Yade: https://answers.launchpad.net/yade/+question/706823 Hello community, I am simulating Triaxial Test. Currently, I'm calibrating my contact properties. Can you suggest me some method to optimize the number of balls, otherwise it takes me very long to run a single simulation. Currently, I am using around 4-5 balls with PSD. -- 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 #706823]: optimum number of balls
Question #706823 on Yade changed: https://answers.launchpad.net/yade/+question/706823 Yuri Bezmenov posted a new comment: Hii Jan, >Even these two most basic optimum criteria are mutually contradicting and it >depends on how you define weights for them. Exactly, that's the problem. I want it to represent the most possible real scenario but fell short of computational resources. I'm trying to compare the results from 2d and 3d tests, it that works I'll update here. Thanks for your comment. -- 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 #706843]: VTKRecorder throws Segmentation fault error
New question #706843 on Yade: https://answers.launchpad.net/yade/+question/706843 whenever I use VTKRecorder in my code, it throws an error: Segmentation fault (core dumped). if I comment the line, it works fine. my Yade version: 2022.01a A similar question a saw but it does not have a solution : https://answers.launchpad.net/yade/+question/254415 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 #706843]: VTKRecorder throws Segmentation fault error
Question #706843 on Yade changed: https://answers.launchpad.net/yade/+question/706843 Status: Needs information => Open Yuri Bezmenov gave more information on the question: hi Jan, I am still facing the same issue. baadalvm@baadalvm:~/file/triax$ yade -n new.py Welcome to Yade 2022.01a Using python version: 3.10.6 (main, Mar 10 2023, 10:55:28) [GCC 11.3.0] TCP python prompt on localhost:9000, auth cookie `ucseks' XMLRPC info provider on http://localhost:21000 Running script new.py unbalanced force: 0.001 mean stress: -13.73470581507172 unbalanced force: 0.0954468397211678 mean stress: -24701.39828766909 unbalanced force: 0.0006870880148087554 mean stress: -9.34510748321 ### Isotropic state reached ### Segmentation fault (core dumped) 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 #706843]: VTKRecorder throws Segmentation fault error
Question #706843 on Yade changed: https://answers.launchpad.net/yade/+question/706843 Yuri Bezmenov posted a new comment: Hi Jan, I just update Ubuntu and again run baadalvm@baadalvm:~/file/triax$ yade -n new.py this time I didnt got ant error. just one more thing, could you please explain this to me. I didn't got why it doesn't work earlier. Thank You -- You received this question notification because your team yade-users is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #706843]: VTKRecorder throws Segmentation fault error
Question #706843 on Yade changed: https://answers.launchpad.net/yade/+question/706843 Status: Open => Solved Yuri Bezmenov confirmed that the question is solved: Thanks Jan, My problem is solved. -- 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 #685596]: GridConnection and PFacet: Segmentation fault
Question #685596 on Yade changed: https://answers.launchpad.net/yade/+question/685596 Yuri Bezmenov posted a new comment: Hi Justin & Klaus, Do you guys find the solution? I'm getting the same error. It appears to me as soon as my grid interacts with Wall/Facet, it throws segmentation fault. -- 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 #706952]: error as soon as wall and grid comes in contact.
New question #706952 on Yade: https://answers.launchpad.net/yade/+question/706952 Hi folks, I'm trying to simulate pullout test, It gives me Segmentation fault error. when I look deeper, I found when wall and grid comes in contact it throws an error. I am using WSL with specification Description:Ubuntu 22.04.2 LTS Release:22.04 Codename: jammy a MWE is attached from builtins import range from yade import qt, plot from yade.gridpfacet import * rate=0.005 #1.66e-4 compFricDegree=30 finalFricDegree = 40 stabilityThreshold = 0.01 young = 5e6 O.engines = [ ForceResetter(), InsertionSortCollider([ Bo1_Sphere_Aabb(), Bo1_GridConnection_Aabb(), Bo1_Wall_Aabb(), ]), InteractionLoop([ Ig2_Sphere_Sphere_ScGeom(), Ig2_Wall_Sphere_ScGeom(), Ig2_Sphere_GridConnection_ScGridCoGeom(), Ig2_GridNode_GridNode_GridNodeGeom6D(), Ig2_GridConnection_GridConnection_GridCoGridCoGeom()], [Ip2_CohFrictMat_CohFrictMat_CohFrictPhys(setCohesionNow=True, setCohesionOnNewContacts=True),Ip2_FrictMat_FrictMat_FrictPhys()], [ Law2_ScGeom6D_CohFrictPhys_CohesionMoment(), Law2_ScGeom_FrictPhys_CundallStrack(), Law2_ScGridCoGeom_FrictPhys_CundallStrack(), Law2_GridCoGridCoGeom_FrictPhys_CundallStrack(),] ), GlobalStiffnessTimeStepper(timestepSafetyCoefficient=0.1, label='ts'), NewtonIntegrator(gravity=(0, -9.81, 0), damping=.5, label='newton'), ] O.materials.append(FrictMat(young=young, poisson=0.5, frictionAngle=radians(compFricDegree), density=2600, label='spheres')) O.materials.append(FrictMat(young=young, poisson=0.5, frictionAngle=0, density=0, label='walls')) O.materials.append(CohFrictMat(young=1.325e8, poisson=0.40, density=900, frictionAngle=radians(10), normalCohesion=1.1e8, shearCohesion=1.1e8, momentRotationLaw=True, label='spheremat')) ### Parameters of a rectangular grid ### L = 25*38/1000 #length [m] l = 13*38/1000 #width [m] nbL = 25+1 #number of nodes for the length [#] nbl = 13+1 #number of nodes for the width [#] r = 0.008/2 # L / 100. #radius color = [255. / 255., 102. / 255., 0. / 255.] nodesIds = [] #Create all nodes first : for i in range(0, nbL): for j in range(0, nbl): nodesIds.append(O.bodies.append(gridNode([i*L/nbL, 0.5, 0.24+j*l/nbl], r, wire=False, fixed=False, material='spheremat', color=color))) #Create connection between the nodes for i in range(0, len(nodesIds)): for j in range(i + 1, len(nodesIds)): dist = (O.bodies[i].state.pos - O.bodies[j].state.pos).norm() if (dist <= L / nbL * 1.01): O.bodies.append(gridConnection(i, j, r, color=color)) for i in range (0, nbl): O.bodies[i].state.blockedDOFs='xyz' O.bodies[i].state.vel[0] = 0 for i in range (len(nodesIds)-nbl, len(nodesIds)): O.bodies[i].state.blockedDOFs='xyz' O.bodies[i].state.vel[0] = 0 # O.bodies.append(geom.facetBox((.5, .5, .5), (.5, .5, .5), wallMask=55)) sp = pack.SpherePack() # sp.makeCloud(Vector3(0,0,0), Vector3(1,0.49,1), rMean=.07, rRelFuzz=.3) #sp.makeCloud(Vector3(0,0.51,0), Vector3(1,1,1), rMean=.07, rRelFuzz=.3) #O.bodies.append([sphere(center, rad, material='spheres') for center, rad in sp]) #O.bodies.append(sphere(center=(Vector3(0.5, 1, 0.5)), radius=.05, material='spheres', fixed=False)) O.bodies.append(sphere(center=(Vector3(0.45, 1, 0.45)), radius=.05, material='spheres', fixed=False)) #O.bodies.append(sphere(center=(Vector3(0.55, 1, 0.55)), radius=.05, material='spheres', fixed=False)) O.bodies.append(wall(0, axis=1, sense=1)) plate = O.bodies[-1] plate.state.vel = (0, 0.3, 0) I appreciate any help you guys could provide. 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 #706952]: error as soon as wall and grid comes in contact.
Question #706952 on Yade changed: https://answers.launchpad.net/yade/+question/706952 Description changed to: Hi folks, I'm trying to simulate pullout test, It gives me Segmentation fault error. when I look deeper, I found when wall and grid comes in contact it throws an error. I am using WSL with specification Description:Ubuntu 22.04.2 LTS Release:22.04 Codename: jammy a MWE is attached from builtins import range from yade import qt, plot from yade.gridpfacet import * rate=0.005 #1.66e-4 compFricDegree=30 finalFricDegree = 40 stabilityThreshold = 0.01 young = 5e6 O.engines = [ ForceResetter(), InsertionSortCollider([ Bo1_Sphere_Aabb(), Bo1_GridConnection_Aabb(), Bo1_Wall_Aabb(), ]), InteractionLoop([ Ig2_Sphere_Sphere_ScGeom(), Ig2_Wall_Sphere_ScGeom(), Ig2_Sphere_GridConnection_ScGridCoGeom(), Ig2_GridNode_GridNode_GridNodeGeom6D(), Ig2_GridConnection_GridConnection_GridCoGridCoGeom()], [Ip2_CohFrictMat_CohFrictMat_CohFrictPhys(setCohesionNow=True, setCohesionOnNewContacts=True),Ip2_FrictMat_FrictMat_FrictPhys()], [ Law2_ScGeom6D_CohFrictPhys_CohesionMoment(), Law2_ScGeom_FrictPhys_CundallStrack(), Law2_ScGridCoGeom_FrictPhys_CundallStrack(), Law2_GridCoGridCoGeom_FrictPhys_CundallStrack(),] ), GlobalStiffnessTimeStepper(timestepSafetyCoefficient=0.1, label='ts'), NewtonIntegrator(gravity=(0, -9.81, 0), damping=.5, label='newton'), ] O.materials.append(FrictMat(young=young, poisson=0.5, frictionAngle=radians(compFricDegree), density=2600, label='spheres')) O.materials.append(FrictMat(young=young, poisson=0.5, frictionAngle=0, density=0, label='walls')) O.materials.append(CohFrictMat(young=1.325e8, poisson=0.40, density=900, frictionAngle=radians(10), normalCohesion=1.1e8, shearCohesion=1.1e8, momentRotationLaw=True, label='spheremat')) ### Parameters of a rectangular grid ### L = 25*38/1000 #length [m] l = 13*38/1000 #width [m] nbL = 25+1 #number of nodes for the length [#] nbl = 13+1 #number of nodes for the width [#] r = 0.008/2 # L / 100. #radius color = [255. / 255., 102. / 255., 0. / 255.] nodesIds = [] #Create all nodes first : for i in range(0, nbL): for j in range(0, nbl): nodesIds.append(O.bodies.append(gridNode([i*L/nbL, 0.5, 0.24+j*l/nbl], r, wire=False, fixed=False, material='spheremat', color=color))) #Create connection between the nodes for i in range(0, len(nodesIds)): for j in range(i + 1, len(nodesIds)): dist = (O.bodies[i].state.pos - O.bodies[j].state.pos).norm() if (dist <= L / nbL * 1.01): O.bodies.append(gridConnection(i, j, r, color=color)) for i in range (0, nbl): O.bodies[i].state.blockedDOFs='xyz' O.bodies[i].state.vel[0] = 0 # O.bodies.append(geom.facetBox((.5, .5, .5), (.5, .5, .5), wallMask=55)) sp = pack.SpherePack() # sp.makeCloud(Vector3(0,0,0), Vector3(1,0.49,1), rMean=.07, rRelFuzz=.3) #sp.makeCloud(Vector3(0,0.51,0), Vector3(1,1,1), rMean=.07, rRelFuzz=.3) #O.bodies.append([sphere(center, rad, material='spheres') for center, rad in sp]) #O.bodies.append(sphere(center=(Vector3(0.5, 1, 0.5)), radius=.05, material='spheres', fixed=False)) O.bodies.append(sphere(center=(Vector3(0.45, 1, 0.45)), radius=.05, material='spheres', fixed=False)) #O.bodies.append(sphere(center=(Vector3(0.55, 1, 0.55)), radius=.05, material='spheres', fixed=False)) O.bodies.append(wall(0, axis=1, sense=1)) plate = O.bodies[-1] plate.state.vel = (0, 0.3, 0) I appreciate any help you guys could provide. 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 #685596]: GridConnection and PFacet: Segmentation fault
Question #685596 on Yade changed: https://answers.launchpad.net/yade/+question/685596 Yuri Bezmenov posted a new comment: Thanks Justin. 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 #706823]: optimum number of balls
Question #706823 on Yade changed: https://answers.launchpad.net/yade/+question/706823 Status: Open => Solved Yuri Bezmenov confirmed that the question is solved: hi folks, I thought a lot but couldn't find any way to optimize the number of balls. I am going with, checking the most critical parameter of my problem with the number of balls as we do in FEM. that's the only way I could figure out. Thanks Jan 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 #706740]: Excess pore-water pressure in triaxial test
Question #706740 on Yade changed: https://answers.launchpad.net/yade/+question/706740 Yuri Bezmenov posted a new comment: hi Fedor, I have a question, why did you choose so low bulk modulus, bulk modulus of water is about 2.1e9. such low bulk modulus will result in volumetric strain. 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 #707210]: seeking help in VTKRecorder
New question #707210 on Yade: https://answers.launchpad.net/yade/+question/707210 Hi folks! I am trying to run a simulation with Geogrid and Balls. It is running fine but I want to visualize Geogrid and Balls separately. How can I achieve this? I am using Ubuntu 22.04.2 LTS and Yade 2022.01a. my code is attached: from builtins import range from yade import pack, geom, plot, export from yade.gridpfacet import * rate=-0.5 #1.66e-4 compFricDegree=30 finalFricDegree = 40 stabilityThreshold = 0.1 young = 5e6 mn, mx = Vector3(0, 0, 0), Vector3(0.9, 0.6, 0.6) O.engines = [ ForceResetter(), InsertionSortCollider([ Bo1_Sphere_Aabb(), Bo1_GridConnection_Aabb(), Bo1_Facet_Aabb(), Bo1_Wall_Aabb() ]), InteractionLoop( [ Ig2_Sphere_Sphere_ScGeom(), Ig2_Facet_Sphere_ScGeom(), Ig2_Wall_Sphere_ScGeom(), Ig2_Sphere_GridConnection_ScGridCoGeom(), Ig2_GridNode_GridNode_GridNodeGeom6D(), Ig2_GridConnection_GridConnection_GridCoGridCoGeom()], [Ip2_CohFrictMat_CohFrictMat_CohFrictPhys(setCohesionNow=True, setCohesionOnNewContacts=True), Ip2_FrictMat_FrictMat_FrictPhys()], [Law2_ScGeom_FrictPhys_CundallStrack(), Law2_ScGridCoGeom_FrictPhys_CundallStrack(), Law2_GridCoGridCoGeom_FrictPhys_CundallStrack(), Law2_ScGeom6D_CohFrictPhys_CohesionMoment(),] ), GlobalStiffnessTimeStepper(timestepSafetyCoefficient=0.1, label='ts'), NewtonIntegrator(gravity=(0,-10,0), damping=.5, label='newton'), PyRunner(command='addPlotData()', iterPeriod=500), # VTKRecorder(fileName='/home/harshal/files/Geogrid/paraview/pullout', recorders=['all'], iterPeriod=500), ] def addPlotData(): plot.addData( unbalanced=unbalancedForce(), i=O.iter ) plot.plots = { 'i':('unbalanced'), } plot.plot() O.materials.append(FrictMat(young=young, poisson=0.5, frictionAngle=radians(compFricDegree), density=2600, label='spheres')) O.materials.append(FrictMat(young=young, poisson=0.5, frictionAngle=0, density=0, label='walls')) O.materials.append(CohFrictMat(young=1.325e8, poisson=0.40, density=900, frictionAngle=radians(10), normalCohesion=1.1e8, shearCohesion=1.1e8, momentRotationLaw=True, label='spheremat')) L = 0.608 #length [m] l = 0.304 #width [m] nbL = 16+1 #number of nodes for the length [#] nbl = 8+1 #number of nodes for the width [#] r = 0.008/2 # L / 100. #radius color = [255. / 255., 102. / 255., 0. / 255.] nodesIds = [] for i in range(0, nbL): for j in range(0, nbl): nodesIds.append(O.bodies.append(gridNode([i*L/nbL, 0.3, 0.15+j*l/nbl], r, wire=False, fixed=False, material='spheremat', color=color))) #Create connection between the nodes for i in range(0, len(nodesIds)): for j in range(i + 1, len(nodesIds)): dist = (O.bodies[i].state.pos-O.bodies[j].state.pos).norm() if (dist <= (L/nbL)*1.05): O.bodies.append(gridConnection(i, j, r, color=color)) O.bodies.append(geom.facetBox((.45, .5, .3), (.45, .5, .3), wallMask=55, material='walls')) sp = pack.SpherePack() sp.makeCloud((0, 0, 0), (0.9, 0.2, 0.6), rMean=.05, rRelFuzz=.3) sp.makeCloud((0, 0.4, 0), (0.9, 0.6, 0.6), rMean=.05, rRelFuzz=.3) O.bodies.append([sphere(center, rad, material='spheres') for center, rad in sp]) O.run() -- 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 #707210]: seeking help in VTKRecorder
Question #707210 on Yade changed: https://answers.launchpad.net/yade/+question/707210 Description changed to: Hi folks! I am trying to run a simulation with Geogrid and Balls. It is running fine but I want to visualize Geogrid and Balls separately. How can I achieve this? I am using Ubuntu 22.04.2 LTS and Yade 2022.01a. my code is attached: from builtins import range from yade import pack, geom, plot, export from yade.gridpfacet import * rate=-0.5 #1.66e-4 compFricDegree=30 finalFricDegree = 40 stabilityThreshold = 0.1 young = 5e6 mn, mx = Vector3(0, 0, 0), Vector3(0.9, 0.6, 0.6) O.engines = [ ForceResetter(), InsertionSortCollider([ Bo1_Sphere_Aabb(), Bo1_GridConnection_Aabb(), Bo1_Facet_Aabb(), Bo1_Wall_Aabb() ]), InteractionLoop( [ Ig2_Sphere_Sphere_ScGeom(), Ig2_Facet_Sphere_ScGeom(), Ig2_Wall_Sphere_ScGeom(), Ig2_Sphere_GridConnection_ScGridCoGeom(), Ig2_GridNode_GridNode_GridNodeGeom6D(), Ig2_GridConnection_GridConnection_GridCoGridCoGeom()], [Ip2_CohFrictMat_CohFrictMat_CohFrictPhys(setCohesionNow=True, setCohesionOnNewContacts=True), Ip2_FrictMat_FrictMat_FrictPhys()], [Law2_ScGeom_FrictPhys_CundallStrack(), Law2_ScGridCoGeom_FrictPhys_CundallStrack(), Law2_GridCoGridCoGeom_FrictPhys_CundallStrack(), Law2_ScGeom6D_CohFrictPhys_CohesionMoment(),] ), GlobalStiffnessTimeStepper(timestepSafetyCoefficient=0.1, label='ts'), NewtonIntegrator(gravity=(0,-10,0), damping=.5, label='newton'), PyRunner(command='addPlotData()', iterPeriod=500), # VTKRecorder(fileName='/files/Geogrid/paraview/pullout', recorders=['all'], iterPeriod=500), ] def addPlotData(): plot.addData( unbalanced=unbalancedForce(), i=O.iter ) plot.plots = { 'i':('unbalanced'), } plot.plot() O.materials.append(FrictMat(young=young, poisson=0.5, frictionAngle=radians(compFricDegree), density=2600, label='spheres')) O.materials.append(FrictMat(young=young, poisson=0.5, frictionAngle=0, density=0, label='walls')) O.materials.append(CohFrictMat(young=1.325e8, poisson=0.40, density=900, frictionAngle=radians(10), normalCohesion=1.1e8, shearCohesion=1.1e8, momentRotationLaw=True, label='spheremat')) L = 0.608 #length [m] l = 0.304 #width [m] nbL = 16+1 #number of nodes for the length [#] nbl = 8+1 #number of nodes for the width [#] r = 0.008/2 # L / 100. #radius color = [255. / 255., 102. / 255., 0. / 255.] nodesIds = [] for i in range(0, nbL): for j in range(0, nbl): nodesIds.append(O.bodies.append(gridNode([i*L/nbL, 0.3, 0.15+j*l/nbl], r, wire=False, fixed=False, material='spheremat', color=color))) #Create connection between the nodes for i in range(0, len(nodesIds)): for j in range(i + 1, len(nodesIds)): dist = (O.bodies[i].state.pos-O.bodies[j].state.pos).norm() if (dist <= (L/nbL)*1.05): O.bodies.append(gridConnection(i, j, r, color=color)) O.bodies.append(geom.facetBox((.45, .5, .3), (.45, .5, .3), wallMask=55, material='walls')) sp = pack.SpherePack() sp.makeCloud((0, 0, 0), (0.9, 0.2, 0.6), rMean=.05, rRelFuzz=.3) sp.makeCloud((0, 0.4, 0), (0.9, 0.6, 0.6), rMean=.05, rRelFuzz=.3) O.bodies.append([sphere(center, rad, material='spheres') for center, rad in sp]) O.run() -- 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 #707210]: seeking help in VTKRecorder
Question #707210 on Yade changed: https://answers.launchpad.net/yade/+question/707210 Status: Needs information => Open Yuri Bezmenov gave more information on the question: Hi Jan, 1. By 'Geogrid' and 'Balls', I mean grid and sphere, respectively. I used capital letter just because of my habit, please ignore it. 2. When I use VTKRecorder, it exports all objects in the simulation, e.g. when I import spheres in Paraview they have spheres representing both spheres (soil in this case) and grid (geogrid in this case). Now I want to export spheres representing soil as different group and and balls representing gridpoint as different group so I can visualize the grid alone. Hope this clarify my question. 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 #707210]: seeking help in VTKRecorder
Question #707210 on Yade changed: https://answers.launchpad.net/yade/+question/707210 Status: Answered => Open Yuri Bezmenov is still having a problem: Hi Jan, I modify the code to use VTKExporter but cannot visualize the force at each grid element. For interaction, I created two matrices, one has the ids of balls and the other with grid-connection to the ball id. In first case that is the matrix b, I an able to export interaction but they have constant value over the simulation. In second case, it shows an error "interaction does not exist". Could you please help me out. Thank You MWE: from builtins import range from yade import pack, geom, plot, export from yade.gridpfacet import * rate=-0.5 #1.66e-4 compFricDegree=30 finalFricDegree = 40 stabilityThreshold = 0.1 young = 5e6 mn, mx = Vector3(0, 0, 0), Vector3(0.9, 0.6, 0.6) O.engines = [ ForceResetter(), InsertionSortCollider([ Bo1_Sphere_Aabb(), Bo1_GridConnection_Aabb(), Bo1_Facet_Aabb(), Bo1_Wall_Aabb() ]), InteractionLoop( [ Ig2_Sphere_Sphere_ScGeom(), Ig2_Facet_Sphere_ScGeom(), Ig2_Wall_Sphere_ScGeom(), Ig2_Sphere_GridConnection_ScGridCoGeom(), Ig2_GridNode_GridNode_GridNodeGeom6D(), Ig2_GridConnection_GridConnection_GridCoGridCoGeom()], [Ip2_CohFrictMat_CohFrictMat_CohFrictPhys(setCohesionNow=True, setCohesionOnNewContacts=True), Ip2_FrictMat_FrictMat_FrictPhys()], [Law2_ScGeom_FrictPhys_CundallStrack(), Law2_ScGridCoGeom_FrictPhys_CundallStrack(), Law2_GridCoGridCoGeom_FrictPhys_CundallStrack(), Law2_ScGeom6D_CohFrictPhys_CohesionMoment(),] ), GlobalStiffnessTimeStepper(timestepSafetyCoefficient=0.1, label='ts'), NewtonIntegrator(gravity=(0,-10,0), damping=.5, label='newton'), PyRunner(command='addPlotData()', iterPeriod=500), PyRunner(command='expo()', iterPeriod=500), VTKRecorder(fileName='/files/Geogrid/paraview/pullout', recorders=['all'], iterPeriod=500), ] def addPlotData(): plot.addData( unbalanced=unbalancedForce(), i=O.iter ) plot.plots = { 'i':('unbalanced'), } plot.plot() O.materials.append(FrictMat(young=young, poisson=0.5, frictionAngle=radians(compFricDegree), density=2600, label='spheres')) O.materials.append(FrictMat(young=young, poisson=0.5, frictionAngle=0, density=0, label='walls')) O.materials.append(CohFrictMat(young=1.325e8, poisson=0.40, density=900, frictionAngle=radians(10), normalCohesion=1.1e8, shearCohesion=1.1e8, momentRotationLaw=True, label='spheremat')) L = 0.608 #length [m] l = 0.304 #width [m] nbL = 16+1 #number of nodes for the length [#] nbl = 8+1 #number of nodes for the width [#] r = 0.008/2 # L / 100. #radius color = [255. / 255., 102. / 255., 0. / 255.] nodesIds = [] for i in range(0, nbL): for j in range(0, nbl): nodesIds.append(O.bodies.append(gridNode([i*L/nbL, 0.3, 0.15+j*l/nbl], r, wire=False, fixed=False, material='spheremat', color=color))) a=[] b=[] #Create connection between the nodes for i in range(0, len(nodesIds)): for j in range(i + 1, len(nodesIds)): dist = (O.bodies[i].state.pos-O.bodies[j].state.pos).norm() if (dist <= (L/nbL)*1.05): O.bodies.append(gridConnection(i, j, r, color=color)) a=a+[(i,O.bodies[-1].id), (O.bodies[-1].id,j)] b=b+[(i,j)] O.bodies.append(geom.facetBox((.45, .5, .3), (.45, .5, .3), wallMask=55, material='walls')) sp = pack.SpherePack() sp.makeCloud((0, 0, 0), (0.9, 0.2, 0.6), rMean=.05, rRelFuzz=.3) sp.makeCloud((0, 0.4, 0), (0.9, 0.6, 0.6), rMean=.05, rRelFuzz=.3) O.bodies.append([sphere(center, rad, material='spheres') for center, rad in sp]) vtkExporter = export.VTKExporter('/files/Geogrid/paraview1/geogrid') def expo(): vtkExporter.exportSpheres(what=dict(dist='b.state.pos.norm()',pos='b.state.pos'), ids=range(0,433)) vtkExporter.exportInteractions(what=dict(kn='i.phys.kn', kr='i.phys.kr', ks='i.phys.ks'), ids=b) ###Here I replace a and b # vtkExporter.exportContactPoints(what={'nn': 'i.geom.normal'}) # vtkExporter.exportPolyhedra(what=dict(n='b.state.pos.norm()'), ids=plate.id) O.run(1,True) for i in range (0,nbl): O.bodies[i].state.blockedDOFs='x' O.bodies[i].state.vel = (rate,0,0) O.run(15000,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 : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #707210]: seeking help in VTKRecorder
Question #707210 on Yade changed: https://answers.launchpad.net/yade/+question/707210 Yuri Bezmenov gave more information on the question: Further I tried with mask option but it export all the bodies in simulation MWE: from builtins import range from yade import pack, geom, plot, export from yade.gridpfacet import * rate=-0.5 #1.66e-4 compFricDegree=30 finalFricDegree = 40 stabilityThreshold = 0.1 young = 5e6 mn, mx = Vector3(0, 0, 0), Vector3(0.9, 0.6, 0.6) O.engines = [ ForceResetter(), InsertionSortCollider([ Bo1_Sphere_Aabb(), Bo1_GridConnection_Aabb(), Bo1_Facet_Aabb(), Bo1_Wall_Aabb() ]), InteractionLoop( [ Ig2_Sphere_Sphere_ScGeom(), Ig2_Facet_Sphere_ScGeom(), Ig2_Wall_Sphere_ScGeom(), Ig2_Sphere_GridConnection_ScGridCoGeom(), Ig2_GridNode_GridNode_GridNodeGeom6D(), Ig2_GridConnection_GridConnection_GridCoGridCoGeom()], [Ip2_CohFrictMat_CohFrictMat_CohFrictPhys(setCohesionNow=True, setCohesionOnNewContacts=True), Ip2_FrictMat_FrictMat_FrictPhys()], [Law2_ScGeom_FrictPhys_CundallStrack(), Law2_ScGridCoGeom_FrictPhys_CundallStrack(), Law2_GridCoGridCoGeom_FrictPhys_CundallStrack(), Law2_ScGeom6D_CohFrictPhys_CohesionMoment(),] ), GlobalStiffnessTimeStepper(timestepSafetyCoefficient=0.1, label='ts'), NewtonIntegrator(gravity=(0,-10,0), damping=.5, label='newton'), PyRunner(command='addPlotData()', iterPeriod=500), #PyRunner(command='expo()', iterPeriod=500), VTKRecorder(fileName='/files/Geogrid/paraview/pullout', recorders=['all'], iterPeriod=500, mask=10), VTKRecorder(fileName='/files/Geogrid/paraview1/pullout', recorders=['all'], iterPeriod=500, mask=11), ] def addPlotData(): plot.addData( unbalanced=unbalancedForce(), i=O.iter ) plot.plots = { 'i':('unbalanced'), } plot.plot() O.materials.append(FrictMat(young=young, poisson=0.5, frictionAngle=radians(compFricDegree), density=2600, label='spheres')) O.materials.append(FrictMat(young=young, poisson=0.5, frictionAngle=0, density=0, label='walls')) O.materials.append(CohFrictMat(young=1.325e8, poisson=0.40, density=900, frictionAngle=radians(10), normalCohesion=1.1e8, shearCohesion=1.1e8, momentRotationLaw=True, label='spheremat')) L = 0.608 #length [m] l = 0.304 #width [m] nbL = 16+1 #number of nodes for the length [#] nbl = 8+1 #number of nodes for the width [#] r = 0.008/2 # L / 100. #radius color = [255. / 255., 102. / 255., 0. / 255.] nodesIds = [] for i in range(0, nbL): for j in range(0, nbl): nodesIds.append(O.bodies.append(gridNode([i*L/nbL, 0.3, 0.15+j*l/nbl], r, wire=False, fixed=False, material='spheremat', color=color))) a=[] b=[] #Create connection between the nodes for i in range(0, len(nodesIds)): for j in range(i + 1, len(nodesIds)): dist = (O.bodies[i].state.pos-O.bodies[j].state.pos).norm() if (dist <= (L/nbL)*1.05): O.bodies.append(gridConnection(i, j, r, color=color)) a=a+[(i,O.bodies[-1].id), (O.bodies[-1].id,j)] b=b+[(i,j)] O.bodies.append(geom.facetBox((.45, .5, .3), (.45, .5, .3), wallMask=55, material='walls')) sp = pack.SpherePack() sp.makeCloud((0, 0, 0), (0.9, 0.2, 0.6), rMean=.05, rRelFuzz=.3) sp.makeCloud((0, 0.4, 0), (0.9, 0.6, 0.6), rMean=.05, rRelFuzz=.3) O.bodies.append([sphere(center, rad, material='spheres') for center, rad in sp]) for b in O.bodies: if b.id<153: b.groupMask=10 else: if b.id<433: b.groupMask=11 else: b.groupMask=12 #vtkExporter = export.VTKExporter('/home/harshal/files/Geogrid/paraview1/geogrid') #def expo(): #vtkExporter.exportSpheres(what=dict(dist='b.state.pos.norm()',pos='b.state.pos'), ids=range(0,433)) #vtkExporter.exportInteractions(what=dict(kn='i.phys.kn', kr='i.phys.kr', ks='i.phys.ks'), ids=b) ###Here I replace a and b # vtkExporter.exportContactPoints(what={'nn': 'i.geom.normal'}) # vtkExporter.exportPolyhedra(what=dict(n='b.state.pos.norm()'), ids=plate.id) O.run(1,True) for i in range (0,nbl): O.bodies[i].state.blockedDOFs='x' O.bodies[i].state.vel = (rate,0,0) O.run(15000,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 : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #707210]: seeking help in VTKRecorder
Question #707210 on Yade changed: https://answers.launchpad.net/yade/+question/707210 Status: Answered => Solved Yuri Bezmenov 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 #707370]: relation between unbalanced force nd equilibrium
New question #707370 on Yade: https://answers.launchpad.net/yade/+question/707370 Hi guys! I'm simulating two layers of balls with some gap in between the layer. then I'm pressing the balls with a wall till the wall reaches a certain force. this force could be visualize as vertical stress on the balls. with a small number of balls this works well but when I increase the number of balls to a large value e.g. 50, the wall reaches the target force before the gap between the layer is close. so I use unbalanced force to ensure that the system reaches equilibrium under gravity. I want to know what should be the value of unbalanced force to ensure the near equilibrium condition, which is that balls should be in contact i.e. no gap condition. 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 #708247]: parallel processing
New question #708247 on Yade: https://answers.launchpad.net/yade/+question/708247 Hi all! I am simulating geogrid soil interaction using YADE. My code is working, but it is taking a lot of time. Earlier, I was using my laptop with 8 gb ram, now I am using a system with 128 gb ram and 14 cores but the time it takes is still the same. I think the problem is it is using only one core at a time. I checked it by checking the memory use and it shows most of the memory as free. I searched how could I use the available cores and got that 'yade -j14 filename.py' could help. but it doesn't seem to speedup the simulation. kindly help, 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 #708247]: parallel processing
Question #708247 on Yade changed: https://answers.launchpad.net/yade/+question/708247 Yuri Bezmenov posted a new comment: Thanks Robert! I have updated my query there. -- 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