Re: [Yade-users] [Question #464190]: How to choose an appropriate material property
Question #464190 on Yade changed: https://answers.launchpad.net/yade/+question/464190 Status: Answered => Solved Huihuang Xia 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
[Yade-users] [Question #465653]: export dissipated energy in a vtk files
New question #465653 on Yade: https://answers.launchpad.net/yade/+question/465653 Hello Yade users, I want to output the distribution of the dissipated energy on a numerical sample with paraview. And you know that paraview use vtk files to give these distribution. So my question is : it is possible to implement which enables to record the dissipated energy in the sample in vtk files ? In other words : it is possible to create a recorder ( like "bstresses", "spheres", "boxes", "intr" etc ... https://yade-dem.org/doc/yade.wrapper.html?highlight=bstresses) for the dissipated energy : cracks energy. the cracks energy is included in the function : Law2_ScGeom_JCFpmPhys_JointedCohesiveFrictionalPM (https://yade-dem.org/doc/yade.wrapper.html?highlight=jointed#yade.wrapper.Law2_ScGeom_JCFpmPhys_JointedCohesiveFrictionalPM) Best regards. Jabrane. -- 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 #455796]: Local energy dissipation
Question #455796 on Yade changed: https://answers.launchpad.net/yade/+question/455796 Status: Answered => Solved Yor1 confirmed that the question is solved: Hello Jan, I implement the solution proposed in my precedent comment and it works very well. That solved my question. Best regards. Jabrane. -- 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 #464883]: porosity problem in periodic cell
New question #464883 on Yade: https://answers.launchpad.net/yade/+question/464883 I'm trying to get values of final porosity for different internal friction angle after every isocompression. With the increment of 'internal friction angle' the value of porosity should be increased. But I found porosity doesn't increasing with the increasing value of internal friction angle. I found friction angle=porosity: 0.1=.3855, 10=.4200, 20=.4374, 30=.4408 40=.4319 50=4085, 60=.4114, 70=.4346, 80=.4413, 90=.4367, 100=.4240. Don't understand why this is happening. Please help me out my simulation script: # encoding: utf-8 # periodic triaxial test simulation sigmaIso=-1e5 #import matplotlib #matplotlib.use('Agg') # generate loose packing from yade import pack, qt, plot O.periodic=True O.materials.append(FrictMat(young=6000,poisson=.3,density=2600,frictionAngle=60,label='spheres',)) sp = pack.SpherePack() sp.makeCloud(minCorner=(0,0,0),maxCorner=(.1,.1,.1),rMean=0.002,rRelFuzz=0.0001,num=4000,periodic=True,seed=1) sp.toSimulation() O.cell.hSize = Matrix3(.1,0,0, 0,.1,0, 0,0,.1) O.engines=[ ForceResetter(), InsertionSortCollider([Bo1_Sphere_Aabb()]), InteractionLoop( [Ig2_Sphere_Sphere_ScGeom()], [Ip2_FrictMat_FrictMat_FrictPhys()], [Law2_ScGeom_FrictPhys_CundallStrack()] ), 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=(1000,1000,1000), # wait until the unbalanced force goes below this value maxUnbalanced=.01,relStressTol=2e-3, # call this function when goal is reached and the packing is stable doneHook='compactionFinished()' ), NewtonIntegrator(damping=.2), PyRunner(command='addPlotData()',iterPeriod=500), ] O.dt=.5*PWaveTimeStep() def addPlotData(): plot.addData(unbalanced=unbalancedForce(),i=O.iter, sxx=triax.stress[0],syy=triax.stress[1],szz=triax.stress[2], exx=triax.strain[0],eyy=triax.strain[1],ezz=triax.strain[2], Z=avgNumInteractions(), porosity=porosity(), # save all available energy data Etot=O.energy.total(),**O.energy ) plot.saveDataTxt('macroFile',vars=('i','sxx','syy','szz','exx','eyy','ezz', 'unbalanced','porosity')) # enable energy tracking in the code O.trackEnergy=True # define what to plot plot.plots={'i':('porosity',),'i ':('sxx','syy','szz'),' i':('exx','eyy','ezz'), # energy plot 'ezz':('szz'), } # show the plot plot.plot() def compactionFinished(): print 'IsoCompression Finished' O.Pause() # set the current cell configuration to be the reference one O.cell.trsf=Matrix3.Identity # change control type: keep constant confinement in x,y, 20% compression in z triax.goal=(sigmaIso,sigmaIso,-0.1) triax.stressMask=3 # allow faster deformation along x,y to better maintain stresses triax.maxStrainRate=(1000,1000,.001) # next time, call triaxFinished instead of compactionFinished triax.doneHook='triax1Finished()' # do not wait for stabilization before calling triaxFinished triax.maxUnbalanced=0.0001 def triax1Finished(): print 'Triaxial1 Finished' O.Pause() Please give me suggestion what should I do? Thanks in advance. toufiq -- 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 #464190]: How to choose an appropriate material property
Question #464190 on Yade changed: https://answers.launchpad.net/yade/+question/464190 Status: Open => Answered Jérôme Duriez proposed the following answer: Hi, I think the simplest solution is to just use CohFrictMat for the steel as well. You may just use two different CohFrictMat materials in your simulation: one truly cohesive for the rock particles, and another one with e.g. zero cohesive properties that will apply to the steel. Doing so, you would be able to use classical CohFrictMat functors in the interaction loop such as Ip2_CohFrictMat_CohFrictMat_CohFrictPhys You might need to give a look to the corresponding code source [*] to be sure how the cohesive properties of interactions are derived from the cohesive Material parameters [*] https://github.com/yade/trunk/blob/master/pkg/dem/CohesiveFrictionalContactLaw.cpp -- 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 #464303]: update BC in flowEngine
Question #464303 on Yade changed: https://answers.launchpad.net/yade/+question/464303 Status: Open => Answered Bruno Chareyre proposed the following answer: Hi Luc, You made me go back to class documentation and improve it. Would the following doc answer your question? .def("updateBCs",...,"Update the boundary condition to reflect changes of boundary pressure (needed typically after changing :yref:`FlowEngine::bndCondValue`). It is not sufficient to reflect changes of the type of boundary condition (:yref:`FlowEngine::bndCondIsPressure`), in such case re-triangulation is needed (see :yref:`FlowEngine::updateTriangulation`). Conversely, the update is not necessary for point-wise imposed pressure (:yref:`FlowEngine::imposePressure`)") ((bool, updateTriangulation, 0,,"If true the medium is retriangulated. Can be switched on to force retriangulation after some events (else it will be true periodicaly based on :yref:`FlowEngine::defTolerance` and :yref:`FlowEngine::meshUpdateInterval`. Of course, it costs CPU time. Note that the new triangulation will start to be effectively used only after next iteration (i.e. O.run(2) gives a result with the new one, O.run(1) does not).")) Note that you can replace O.step() by flow.emulateAction(). And in fact the simplest way to not worry about updating BCs is to use it with a fresh engine each time: for k in boundaryConditions: flow=FlowEngine() flow.bndCondIsPressure=k.bndCondIsPressure flow.bndCondValue= k.bndCondValue flow.emulateAction() Q=flow.getBoundaryFlux(...) -- 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 #464303]: update BC in flowEngine
New question #464303 on Yade: https://answers.launchpad.net/yade/+question/464303 Hello guys, I am currently using flowEngine to compute permeability of samples subjected to compressive loading. I would like to compute permeabilities along the 3 directions at different stages of the loading. The problem is that when I change the flow boundary conditions to change the direction of the flow, it seems that there is some sort of influence of the previous calculation on the pressure field and the permeability measurements are thus wrong (the inlet and outlet fluxes are not equal in the second calculation). This is how I do it: print 'Flow along X!' flow.bndCondIsPressure = [1,1,0,0,0,0] flow.bndCondValue = [1,0,0,0,0,0] O.step() Qin = flow.getBoundaryFlux(0) Qout = flow.getBoundaryFlux(1) permeability = abs(Qout)*flow.viscosity*X/(Y*Z) # k=Q*nu*Length/(Area*(Pout-Pin)) print "Qin=",Qin," Qout=",Qout," ARE THEY EQUAL? IF NOT-> NO FLOW!" print "Permeability [m2]=",permeability print 'Flow along Y!' flow.bndCondIsPressure = [0,0,1,1,0,0] flow.bndCondValue = [0,0,1,0,0,0] flow.updateBCs() O.step() Qout = flow.getBoundaryFlux(3) permeability = abs(Qout)*flow.viscosity*Y/(X*Z) # k=Q*nu*Length/(Area*(Pout-Pin)) print "Qin=",Qin," Qout=",Qout," ARE THEY EQUAL? IF NOT-> NO FLOW!" print "Permeability [m2]=",permeability What do I need to add in order to update the flow boundary conditions correctly? Thanks Luc -- You received this question notification because your team yade-users is an answer contact for Yade. ___ Mailing list: https://launchpad.net/~yade-users Post to : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp
[Yade-users] [Question #464190]: How to choose an appropriate material property
New question #464190 on Yade: https://answers.launchpad.net/yade/+question/464190 Hi, I have some questions on how to choose a suitable material property, the details are as follows: I plan to model an impact crusher using YADE, rock particles are the raw material crushed in the crusher, and the crusher is made of steel. Thus, I try to use CohFrictMat and bond many sub-particles to model the rock particle, and choose FrictMat to define steel. But in InteractionLoop, I cannot find a suitable Ip2 to set the interactions between rock particles and steel. In a word, can you recommend two appropriate material properties for me to define rock and steel? Many thanks, Huihuang Xia -- 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