← Back to team overview

yade-users team mailing list archive

Re: [Question #670169]: informations about packing

 

Question #670169 on Yade changed:
https://answers.launchpad.net/yade/+question/670169

    Status: Answered => Open

jacopo is still having a problem:
ok i tryied with makecloud as you suggest, and it works! also the "script impact" gives the same identical results, and this is perfect for me.
But now i have another question.
can be possible that makecloud code takes more time to be compiled?
-> i m lounching simulations using a university server.(I m connected from remote and i m lounching with 2 cores each simulation since a maximum of 4 simulations running simultaniusly--8 cores--)
-> the deposition is inside a cylinder of 10.7 [m] diameter, and 2 [m] of height. The particles have 0.03 [m] of diameter-----> 1 million of body more or less.
-> with randomdensepack it takes 5 hours to complete the simulation, with makecloud in one night it not even complete "the constraction" , is still creating particles. (if i rise the particles dimension to 0.06,it runs in less time of course)

-----> so can i modified in same way makecloud to let it take less
time?? this is my code:

from yade import pack, plot
from yade import export, ymport
from yade import export, ymport

O.bodies.append(wall((0,0,2), axis=2, sense=-1, color=(0,1,0), mask=1))

O.bodies.append(geom.facetCylinder(center=(0,0,2.2), radius=5.35,
height=4.4, orientation=Quaternion((0, 0, 1), 0), segmentsNumber=100,
wallMask=6, angleRange=None, closeGap=False))

idSoil=FrictMat(density=1480,frictionAngle=radians(28),label='soil',young=13729310,poisson=0.2)

O.materials.append(idSoil)

sp = pack.SpherePack()
minCorner = (-6,-6,0)
maxCorner = (6,6,4.2)
sp.makeCloud(maxCorner=maxCorner,minCorner=minCorner,rMean=0.03, seed=1)
pred = pack.inCylinder((0,0,0),(0,0,4.2),radius=5.34)
for c,r in sp:
 if pred(c,r): # determines if a sphere with center c and radius r is inside
  #predicate...
   O.bodies.append(sphere(c,r)) # ... if yes, append it to simulation


O.engines=[
   ForceResetter(),
   InsertionSortCollider([Bo1_Sphere_Aabb(),Bo1_Facet_Aabb()]),
   InteractionLoop(

      [Ig2_Sphere_Sphere_ScGeom(),Ig2_Facet_Sphere_ScGeom()],
      [Ip2_FrictMat_FrictMat_FrictPhys()],
      [Law2_ScGeom_FrictPhys_CundallStrack()]
   ),
   NewtonIntegrator(gravity=(0,0,-9.81),damping=0),
   PyRunner(command='checkUnbalanced()',iterPeriod=10),
]

O.trackEnergy=True

############################################################################
######################### DEFINING FUNCTIONS ###############################
############################################################################


def checkUnbalanced():
   if O.time > 2.5 :
      O.pause()
      export.textExt('depoMAKECLOUDD1480Y140P0.2F28.txt',format='x_y_z_r',comment='Final state of the spheres')


O.dt=.8*PWaveTimeStep()
O.run()
#O.stopAtIter=maxIt;
O.saveTmp()


________________________________
Da: bounces@xxxxxxxxxxxxx <bounces@xxxxxxxxxxxxx> per conto di Bruno Chareyre <question670169@xxxxxxxxxxxxxxxxxxxxx>
Inviato: mercoledì 13 giugno 2018 13:57:21
A: Jacopo Varriale
Oggetto: Re: [Question #670169]: informations about packing

Your question #670169 on Yade changed:
https://answers.launchpad.net/yade/+question/670169

Bruno Chareyre proposed the following answer:
Hi,
I think you are posing a solutionless problem.
First, if you don't want different results from two impact simulations, initialize them with the same deposited positions.
By repeating two depositions you created the problem you are now trying to solve (as technically explained by Jan).

I understand you would like to measure the effects of small changes of
input parameters (e.g. changing Poisson from 0.2 to 0.2001) ant so you
don't like to be dominated by random fluctuations, but what you are
after is not possible.

You could examine the effect of any parameter which lets you re-use the
same deposited positions: timestep, contact friction, impact velocity...
It would show you that in all cases a very small change of one input
parameter can lead to unbounded change of the response - even if you ran
just one deposition throughout the process. The only solution is to do
some statistics on a large number of runs with same micro-parameter and
different depositions,  it cannot be turned into a deterministic problem
just by sticking to one deposition.

Cheers
Bruno

--
If this answers your question, please go to the following page to let us
know that it is solved:
https://answers.launchpad.net/yade/+question/670169/+confirm?answer_id=7

If you still need help, you can reply to this email or go to the
following page to enter your feedback:
https://answers.launchpad.net/yade/+question/670169

You received this question notification because you asked the question.

-- 
You received this question notification because your team yade-users is
an answer contact for Yade.