← Back to team overview

yade-users team mailing list archive

Re: [Question #153589]: Adding an IGeomFunctor subclass

 

Question #153589 on Yade changed:
https://answers.launchpad.net/yade/+question/153589

Kneib François gave more information on the question:
Hi,

I have a new segmentation error now ... It happens when the cohfrictmat
sphere touches the cohfrictmat cylinder. The debug mode gave this
assertion error :

python: /home/francoisk/yade/pkg/common/InteractionLoop.cpp :147 : virtual void InteractionLoop::action():  L'assertion « I->phys » a échoué.
(...)
#7  0x00007f90ba720941 in *__GI___assert_fail (assertion=0x7f90a53e6316 "I->phys", file=<value optimized out>, line=146, function=0x7f90a53e6240 "virtual void InteractionLoop::action()") at assert.c:81

This error should only appears when the physics of a contact doesn't
exist, isn't it ?

So I looked in Ip2_CohFrictMat_CohFrictMat_CohFrictPhys class, and I've
seen that a cast is made :

ScGeom6D* geom = YADE_CAST<ScGeom6D*>(interaction->geom.get());

I think the geometry that I use (CylScGeom6D) enters in conflict with
that so the physic of the contact is never initialized.

Do you have an idea for solving this ?

I notice that :
- I can't include Cylinder.hpp in Ip2_CohFrictMat_CohFrictMat_CohFrictPhys.cpp because of the same dependency cycle error as below.
- I think I can't re-write an Ip2_CohFrictMat_CohFrictMat_CohFrictPhys class specially for cylinders because the functor linking two CohFrictMat will be doubled.

Thanks

-- 
You received this question notification because you are a member of
yade-users, which is an answer contact for Yade.