← Back to team overview

yade-users team mailing list archive

Re: [Question #656214]: problem replacing TriaxialStressController with PeriTriaxController

 

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

    Status: Answered => Open

rhaven is still having a problem:
Hi Robert,
Thank you for the code to check what is happening with the compression. 
Ive modified it a bit to run longer. The code is below and the result is below the code. I see the strain rate value slowly increasing, but this is after 10 * 50,000 steps! 

clump1 is :

[(Vector3(5.909274815666576e-8,6.604810944051645e-8,2.2856300690077526e-7),
5.909090909090909e-08),
(Vector3(1.33464963673031e-7,1.3998894180339492e-7,1.114205347590509e-7),
5.727272727272727e-08),
(Vector3(1.010434819522126e-7,1.3355465672055947e-7,3.431244420289289e-7),
5.5454545454545454e-08),
(Vector3(5.682727445722134e-8,6.209460981215949e-8,8.464063183667366e-8),
5.3636363636363635e-08),
(Vector3(1.441769958165514e-7,1.3685605985835674e-7,2.412455564359458e-7),
5.1818181818181817e-08)]



#####################
from yade import pack

clump1 = makeClump(1)

#minCorner = (0,0,0)
#maxCorner = (1e-6,1e-6,1e-6)

O.resetThisScene()

O.periodic=True
#O.cell.setBox(2e-6,2e-6,2e-6)
O.cell.hSize=Matrix3(1.5e-6, 0, 0, 0 ,1.5e-6, 0, 0, 0, 1.5e-6)
	
sp=pack.SpherePack()
sp=pack.SpherePack()

#c1=pack.SpherePack([((0,0,0),.1),((.15,0,0),.05),((0,.1,0),.05)])

print clump1
c1 = pack.SpherePack(clump1)
raw_input('Generating Clump Cloud, Press any Key to continue')
#sp.makeClumpCloud(minCorner, maxCorner, [c1], periodic=True, num = 1000)#, periodic=True, num=-1, seed=1)


sp.makeClumpCloud(Vector3().Zero,O.cell.refSize,[c1],periodic=True)
sp.toSimulation()

#genClumps()

O.engines=[
 ForceResetter(),
 InsertionSortCollider([Bo1_Sphere_Aabb()]),
 InteractionLoop(
  [Ig2_Sphere_Sphere_ScGeom()],
  [Ip2_FrictMat_FrictMat_FrictPhys()],
  [Law2_ScGeom_FrictPhys_CundallStrack()]
 ),
 #PeriTriaxController(maxUnbalanced=0.01,relStressTol=0.02,goal=[-1e4,-1e4,0],stressMask=3,globUpdate=5,maxStrainRate=[1.,1.,1.],doneHook='triaxDone()',label='triax'),
 #using cell inertia
 PeriTriaxController(dynCell=True,mass=0.2,maxUnbalanced=0.01,relStressTol=0.02,goal=(-1e6,-1e6,-1e6),stressMask=3,globUpdate=5,maxStrainRate=(1.,1.,1.),doneHook='triaxDone()',label='compressor'),
 #PeriTriaxController(dynCell=True,mass=0.2,maxUnbalanced=0.01,relStressTol=0.02,goal=(-1e4,-1e4,0),stressMask=3,globUpdate=5,maxStrainRate=(1e6,1e6,1e6),doneHook='triaxDone()',label='compressor'),
 NewtonIntegrator(damping=.2),
]

O.dt=PWaveTimeStep()
raw_input("Pausing for Compression, Press any Key to continue")
#O.run();
for i in range(10):
   print('strain: ', compressor.strain)
   O.run(50000,True)
   
print('max strain: ', compressor.maxStrainRate)
##
#qt.View()

phase=0

################# RESULT

('strain: ', Vector3(0,0,0))
('strain: ', Vector3(-0.000025776189076416675,-0.000025776189076416675,-0.000025909090915674364))
('strain: ', Vector3(-0.00005168527999089578,-0.00005168527999089578,-0.00005181818183147237))
('strain: ', Vector3(-0.00007759437090450382,-0.00007759437090450382,-0.00007772727274642117))
('strain: ', Vector3(-0.00010350346181927866,-0.00010350346181927866,-0.00010363636366289179))
('strain: ', Vector3(-0.000129412552734705,-0.000129412552734705,-0.00012954545457970272))
('strain: ', Vector3(-0.0001553216436504901,-0.0001553216436504901,-0.00015545454549700528))
('strain: ', Vector3(-0.00018123073456645253,-0.00018123073456645253,-0.0001813636364147292))
('strain: ', Vector3(-0.00020713982548285556,-0.00020713982548285556,-0.00020727272732947322))
('strain: ', Vector3(-0.00023304891639974086,-0.00023304891639974086,-0.0002331818182436108))
('max strain: ', Vector3(1,1,1))

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