← Back to team overview

yade-users team mailing list archive

Re: [Question #429604]: Cylinder and periodic boundary conditions

 

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

    Status: Open => Answered

Bruno Chareyre proposed the following answer:
> How do you get the normal component of the relative velocity?

Something like this (it would need another term from the velocity gradient, you can get inspiration from scgeom code):
(state2->vel - state1->vel).dot(normal) 

>from a physical point of view I believe that the question of the
contact point is not that simple and is fundamental.

Of course it is not really half-way between non-symmetric objects (different sizes, different properties, ...) but the real question is where should it be if it is not half-way?
Fundamentally, in fact, the notion of contact point/force is in itself irrelevant, that is a reason why I don't like very much the grammar " c1x = (geom.contactPoint - de1.pos)". I prefer to write equations without contact points, even if of course it can be mathematically equivalent.

The difference between the two sets of equation is that the first one uses positions, the second doesn't.
The problem in the first one is this (I didn't realize immediatly): if one body is larger than one period it is not clear how to define I->cellDist since it is not unique. If positions are not used the problem disappear.

> but this would mean keeping all the compatibility with the existing
ViscElPhys_Basic law (prescription possible of (young, poisson) or (kn,
ks) with (en, et) or (cn, cs))

"Merging" A and B does not mean to break B to make it fit in A by brute force. ;)
Of course the point is to keep the good stuff, else no point merging.

I guess the straight way is to make a viscous version inheriting from CundallStrack. It may need to reorganize a little bit the code of CundallStrack to let sections of the go() function be used as standalone functions (mostly a way to avoid code duplication in the inheriting classes).
Not sure yet if the law functor is enough or if some Ig/Ip functors would need something as well.

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