← Back to team overview

yade-users team mailing list archive

Re: DEM equations, written down.


Up on this one. I don't see how formulas for incremental shear
computation you present in the pdf [3] correspond to the code. IIRC
those formulas were supposed to describe CohesiveFrictionalLaw, right?
In particular:

(14), (15) compute ΔV_s and ΔX_s. Fair enough.

(16) is supposed to update shear force F_s (vector):


but this is not correct, since you add ΔX_s (which is in the _current_
contact plane) to F_s (which is shear force from the previous step, i.e.
in the _previous_ contact plane)!! Not a single word about transforming
F_s to the current plane first, which must be done and really happens in
yade code [2].

Anyone has a good reference to a serious (preferrably reviewed &
published) paper [1] describing the incremental algorithm accurately?
(I'm writing a few lines about different algorithms to compute shear
strain in yade).




[1] I know about F. Alonso-Marroquin &co: Micro-mechanical investigation
of the granular ratcheting. It has nothing to say about this, since they
never show how they evaluate the integral (2) expressing total shear

[2] pkg/dem/Engine/GlobalEngine/CohesiveFrictionalContactLaw.cpp:102:

	axis    = currentContactPhysics->prevNormal.Cross ( currentContactGeometry->normal );
	shearForce         -= shearForce.Cross ( axis );
	angle    = dt*0.5*currentContactGeometry->normal.Dot ( Body::byId ( id1 )->state->angVel+Body::byId ( id2 )->state->angVel );
	axis    = angle*currentContactGeometry->normal;
	shearForce         -= shearForce.Cross ( axis );
	// the comes the part described in (14) and (15)

[3] https://lists.launchpad.net/yade-users/pdfEgGt5bLIql.pdf

Follow ups