Ambiguous dispatch : too much laws ?
Dear all,
I'm using a modified version of yadedaily from the 24th of May. The modification only affect the behavior of DragEngine (allowing the input of a velocity for relative force computing).
After modeling a viscous flow using YADE lubrication law, I recently try to mix 2 scripts :
- my script that models a flow along a channel impacting a rigid wall
- the script of my colleague that models a flexible barrier made of gridNode and gridConnection
Both works perfectly when they are run on their side but it appears errors when I mixed them.
I mixed this 2 Engine routine :
### Viscous Flow ###
....
InsertionSortCo
Bo1_Sphere_
Bo1_Box_Aabb(),
Bo1_Wall_Aabb()],
verletDist=-0.1,
allowBiggerTh
InteractionLoop(
[
Ig2_Sphere_
Ig2_Box_
],
[
Ip2_FrictMat_
],
[
Law2_
activateN
activateT
activateT
activateR
theta=
resolutio
warnedOnc
maxSubSte
NewtonRaf
debug=False)
]),
....
### Flexible barrier ###
....
InsertionSortCo
Bo1_PFacet_
Bo1_Sphere_
Bo1_GridConne
]),
InteractionLoop([
Ig2_Sphere_
Ig2_GridNode_
Ig2_GridConne
Ig2_Sphere_
Ig2_GridConne
Ig2_Sphere_
Ig2_PFacet_
],
[
Ip2_WireMat_
Ip2_CohFrictM
Ip2_FrictMat_
],
[
Law2_
Law2_
Law2_
Law2_
Law2_
]
),
...
In this :
....
InsertionSortCo
Bo1_PFacet_
Bo1_Sphere_
Bo1_GridConne
Bo1_Wall_Aabb(),
Bo1_Box_Aabb()],
verletDist=-0.1,
allowBiggerTh
),
InteractionLoop([
Ig2_Sphere_
Ig2_GridNode_
Ig2_GridConne
Ig2_Sphere_
Ig2_GridConne
Ig2_Sphere_
Ig2_PFacet_
Ig2_Sphere_
Ig2_Box_
],
[
Ip2_WireMat_
Ip2_CohFrictM
Ip2_FrictMat_
Ip2_FrictMat_
],
[
Law2_
Law2_
Law2_
Law2_
Law2_
Law2_
activateN
activateT
activateT
activateR
theta=
resolutio
warnedOnc
maxSubSte
NewtonRaf
debug=False)
]
),
....
It results with this error when I try to run the script :
Yade [1]: /home/godetnico
AMBIGUOUS: 0+8 -> Law2_ScGeom_
AMBIGUOUS: 1+3 -> Law2_ScGeom_
AMBIGUOUS: 2+5 -> Law2_ScGeom6D_
AMBIGUOUS: 6+3 -> Law2_GridCoGrid
AMBIGUOUS: 6+8 -> Law2_GridCoGrid
AMBIGUOUS: 7+5 -> Law2_ScGeom6D_
AMBIGUOUS: 11+3 -> Law2_ScGridCoGe
AMBIGUOUS: 11+8 -> Law2_ScGridCoGe
terminate called after throwing an instance of 'std::runtime_
what(): Ambiguous dispatch.
Abandon (core dumped)
It seems that there is too much laws in my engine routine (YADE is not able to assign to correct law to an interaction ?) but they are all necessary for the proper functioning of the system...
I know also that the order of the different element inside O.engine matter (for example, [Law1(),Law2()] work perfectly but [Law2(),Law1()] result in an error...).
I don't know what additional informations I could give so don't hesitate to ask for, in case.
Thanks in advance !
Nicolas
Question information
- Language:
- English Edit question
- Status:
- Solved
- For:
- Yade Edit question
- Assignee:
- No assignee Edit question
- Solved by:
- Nicolas Godet
- Solved:
- Last query:
- Last reply: