← Back to team overview

yade-users team mailing list archive

Re: [Question #691009]: et for ViscElMat with Law2_ScGeom_ViscElPhys_Basic, bug or feature?

 

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

    Status: Answered => Open

Daniel Kiracofe is still having a problem:
Robert, the documentation I'm referring to this here: https://yade-
dem.org/doc/yade.wrapper.html#yade.wrapper.Law2_ScGeom_ViscElPhys_Basic

There are four different cases.  I'm trying to do the fourth one:

"If Yound modulus (young), poisson’s ratio (poisson), normal and
tangential restitution coefficient (en,et) are precised, the equivalent
stiffnesses are evaluated as previously: Kn=2kn1kn2kn1+kn2, knx=Exdx,
Ks=2(ks1ks2)/(ks1+ks2), ksx=vknx. The damping constant is computed at
each contact in order to fulfill the normal restitution coefficient
en=(en1en2)/(en1+en2). This is achieved resolving numerically equation
21 of [Schwager2007] (There is in fact a mistake in the article from
equation 18 to 19, so that there is a change in sign). Be careful in
this configuration the tangential restitution coefficient is set to 1
(no tangential damping). This formulation imposes directly the normal
restitution coefficient of the collisions instead of the damping
constant."

The relevant line in the code is https://gitlab.com/yade-
dev/trunk/-/blob/master/pkg/dem/ViscoelasticPM.cpp#L263 and the
following 3 lines.

if et and en are specified, cn is calculated from en, and cs is set to
zero (so et is ignored).  But if either et or en is omitted, then both
cs and cn are not set to anything (so default zero).

so why not just change line 263 to be:

} else if (isfinite(mat1->en) ) {

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