Question #703169 on Yade changed: https://answers.launchpad.net/yade/+question/703169
Xu gave more information on the question: Hi Karol and Jan, Thank you for your MWE. It looks like 'utils.getStress()' may give slightly different results for clumps and spheres. However, I have used the clump which is made up of more than 2 spheres (3 or 4 or dozens). The more the number of spheres members in clump, the larger the difference between 'inwork' and 'Etot', when the volum of clump remains the same. And i think the slightly different results of 'utils.getStress()' may not cause such obvious error between input work and microscale energy. Because the value of total microscale energy is more than twice the input work value when the number of clump members reaches 40-50. So that's why I said the cause of the difference may lie in line 20,21 in [1]. As the particle volume remains the same, the radius of sphere member in clump becomes smaller when the number of memeber increases. And the kn and ks calculated in [2] is smaller, hence, the microscale energy computed by [3-4] is larger than the real value. So i guess this is the reason why 'Etot' is larger than 'inwork' . I think my opion may be wrong, but I can't find any other reason. So if you can give me some more reasons for this phenomenan, i would really appreciate it. Best wishes, Xu [1] https://gitlab.com/yade-dev/trunk/-/blob/master/pkg/dem/FrictPhys.cpp#L20-L21 [2] https://gitlab.com/yade-dev/trunk/-/blob/master/pkg/dem/FrictPhys.cpp#L35-L37 [3] https://gitlab.com/yade-dev/trunk/-/blob/master/pkg/dem/ElasticContactLaw.cpp#L91-L94 [4] https://gitlab.com/yade-dev/trunk/-/blob/master/pkg/dem/ElasticContactLaw.cpp#L97-L100 -- 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 : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp