yade-dev team mailing list archive
-
yade-dev team
-
Mailing list archive
-
Message #00469
Re: Intergator and clumps
Ok, thank you for details.
I wonder if we can't move clumps at the end of MB->bodies without
changing ids...
For clump members velocity it should be easy to define in the
displacement engine.
Bruno
Va'clav S a e'crit :
>> 1/ Forces are damped based on the motion of each body. As a consequence,
>> different contact forces on the same clump will be damped independently.
>> Its a bit like damping separately each individual force applied on a
>> standalone body. The very bad effect of this is that a body at static
>> equilibrium can be moved out of equilibrium by damping effect (i.e. the
>> exact opposite of what damping is supposed to do...).
>> The correct way to damp is to damp the resultant force/moment on a clump
>> based on the motion of the clump.
>>
>>
> I wasn't sure what the correct way was, but please fell free to adjust
> that. If you do, however, make sure that the same is done in the
> original engines (CundallNonViscous etc) so that the behavior is consistent.
>
>> 2/ From what I see in the code, if a clump has bodies "i" and "j", I
>> fear the integration loop could make something like (depending on the
>> ordering of bodies):
>>
>> on body i : clump->acceleration += i->force/clump->mass
>> on clump : clump->velocity += clump->acceleration*dt
>> on body j : clump->acceleration += j->force/clump->mass
>>
>> so that forces on clump member j are ignored in the motion of the clump...
>>
>> Is there something to prevent that? Are clumps always at the end of the
>> loop?
>>
>>
> Currently, the ordering of IDs of clump and its members is undefined.
> There are 2 ways out of this, it seems to me:
>
> 1. Add an extra loop that would apply forces on clump members to clump
> itself, before calculating clump acceleration. Perhaps a flag on
> NewtonsDampedLaw so that the loop would be run only if clumps were
> actually in use. That could be either set by the user (like you have to
> set distant flag for the collider to make it work) or by the engine
> itself: at each iteration, it would remember whether some bodies were
> actually clumps - if so, the flag would be turned on and you would get
> the extra loop run at next iteration; you would miss just the first
> iteration, which is negligible. If the clump loop would run , at some
> point, without doing any work, it would switch that flag off automatically.
>
> 2. Prescribe such ordering of clumps and its members so that the problem
> is prevented. It is not very user-friendly, but could be enforced by
> assertions/exceptions when the clump is created. But having bodies
> behave depending on their ID seems weird (non-intuitive).
>
> PS. I wonder if there is anyone using clumps actually (I don't need them
> now); there can be problem with shear forces, since clump members have
> zero velocities, even if they move (they are moved by a special engine);
> since shear displacement is frequently calculated from angularVelocity,
> it will give zero. It could be fixed (angularVelocity of each member
> would be calculated from clump's angular velocity) but it has not been
> done yet.
>
> Vaclav
>
> _______________________________________________
> yade-dev mailing list
> yade-dev@xxxxxxxxxxxxxxxx
> https://lists.berlios.de/mailman/listinfo/yade-dev
>
>
>
--
_______________
Chareyre Bruno
Maitre de conference
Institut National Polytechnique de Grenoble
Laboratoire 3S (Soils Solids Structures) - bureau E145
BP 53 - 38041, Grenoble cedex 9 - France
Te'l : 33 4 56 52 86 21
Fax : 33 4 76 82 70 43
________________
_______________________________________________
yade-dev mailing list
yade-dev@xxxxxxxxxxxxxxxx
https://lists.berlios.de/mailman/listinfo/yade-dev
References