Re: [Yade-dev] Contact between two different materials

2011-03-01 Thread Bruno Chareyre

 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

2011-03-01 Thread Klaus Thoeni
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

2011-02-28 Thread Chiara Modenese
 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

2011-02-28 Thread Klaus Thoeni
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

2011-02-27 Thread Klaus Thoeni
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

2011-02-27 Thread Bruno Chareyre
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