Re: [Yade-users] [Question #658037]: Incorporating Multiple Interaction Physics on Bodies
Question #658037 on Yade changed: https://answers.launchpad.net/yade/+question/658037 Austin Sutton posted a new comment: Bruno, --> "Yes. Move "gamma" parameter from Ip2_FrictMat_FrictMat_MindlinPhys to HertzMat, set gamma=0 for facets and make sure Ip2_HertzMat_HertzMat_MindlinPhys will define "per interaction" gamma as min(mat1->gamma, mat2->gamma) or something like that (just like it is done for friction or adhesion in many functors). In which case the engines loop would need just one Ip2 and just one Law2; IP2_HertzMat_HertzMat_MindlinPhys() and Law2_ScGeom_MindlinPhys_Mindlin()." I understand now. I'm not the most familiar with C++, but if I need to take this route then I'll put in the time to modify the source code for my needs. This conversation has helped me a lot. Thank you for your help. -- 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
Re: [Yade-users] [Question #658037]: Incorporating Multiple Interaction Physics on Bodies
Question #658037 on Yade changed: https://answers.launchpad.net/yade/+question/658037 Bruno Chareyre proposed the following answer: >would the interaction loop look as follows? Exactly. >So, is there a way to add only adhesion between the particles using Hertz-Mindlin contact? Yes. Move "gamma" parameter from Ip2_FrictMat_FrictMat_MindlinPhys to HertzMat, set gamma=0 for facets and make sure Ip2_HertzMat_HertzMat_MindlinPhys will define "per interaction" gamma as min(mat1->gamma, mat2->gamma) or something like that (just like it is done for friction or adhesion in many functors). In which case the engines loop would need just one Ip2 and just one Law2; IP2_HertzMat_HertzMat_MindlinPhys() and Law2_ScGeom_MindlinPhys_Mindlin(). Looking at HertzMindlin.hpp I realize that the implementation over-uses the trick of putting the material parameters in the Ip2 functor instead of material class (viscosity, adhesion, stiffness...). This is simpler on short term but not good practice in general, you just found why... A "HertzMat" should have been introduced in the first place to keep those parameters. If you are doing a step in this direction we can consider including your changes later (for the first method I mentioned in #1 commiting was not an option since it involves mainly code duplication). Bruno -- 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
Re: [Yade-users] [Question #658037]: Incorporating Multiple Interaction Physics on Bodies
Question #658037 on Yade changed: https://answers.launchpad.net/yade/+question/658037 Austin Sutton posted a new comment: Bruno, Thank you for the detailed response. I figured that such a solution would not be as simple as changing some settings in the interaction loop, but I wanted to make sure before I tried modifying the source code. If I implemented the solution you proposed, would the interaction loop look as follows? O.engines=[ ForceResetter(), InsertionSortCollider([Bo1_Sphere_Aabb(),Bo1_Facet_Aabb()]), InteractionLoop( [Ig2_Facet_Sphere_ScGeom(),Ig2_Sphere_Sphere_ScGeom()], [Ip2_FrictMat_FrictMat_FrictPhys,IP2_HertzMat_HertzMat_MindlinPhys()], [Law2_ScGeom_FrictPhys_CundallStrack,Law2_ScGeom_MindlinPhys_Mindlin()]) NewtonIntegrator(gravity=(0,-9.81,0),damping=0)] --> "p.s. On a more physical aspect, I am wondering why sphere-facet contacts should not follow Hertz-Mindlin. Theoretically it makes no difference if one object in contact is a flat surface." You're correct. The reason why I am doing this is because I want to add adhesion through the DMT formulation (i.e. specifying the surface energy, gamma) for particle-particle interactions. With my current script, specifying the surface energy will apply adhesion not only to the interacting particles, but also between particles and the facets, which is undesirable at the moment. So, is there a way to add only adhesion between the particles using Hertz-Mindlin contact? Thanks! -- 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
Re: [Yade-users] [Question #658070]: from start: Segmentation fault (core dumped)
Question #658070 on Yade changed: https://answers.launchpad.net/yade/+question/658070 Status: Open => Answered Bruno Chareyre proposed the following answer: Hello, It is unusual that a debug build just segfaults. Could you please make sure you are really running a debug build? E.g. do you see "-g" in the compiler options (in the output of cmake)? Are you sure you installed and executed the right binary? Is the "debug" build much bigger (in disk space) than non-debug? Beyond that, did you recompile from scratch (cmake+make) in a fresh directory? and isn't there a specific problem reported by cmake? Bruno -- 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
Re: [Yade-users] [Question #658037]: Incorporating Multiple Interaction Physics on Bodies
Question #658037 on Yade changed: https://answers.launchpad.net/yade/+question/658037 Status: Open => Answered Bruno Chareyre proposed the following answer: Hi, The short answer is "no", there is no trivial solution. Yade handles this problem gracefully only if the material properties are of different types (e.g. FrictMat vs. CohFrictMat), which is not your case. I don't see any solution without touching the source code. If no one else come up with a better solution, you could do this: 1. Derive (in the sense of class inheritance) a Material class called e.g. "HertzMat" and inheriting from FrictMat. 2. Duplicate the content of IP2_FrictMat_FrictMat_MindlinPhys.cpp/hpp into files IP2_HertzMat_HertzMat_MindlinPhys.cpp/hpp and replace FrictMat by HertzMat wherever it appears ___ end of changes in source code ___ 3. In your script, assign FrictMat for facets and HetzMat for spheres + use the functors IP2_FrictMat_FrictMat_FrictPhys and IP2_HertzMat_HertzMat_MindlinPhys concurently. It will generate FrictPhys interactions for all pairs (sphere-facet) which are not HertzMat vs. HertzMat, and MindlinPhys interactions for the rest (sphere-sphere). 4. Introduce both Law2_ScGeom_FrictPhys_CundallStrack and Law2_ScGeom_MindlinPhys_Mindlin in the same script, the first will pick-up the facet-sphere contacts. Let us know if you need more detailed explanation. Regards Bruno p.s. On a more physical aspect, I am wondering why sphere-facet contacts should not follow Hertz-Mindlin. Theoretically it makes no difference if one object in contact is a flat surface. -- 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
[Yade-users] [Question #658070]: from start: Segmentation fault (core dumped)
New question #658070 on Yade: https://answers.launchpad.net/yade/+question/658070 I have just updated Opoensuse leap from 42.2 and 42.3 and I got a strange problem : I am still able to compile the yade code without error-crash BUT I got immediately the " Segmentation fault (core dumped)" message without more comment or explanation. I compiled after the the DEBUG option but the results is the same : no information, no way to found where is the problem?? could you give me some hints where and to find the problem. Thanks Luc -- 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