New question #694574 on Yade: https://answers.launchpad.net/yade/+question/694574
Hello, I am trying to use the visco-elastic model to do the simulation. I checked the kn calculation in the source file and that in the documentation, then I found that there is a factor 2 difference. In the documentation, the stiffness is kn=2*kn1*kn2/(kn1+kn2), as shown in the following link: https://yade-dem.org/doc/yade.wrapper.html?highlight=law2_scgeom_viscelphys_basic#yade.wrapper.Law2_ScGeom_ViscElPhys_Basic However, in the source file, the Kn is calculated by kn= kn1*kn2/(kn1+kn2), as shown in source file line 279 and 315-323: https://gitlab.com/yade-dev/trunk/-/blob/master/pkg/dem/ViscoelasticPM.cpp 279: phys->kn = contactParameterCalculation(kn1, kn2) 315: Real contactParameterCalculation(const Real& l1, const Real& l2) 316: { 317: // If one of paramaters > 0. we DO NOT return 0 318: Real a = (l1 ? 1 / l1 : 0) + (l2 ? 1 / l2 : 0); 319: if (a) 320: return 1 / a; 321: else 322: return 0; 323: } Why they are different? I know in the DEM configuration, Fn=kn1*dl1=kn2*dl2=kn*(dl1+dl2), and then we get kn=kn1*kn2/(kn1+kn2) by derivation , but this has a requirement that (dl1+dl2) is the length corresponds to kn. However, the penetration depth in YADE is calculated by dl=R1+R2-L where L is the length from sphere1 center to sphere2 center, in this case, dl=1/2*(dl1+dl2). Then F=kn*(dl1+dl2)=kn*(2*dl)=2*kn*dl=2*kn1*kn2/(kn1+kn2)*dl, and the new kn = 2*kn1*kn2/(kn1+kn2), that is exactly the kn expression in documentation. However, in the source file, this factor 2 is missing. Am I thinking correctly? Would you please help me? Thank you! Kind Rrgards, Yuxuan Wen -- You received this question notification because your team yade-users is an answer contact for Yade. _______________________________________________ Mailing list: https://launchpad.net/~yade-users Post to : [email protected] Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp

