Re: [Yade-users] [Question #684008]: aabb walls don't move after apply a force
Question #684008 on Yade changed: https://answers.launchpad.net/yade/+question/684008 Status: Open => Answered Jan Stránský proposed the following answer: Hello, the same as in [1]: "please provide a script which is ... minimal = if the problem is moving the wall, a script with one wall should be enough" hint: print(upper_wall.state.blockedDOFs) cheers Jan [1] https://answers.launchpad.net/yade/+question/682676 -- You received this question notification because your team yade-users is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
Re: [Yade-users] [Question #683388]: How to clump spheres and facet obtained from stl format
Question #683388 on Yade changed: https://answers.launchpad.net/yade/+question/683388 Status: Open => Expired Launchpad Janitor expired the question: This question was expired because it remained in the 'Open' state without activity for the last 15 days. -- 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 #684008]: aabb walls don't move after apply a force
New question #684008 on Yade: https://answers.launchpad.net/yade/+question/684008 Hi everyone, I recently installed yade-2019-08-28.git-430b5a3 and found the script that worked with the old yade (apt install yade) is not working with the updated version. Specifically, a force is applied on an aabb wall, but the wall position does not change and the velocity shows to be zero. I have attached my script below, would anyone be able to help me have a look? Thank you. # !/usr/bin/python # -*- coding: utf-8 -*- from yade import utils from yade import pack from yade import plot from yade import qt from yade import export # input parameter Young = 57e8 # 100Gpa FrictAng = atan(0.5) Density = 2650 Poisson = 0.28 Cohesion = 38e6 # pa TensileStr = 38e6 # pa #define rock and wall rock = JCFpmMat(young=Young,frictionAngle=FrictAng,density=Density,poisson=Poisson,tensileStrength=TensileStr,cohesion=Cohesion) wall = JCFpmMat(young=2.06e11,frictionAngle=radians(30),density=7800,poisson=0.3,tensileStrength=0,cohesion=0) for Mat in (rock,wall): O.materials.append(Mat) # regularOrth packing of the rock rock_pred = pack.inAlignedBox((0,0,0),(.02,.03,.02)) assembly = pack.regularOrtho(rock_pred,radius=0.0002,gap=0,material=rock) r_assembly=O.bodies.append(assembly) # aabbWalls wall = O.bodies.append(utils.aabbWalls(material=wall,thickness=0.000,color=(1,1,1))) # set velocity for bottom/upper wall bottom_wall = O.bodies[wall[2]] #bottom_wall.state.blockedDOFs = 'zXY' bottom_wall.state.mass = 1 upper_wall = O.bodies[wall[3]] #upper_wall.state.blockedDOFs = 'zXY' upper_wall.state.mass = 1 O.forces.setPermF(upper_wall.id, (0,-1,0)) O.forces.setPermF(bottom_wall.id, (0,1,0)) def addPlot(): print (str(upper_wall.state.pos[1])) print ('wall velocity'+str(upper_wall.state.vel)) O.forces.setPermF(upper_wall.id, (0,-1,0)) ### # ENGINES ### O.engines=[ ForceResetter(), # enlarge interaction radius between spheres InsertionSortCollider([Bo1_Sphere_Aabb(aabbEnlargeFactor=1.25,label='bo1s'),Bo1_Box_Aabb()]), InteractionLoop( [Ig2_Sphere_Sphere_ScGeom(interactionDetectionFactor=1.25,label='ig2s'),Ig2_Box_Sphere_ScGeom()], [Ip2_JCFpmMat_JCFpmMat_JCFpmPhys(cohesiveTresholdIteration=1)], [Law2_ScGeom_JCFpmPhys_JointedCohesiveFrictionalPM(recordCracks=True,label='lawFunctor')] ), # VTKRecorder(fileName='post/uniCom-',recorders=['all'],iterPeriod=50), GlobalStiffnessTimeStepper(active=1,timeStepUpdateInterval=5,timestepSafetyCoefficient=0.8,defaultDt=PWaveTimeStep()), NewtonIntegrator(damping=0.3,gravity=(0,0,0)), #call addPlot() every 20 steps PyRunner(command='addPlot()', realPeriod=20) ] O.trackEnergy=True O.step() bo1s.aabbEnlargeFactor=1 ig2s.interactionDetectionFactor=1 #set an optimal timestep O.dt = utils.PWaveTimeStep() O.usesTimeStepper = 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 #682676]: Wall position doesn't change after applying force
Question #682676 on Yade changed: https://answers.launchpad.net/yade/+question/682676 Jan Stránský posted a new comment: Moved to https://answers.launchpad.net/yade/+question/684008 -- 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 #683934]: Bond broken and non movement of cohesive particles
Question #683934 on Yade changed: https://answers.launchpad.net/yade/+question/683934 Jan Stránský posted a new comment: Ok, maybe not 8+8, maybe 60+60.. A good approach could be to preserve the geometry and just use larger particles. Then even you can paste these a few lines of saved .txt files inside one question. 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 #683388]: How to clump spheres and facet obtained from stl format
Question #683388 on Yade changed: https://answers.launchpad.net/yade/+question/683388 Jan Stránský posted a new comment: What about the stl? is it closed and the problem comes from the format conversion? If yes, there should be some solution. If no, then the surface should be closed, but I don't know about very easy methods.. Also note the gts.Surface.cleanup method, which should merge close vertices (and possibly close the surface, but I did not test it). 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
Re: [Yade-users] [Question #684008]: aabb walls don't move after apply a force
Question #684008 on Yade changed: https://answers.launchpad.net/yade/+question/684008 Status: Answered => Open Anqi H is still having a problem: Hi Jan, Thank you for the catch. I've uncommented the code that defined blockedDOFs, but now I've got very different error messages when I run the simulations. It seems like it does not recognize a character in the line 'upper_wall.state.blockedDOFs = 'zXY'', but this line of code doesn't have any issues in the old yade install. ValueError: cannot convert float NaN to integer Error in sys.excepthook: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/IPython/core/ultratb.py", line 1267, in __call__ self.handler((etype, evalue, etb)) File "/usr/lib/python3/dist-packages/IPython/core/ultratb.py", line 1256, in handler ostream.write(self.text(etype, evalue, etb)) UnicodeEncodeError: 'latin-1' codec can't encode character '\u03bc' in position 2659: ordinal not in range(256) Original exception was: Traceback (most recent call last): File "/usr/local/yadeFoam/install/lib/x86_64-linux-gnu/yade-2019-08-28.git-430b5a3/py/yade/qt/__init__.py", line 199, in refreshEvent self.refreshValues() File "/usr/local/yadeFoam/install/lib/x86_64-linux-gnu/yade-2019-08-28.git-430b5a3/py/yade/qt/__init__.py", line 272, in refreshValues s=int(t); ms=int(t*1000)%1000; us=int(t*100)%1000; ns=int(t*10)%1000 -- 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 #684018]: unbreakable clumps to breakable ones(glued spheres)
New question #684018 on Yade: https://answers.launchpad.net/yade/+question/684018 Hi everyone, I'm trying to convert a compact clumps to a glued spheres; the spheres inside of each clump become cohesive meanwhile the spheres of two different clumps remain without cohesion, however they may be in contact after compaction phase. I know this type of operation is possible in Yade, but I seek a method more practical in the way that after releasing spheres from a clump the spheres inside this clump become cohesive with a given cohesive material definition. Thanks a lot -- 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 #684021]: CHOLMOD warning: matrix not positive definite
New question #684021 on Yade: https://answers.launchpad.net/yade/+question/684021 Hi, I'd like to use PeriodicFlowEngine,and I test it in below script.When the PeriodicFlowEngine is actived,I got the warning: CHOLMOD warning: matrix not positive definite. file: ../Supernodal/t_cholmod_super_numeric.c line: 911 something went wrong in Cholesky factorization, use LDLt as fallback this time1 Is there any error in my script,or something wrong with Yade? Thanks for your any suggestions. ## from __future__ import print_function from yade import pack,qt O.periodic=True O.cell.hSize=Matrix3(0.1, 0, 0, 0 ,0.1, 0, 0, 0, 0.1) sp=pack.SpherePack() radius=5e-3 num=sp.makeCloud(Vector3().Zero,O.cell.refSize,radius,.2,500,periodic=True) # min,max,radius,rRelFuzz,spheresInCell,periodic O.bodies.append([sphere(s[0],s[1]) for s in sp]) O.engines=[ ForceResetter(), InsertionSortCollider([Bo1_Sphere_Aabb()],verletDist=.05*radius), InteractionLoop( [Ig2_Sphere_Sphere_ScGeom()], [Ip2_FrictMat_FrictMat_FrictPhys()], [Law2_ScGeom_FrictPhys_CundallStrack()] ), PeriTriaxController(dynCell=True,mass=0.2,maxUnbalanced=0.01,relStressTol=0.02,goal=(-1e4,-1e4,0),stressMask=3,globUpdate=5,maxStrainRate=(1.,1.,1.),doneHook='triaxDone()',label='triax'), NewtonIntegrator(damping=.2), PeriodicFlowEngine(dead=1,label='flow') ] O.dt=PWaveTimeStep() O.run(); qt.View() phase=0 flow.meshUpdateInterval=200 flow.useSolver=3 flow.permeabilityFactor=1 flow.bndCondIsPressure=[1,1,0,0,0,0] flow.bndCondValue=[0,1,0,0,0,0] def triaxDone(): triax.dead=1 flow.dead=0 flow.updateTriangulation=True O.pause() ## -- 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 #684022]: What does dynCell = True mean in PeriTriaxController?
New question #684022 on Yade: https://answers.launchpad.net/yade/+question/684022 Hi, everybody! I am confused about something with the tutorial of Periodic triaxial test. To be specific, I don't understand that What does dynCell = True mean in PeriTriaxController? And why maxStrainrate takes the value of (10, 10, 10)? Here is the part codes in the tutorial. PeriTriaxController(label='triax', # specify target values and whether they are strains or stresses goal=(sigmaIso,sigmaIso,sigmaIso),stressMask=7, # type of servo-control dynCell=True,maxStrainRate=(10,10,10), # wait until the unbalanced force goes below this value maxUnbalanced=.1,relStressTol=1e-3, # call this function when goal is reached and the packing is stable doneHook='compactionFinished()' ), 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 #684021]: CHOLMOD warning: matrix not positive definite
Question #684021 on Yade changed: https://answers.launchpad.net/yade/+question/684021 Chu posted a new comment: BTW, I use Yade version 2019-09-03.git-9f49d21f -- 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 #683967]: GlobalStiffnessTimeStepper with Potential Blocks
Question #683967 on Yade changed: https://answers.launchpad.net/yade/+question/683967 Janek Kozicki posted a new comment: Great solution, 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 #684030]: example of FEMxDEM simulation
New question #684030 on Yade: https://answers.launchpad.net/yade/+question/684030 Hello All, Is it possible to share the python code of the example of [1]? I am new in multi scale simulation and I want to have a complete example of it. In addition, I install both the YADE and Escript on my PC. I know how to work with both softwares. Am I have to install another software except YADE and Escript? Thank you very much for your help in advance. Best Regards Alireza [1] https://yade-dem.org/doc/FEMxDEM.html#example-tests -- 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 #684027]: How to use MatchMaker for two Ip2
New question #684027 on Yade: https://answers.launchpad.net/yade/+question/684027 Hi, I'd like to ask how to use MatchMaker for the case that there are two Ip2. For example, in a triaxial simulation, there are 3 kinds of bodies : wall, sand and cement. What I want to achieve for the simulation is that cement-cement and cement-sand contacts are CohFrictPhys (with cohesion) and wall-cement, wall-sand, sand-sand contacts are FrictPhys because I suppose adhesion only exists between cement-cement as well as cement-sand. And thanks for Jan's suggestion in [1], "using just CohFrictMat/CohFrictPhys and using MatchMaker for sand-sand contacts to behave like FrictPhys", I set the engines like below: # wall=O.materials.append(FrictMat(young=30e9,poisson=0.5,frictionAngle=0,density=0,label='wall')) sand=O.materials.append(CohFrictMat(isCohesive=True,young=30e9,poisson=0.5,frictionAngle=radians(30),density=2600.0,normalCohesion=1e6, shearCohesion=1e6,label='sand')) cement=O.materials.append(CohFrictMat(isCohesive=True,young=30e9,poisson=0.5,frictionAngle=radians(30),density=2600.0,normalCohesion=1e6, shearCohesion=1e6,label='cement')) ## O.engines=[ ForceResetter(), InsertionSortCollider([Bo1_Sphere_Aabb(),Bo1_Box_Aabb()]), InteractionLoop( [Ig2_Sphere_Sphere_ScGeom6D(),Ig2_Box_Sphere_ScGeom()], [Ip2_CohFrictMat_CohFrictMat_CohFrictPhys( normalCohesion=MatchMaker(matches=((wall,wall,0),(wall,sand,0),(wall,cement,0),(sand,sand,0),(sand,cement,1e6),(cement,cement,1e6))), shearCohesion=MatchMaker(matches=((wall,wall,0),(wall,sand,0),(wall,cement,0),(sand,sand,0),(sand,cement,1e6),(cement,cement,1e6))), setCohesionNow=True), Ip2_FrictMat_FrictMat_FrictPhys()], [Law2_ScGeom6D_CohFrictPhys_CohesionMoment(),Law2_ScGeom_FrictPhys_CundallStrack()] ), triax, TriaxialStateRecorder(iterPeriod=100), newton ] My questions are: 1. Is there any conflict between MatchMaker and setCohesionNow=True? setCohesionNow is for assigning cohesion to all existing contacts in current time-step, I am afraid that MatchMaker makes normalCohesion of sand-cement equals 1e6 in all steps. 2.Is there any unnecessary coding such as (wall,wall,0) or (wall,sand,0) that I need to remove? Many thanks Leonard [1]https://answers.launchpad.net/yade/+question/683706 -- 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 #684030]: example of FEMxDEM simulation
Question #684030 on Yade changed: https://answers.launchpad.net/yade/+question/684030 Status: Open => Answered whr proposed the following answer: Hi Alireza, The python codes are already included in the source code in trunk/examples/FEMxDEM. To couple them together, you need scripts in trunk/py/FEMxDEM. I suggest you put the codes in the two folders together to run a test simulation first. Huanran -- 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