# yade-users team mailing list archive

## Re: Questions on equations (contact laws, velocity, libraries)

```Sorry. For my last question, mentioning Matrix4 and Matrix5 would be clearer.

From: booncw@xxxxxxxxxxx
Date: Wed, 9 Dec 2009 10:06:01 +0800
Subject: [Yade-users] Questions on equations (contact laws, velocity,	libraries)

Hi all, I've some questions.  Hope you could help me with them. :)

Q1. I noticed that in SCG, CohesiveFrictionalLaw etc, we have switched from incremental shearForce to incremental shear displacement.   One reason is to prepare for the possibility of having a periodic boundary?  What are the drawbacks of using shearForce increments?  There was a problem with CPM, as mentioned by Vaclav.  But I haven't fully understood the problem.

Q2. Please help me understand why the angle is multiplied by 0.5 in the equation to calculate the rotation of shear displacement  in SCG/CohesiveFrictional Law:
angle = dt*0.5*currentContactGeometry->normal.Dot(Body::byId(id1)->state->angVel+Body::byId(id2)->state->angVel);
axis                    = angle*currentContactGeometry->normal;

Q3. The position/velocity integration  follows the 2nd order explicit method, as was upgraded by Bruno :). The velocity and angular velocity are in the (t+dt/2) timestep, while the position & acceleration (also rotation) are in the (t) time step.   But it is not adjusted back to the current time step:  v(t) = v(t-dt/2) + v(t+dt/2).   Ommitting this will make the velocities in the simulation ahead of time by dt/2?  Is this alright? Why?

Q4.   I would need 4Matrix/ 5Matrices, and do multiplications Inverse, NewtonRaphson etc...  I can code Newton-Raphson myself if there's no available code, but would like to have libraries for Matrices. The easiest library to use is wildmagiclibrary?  This is for my superquadratic.  Glad that Sergei has solved aspherical rotations. :)  But I'm still learning to code in YADE.  Will take maybe 2-3 months.   I'll look at VTKMarchingCube (Thx Vaclav).

Yours,

CWBoon