Re: [Yade-dev] Contact between two different materials
Tried to inherit WireMat from FrictMat and using Ip2_FrictMat_FrictMat_FrictPhys() Law2_ScGeom_FrictPhys_CundallStrack() but got this: terminate called after throwing an instance of 'std::runtime_error' what(): Undefined or ambiguous IPhys dispatch for types FrictMat and WireMat. Aborted Any suggestions where the problem could be? Hard to guess just like that. Double-check that all types declarations are correct in macros like YADE_BASE_... and FUNCTOR2D, make sure that there is not a Frict_Wire and a Frict_Frict functor in the same simulation (else it would be ambiguous), compile with debug symbols and set the highest LOG level for dispatcher to get more details on the failure. Others will have better ideas perhaps. Bruno ___ Mailing list: https://launchpad.net/~yade-dev Post to : yade-dev@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-dev More help : https://help.launchpad.net/ListHelp
Re: [Yade-dev] Contact between two different materials
Indeed, my fault. I forgot to change some of the ElastMat to FrictMat in the declaration. Strange that there was no error during compiling. It's working fine now. Thanks a lot Klaus On Tue, 1 Mar 2011 11:55:49 pm Bruno Chareyre wrote: Tried to inherit WireMat from FrictMat and using Ip2_FrictMat_FrictMat_FrictPhys() Law2_ScGeom_FrictPhys_CundallStrack() but got this: terminate called after throwing an instance of 'std::runtime_error' what(): Undefined or ambiguous IPhys dispatch for types FrictMat and WireMat. Aborted Any suggestions where the problem could be? Hard to guess just like that. Double-check that all types declarations are correct in macros like YADE_BASE_... and FUNCTOR2D, make sure that there is not a Frict_Wire and a Frict_Frict functor in the same simulation (else it would be ambiguous), compile with debug symbols and set the highest LOG level for dispatcher to get more details on the failure. Others will have better ideas perhaps. Bruno ___ Mailing list: https://launchpad.net/~yade-dev Post to : yade-dev@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-dev More help : https://help.launchpad.net/ListHelp -- Dr. Klaus Thoeni - Centre for Geotechnical and Materials Modelling Civil, Surveying and Environmental Engineering - Engineering Building EA The University of Newcastle, Callaghan, NSW 2308, Australia web: http://www.newcastle.edu.au/research-centre/cgmm phone: +61 (0)2 4921 5118 ___ Mailing list: https://launchpad.net/~yade-dev Post to : yade-dev@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-dev More help : https://help.launchpad.net/ListHelp
Re: [Yade-dev] Contact between two different materials
I saw that Chiara posted a similar questions last year but I couldn't find any implementation for that. So did anyone already implement something similar? Eh no in the end I did not need to do that so you will be the first. Good luck with that! Chiara Thanks Klaus ___ Mailing list: https://launchpad.net/~yade-dev Post to : yade-dev@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-dev More help : https://help.launchpad.net/ListHelp ___ Mailing list: https://launchpad.net/~yade-dev Post to : yade-dev@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-dev More help : https://help.launchpad.net/ListHelp
Re: [Yade-dev] Contact between two different materials
Hi! Tried to inherit WireMat from FrictMat and using Ip2_FrictMat_FrictMat_FrictPhys() Law2_ScGeom_FrictPhys_CundallStrack() but got this: terminate called after throwing an instance of 'std::runtime_error' what(): Undefined or ambiguous IPhys dispatch for types FrictMat and WireMat. Aborted Any suggestions where the problem could be? Thanks Klaus P.S.: Bruno, your script is not up do date! On Mon, 28 Feb 2011 06:30:12 pm Bruno Chareyre wrote: Hi Klaus, It sounds correct. I think you are the first to do that. I don't know if it will apply in your case, but note that it is possible to make different materials interact without a Ip2_M1_M2_Phys functor, as long as M2 inherits from M1 (or vice-versa). See for instance: https://yade-dem.org/wiki/Screenshots_and_videos#Representing_beams_and_wir es_with_connected_cylinder - spheres and boxes have FrictMat - cylinders have CohFrictMat Cylinders interact with the other shapes even though there is no FrictMat_CohFrictMat functor. Since CohFrictMat inherits from FrictMat, sphere-cylinder and box-cylinder interactions will get FrictPhys from Ip2_FrictMat_FrictMat_FrictPhys, and only cylinder-cylinder interactions will be cohesive. You could use the same strategy by making WireMat inherit from FrictPhys (which would be logical if the WireMat interacts frictionaly with spheres), if you think it is more convenient. For the contact law, same remark: you need an additional contact law _only if_ it will implement a new behaviour, else you can use one of the existing laws (e.g. Law2_ScGeom_FrictPhys_CundallStrack is used for cylinder-sphere interactions). Cheers. Bruno On 28/02/11 06:34, Klaus Thoeni wrote: Hi Guys! I try to implement an interaction between two different materials, e.g. between FrictMat and my WireMat. My first guess would be to implement (in WirePM.cpp): 1. Ip2_WireMat_FrictMat_FrictPhys 2. Law2_ScGeam_FrictPhys_WirePM Any comments or suggestions? I saw that Chiara posted a similar questions last year but I couldn't find any implementation for that. So did anyone already implement something similar? Thanks Klaus ___ Mailing list: https://launchpad.net/~yade-dev Post to : yade-dev@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-dev More help : https://help.launchpad.net/ListHelp -- Dr. Klaus Thoeni - Centre for Geotechnical and Materials Modelling Civil, Surveying and Environmental Engineering - Engineering Building EA The University of Newcastle, Callaghan, NSW 2308, Australia web: http://www.newcastle.edu.au/research-centre/cgmm phone: +61 (0)2 4921 5118 ___ Mailing list: https://launchpad.net/~yade-dev Post to : yade-dev@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-dev More help : https://help.launchpad.net/ListHelp
[Yade-dev] Contact between two different materials
Hi Guys! I try to implement an interaction between two different materials, e.g. between FrictMat and my WireMat. My first guess would be to implement (in WirePM.cpp): 1. Ip2_WireMat_FrictMat_FrictPhys 2. Law2_ScGeam_FrictPhys_WirePM Any comments or suggestions? I saw that Chiara posted a similar questions last year but I couldn't find any implementation for that. So did anyone already implement something similar? Thanks Klaus ___ Mailing list: https://launchpad.net/~yade-dev Post to : yade-dev@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-dev More help : https://help.launchpad.net/ListHelp
Re: [Yade-dev] Contact between two different materials
Hi Klaus, It sounds correct. I think you are the first to do that. I don't know if it will apply in your case, but note that it is possible to make different materials interact without a Ip2_M1_M2_Phys functor, as long as M2 inherits from M1 (or vice-versa). See for instance: https://yade-dem.org/wiki/Screenshots_and_videos#Representing_beams_and_wires_with_connected_cylinder - spheres and boxes have FrictMat - cylinders have CohFrictMat Cylinders interact with the other shapes even though there is no FrictMat_CohFrictMat functor. Since CohFrictMat inherits from FrictMat, sphere-cylinder and box-cylinder interactions will get FrictPhys from Ip2_FrictMat_FrictMat_FrictPhys, and only cylinder-cylinder interactions will be cohesive. You could use the same strategy by making WireMat inherit from FrictPhys (which would be logical if the WireMat interacts frictionaly with spheres), if you think it is more convenient. For the contact law, same remark: you need an additional contact law _only if_ it will implement a new behaviour, else you can use one of the existing laws (e.g. Law2_ScGeom_FrictPhys_CundallStrack is used for cylinder-sphere interactions). Cheers. Bruno On 28/02/11 06:34, Klaus Thoeni wrote: Hi Guys! I try to implement an interaction between two different materials, e.g. between FrictMat and my WireMat. My first guess would be to implement (in WirePM.cpp): 1. Ip2_WireMat_FrictMat_FrictPhys 2. Law2_ScGeam_FrictPhys_WirePM Any comments or suggestions? I saw that Chiara posted a similar questions last year but I couldn't find any implementation for that. So did anyone already implement something similar? Thanks Klaus ___ Mailing list: https://launchpad.net/~yade-dev Post to : yade-dev@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-dev More help : https://help.launchpad.net/ListHelp -- ___ Bruno Chareyre Associate Professor ENSE³ - Grenoble INP Lab. 3SR BP 53 - 38041, Grenoble cedex 9 - France Tél : +33 4 56 52 86 21 Fax : +33 4 76 82 70 43 ___ Mailing list: https://launchpad.net/~yade-dev Post to : yade-dev@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-dev More help : https://help.launchpad.net/ListHelp