← Back to team overview

yade-users team mailing list archive

Re: Simulation model


I would like to add ellipsoid, but what is the best way to test it during
code writing. How can I compile just _packPredicates.cpp?

Sorry for simple questions.
[ENG] Best Regards
[GER] Mit freundlichen Grüßen
[RUS] С наилучшими пожеланиями
[UKR] З найкращими побажаннями

Anton Gladkyy

2009/6/15 Anton Gladky <gladky.anton@xxxxxxxxx>

> Thank you very much, Vaclav for that suggestions and realization! Sure it
> will be very helpful!
> Later I will add some more shapes.
> I have attached the patch, which adds euclid module to the Yade. Please,
> commit it.
> ______________________________
> [ENG] Best Regards
> [GER] Mit freundlichen Grüßen
> [RUS] С наилучшими пожеланиями
> [UKR] З найкращими побажаннями
> Anton Gladkyy
> 2009/6/13 Václav Šmilauer <eudoxos@xxxxxxxx>
>> > There is a new function for utils. Would like you to ask to check and
>> > commit it.  I know, that you dont like this style, but I was trying to
>> > do it by your way with no success: difficult to get indexes of Z-axis
>> > array.
>> Hi, I found a better approach for this type of problems: separately
>> define function that generates the grid within given part of space and
>> separately have function that clips the resulting grid to the exact
>> solid shape ("predicate", because it tells whether a point is inside or
>> outside). For example:
>> from yade import pack
>> pack.regularHexa(pack.inSphere((0,0,4),2),radius=.1,gap=0)
>> will return list of spheres of radius .1 hexagonaly arranged (without
>> gaps) within spherical domain centered at 0,0,4 and with radius 2.
>> I am sorry that it will probably break your older code, but it seems
>> just so much more elegant and extensible.
>> If you want to define new shape that you want to fill with spheres (e.g.
>> an ellipsoid), you only have to define a new ellipsoid predicate and
>> pass it to the pack.regularOrtho / pack.regularHexa functions. They ask
>> the predicate for its bounding box, generate orthogonal/hexagonal grid
>> and return sphere at points of the grid where the predicate was true
>> (i.e. points inside the solid).
>> If you want to define new packing type (e.g. orthogonal in plane but
>> planes moved at every layer to make it denser; or even irregular
>> packing, e.g. from a periodic packing that you have ready somewhere),
>> you can use already existing predicates with the new one.
>> For packing, we have ortho/hexa now, for predicates, there is sphere,
>> axis-aligned box and non-aligned cylinder. It is demonstrated in
>> scripts/test/regular-sphere-pack.py.
>> Best, Vaclav
>> _______________________________________________
>> Mailing list: https://launchpad.net/~yade-users<https://launchpad.net/%7Eyade-users>
>> Post to     : yade-users@xxxxxxxxxxxxxxxxxxx
>> Unsubscribe : https://launchpad.net/~yade-users<https://launchpad.net/%7Eyade-users>
>> More help   : https://help.launchpad.net/ListHelp

Follow ups