New question #656214 on Yade:
https://answers.launchpad.net/yade/+question/656214

Hi All,

I am trying to compress a packing of aggregates periodically. The packing 
contains sets of clumps which are rigid.

I originally compressed the volume using the TriaxialStressController, and now 
I want a periodic packing and am trying to use the PeriTriaxController. 
However, the simulation doesnt want to run. I get one timestep where the 
periodic spheres appear at the boarder and then nothing moves. I have been 
trying to read through the documentation for PeriTriaxController but nothing 
stands out. 

Could someone please point me in the right direction here? Is the problem the 
rigidclumps which is then immediately stopping the simulation? 

The code for the triax controller is below in comments along with the PeriTriax 
controller. 

Thank you in advance!
Jesse



########################
from yade import export,ymport
        import random
        random.seed(1)

        dim = Vector3(2e-6,2e-6,2e-6)
        #walls = aabbWalls((-dim,dim))
        #wallIds = O.bodies.append(walls)
        
        #print(wallIds)
        #for wall in wallIds:
        #       print(O.bodies[wall].state.pos)
        

        O.materials.append(FrictMat(density=1e6,frictionAngle=0))
        O.periodic=True
        O.cell.setBox(2e-6,2e-6,2e-6)
        
        attrs = []
        sp = 
ymport.textExt('/tmp/divided.txt',format='x_y_z_r_attrs',attrs=attrs)
        n = max(int(a[0]) for a in attrs)+1
        colors = [randomColor() for _ in xrange(n)]
        agglomerates = [[] for _ in xrange(n)]
        for s,a in zip(sp,attrs):
           aa = int(a[0])
           s.agglomerate = aa
           s.shape.color = colors[aa]
           agglomerates[aa].append(s)
        for a in agglomerates:
           O.bodies.appendClumped(a)
           
        print('Number of particles = ' , len(O.bodies))

        O.engines = [
           ForceResetter(),
           InsertionSortCollider([Bo1_Sphere_Aabb(),Bo1_Box_Aabb()]),
           InteractionLoop(
                  #[Ig2_Sphere_Sphere_ScGeom(),Ig2_Box_Sphere_ScGeom()], 
##triax only
                  [Ig2_Sphere_Sphere_ScGeom()],
                  [Ip2_FrictMat_FrictMat_FrictPhys()],
                  [Law2_ScGeom_FrictPhys_CundallStrack()]
           ),
           #TriaxialStressController(
                  #thickness = 0,
                  #stressMask = 7,
                  #internalCompaction = False,
                  #label = 'compressor',
           #),
           PeriTriaxController(
                  #thickness = 0,
                  stressMask = 7,
                  #internalCompaction = False,

                  # type of servo-control
                  dynCell=True,
                  #maxStrainRate=(10,10,10),
                  # wait until the unbalanced force goes below this value
                  maxUnbalanced=.1,relStressTol=1e-9,
                  # call this function when goal is reached and the packing is 
stable
                  doneHook='compactionFinished()',
                  label = 'compressor'
           ),
           #NewtonIntegrator(damping=.6), ##Triaxonly
           NewtonIntegrator(damping=.2),
        ]
        factor = .5
        O.dt = factor * PWaveTimeStep()
        
        #compressor.allowBiggerThanPeriod=True
        
        #print(compressor.height)
        #compressor.goal1 = compressor.goal2 = compressor.goal3 = -1e-3
        #compressor.goal1 = compressor.goal2 = compressor.goal3 = -1e-5
        
        sigmaIso = -1e-10
        compressor.goal = (sigmaIso,sigmaIso,sigmaIso)
        
        O.run(50000,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     : [email protected]
Unsubscribe : https://launchpad.net/~yade-users
More help   : https://help.launchpad.net/ListHelp

Reply via email to