← Back to team overview

yade-dev team mailing list archive

Re: [Branch ~yade-dev/yade/trunk] Rev 1932: - merge stiffness/inertia control in PeriTriaxEngine and remove periEngine

 

> Let me repeat it again, and if you already implemented that, excuse me 
> for being an idiot, and please send me a demo script :
> 
> I want a constant velGrad like :
> 
> 1 x 0
> 0 1 0
> 0 0 1
> 
> and I want to never reach the algorithm limit. I have working code for 
> this, using your algorithm.
OK, this clearly will not work currently. Attached script goes to trsf
something like 

1 2.4 0
0 1   0
0 0   0

then fails (with constant O.cell.velGrad=Matrix3(0,10,0,0,0,0,0,0,0)).

Can you attach your script? Or, could you FINALLY commit your magic
code? I can always use older version, if I need it urgently. I am eager
to see that. I still think you only broke contact detection somehow...

> > The rendering code for Aabb is correct, I think, so you can use that +
> > some extreme shear value to at least visually check.>   
> I never diplayed Aabb's or wanted to.
You should (1) make sure Gl1_Aabb works, as you changed its meaning, and
(2) how do you know the Aabb's are computed right?

Cheers, v.
# coding: utf-8
# 2009 © Václav Šmilauer <eudoxos@xxxxxxxx>
"Test and demonstrate use of PeriTriaxController."
from yade import *
from yade import pack,log,qt
O.periodic=True
O.cell.refSize=Vector3(.1,.1,.1)
O.cell.trsf=Matrix3().IDENTITY;

sp=pack.SpherePack()
radius=5e-3
num=sp.makeCloud(Vector3().ZERO,O.cell.refSize,radius,.6,-1,periodic=True) # min,max,radius,rRelFuzz,spheresInCell,periodic
O.bodies.append([utils.sphere(s[0],s[1]) for s in sp])

O.engines=[
	ForceResetter(),
	BoundDispatcher([Bo1_Sphere_Aabb()]),
	InsertionSortCollider(nBins=5,sweepLength=.05*radius),
	InteractionDispatchers(
		[Ig2_Sphere_Sphere_Dem3DofGeom()],
		[SimpleElasticRelationships()],
		[Law2_Dem3Dof_Elastic_Elastic()]
	),
	NewtonIntegrator(damping=.6, homotheticCellResize=0),
]
O.dt=0.5*utils.PWaveTimeStep()
O.run(1)
qt.View()
O.cell.velGrad=Matrix3(0,10,0,0,0,0,0,0,0)
O.saveTmp()
O.run();
rrr=qt.Renderer(); rrr['intrAllWire'],rrr['Body_interacting_geom']=True,False
	
	


References