Question about parallel calculation of Yade when using Polyhedra particle.

Asked by Henry

Dear all,
    I'm using the Polyhedra particles to simulate the free fall of blocks. And the objects in the model include facet and Polyhedra.
    When I use the single thread (yade file.py), there is no errors. However, if I use the multi threads (yade -j4 file.py), there are some errors:

    ERROR /home/Yade/pkg/common/InsertionSortCollider.cpp:65 insertionSortParallel: Parallel insertion sort needs verletDist>0
   ERROR /home/Yade/pkg/common/InsertionSortCollider.cpp:65 insertionSortParallel: Parallel insertion sort needs verletDist>0
   ERROR /home/Yade/pkg/common/InsertionSortCollider.cpp:65 insertionSortParallel: Parallel insertion sort needs verletDist>0

Anyone can tell me the reason?
Thanks a lot!
Henry

Question information

Language:
English Edit question
Status:
Answered
For:
Yade Edit question
Assignee:
No assignee Edit question
Last query:
Last reply:
Revision history for this message
Henry (wenjiexu) said :
#1

Furthermore, there is another error:

terminate called after throwing an instance of 'CGAL::Assertion_exception'
terminate called recursively
  what(): CGAL ERROR: assertion violation!
Expr: is_finite(d)
File: /usr/include/CGAL/GMP/Gmpq_type.h
Line: 168
Aborted (core dumped)

Thanks a lot!

Revision history for this message
Jan Stránský (honzik) said :
#2

Hi Henry,

when having errors, always try to find the very first one. The rest might
just be the result of the first one. If I read the code correctly, you
should have got this error prior to the mentioned by you:

verletDist is set to 0 because no spheres were found. It will result in
suboptimal performances, consider setting a positive verletDist in your
script

by default, value of InsertionSortCollider.verletDist is -0.5. If the
simulation contains spherical particles, it is somehow computed from
spheres automatically. If there are no spheres, then you got the error. A
solution (not tested) is to set it manually, i.e.

O.engines = [
  ...
  InsertionSortCollider(verletDist=0.1,...),
  ...
]

Concerning the second error, what version of Yade do you use? I got the
same error some time ago, then I updated to the newer Yade git version and
the error disappeared..

cheers
Jan

2015-06-15 9:46 GMT+02:00 Henry <email address hidden>:

> Question #268152 on Yade changed:
> https://answers.launchpad.net/yade/+question/268152
>
> Henry posted a new comment:
>
> Furthermore, there is another error:
>
> terminate called after throwing an instance of 'CGAL::Assertion_exception'
> terminate called recursively
> what(): CGAL ERROR: assertion violation!
> Expr: is_finite(d)
> File: /usr/include/CGAL/GMP/Gmpq_type.h
> Line: 168
> Aborted (core dumped)
>
>
> Thanks a lot!
>
> --
> You received this question notification because you are a member of
> yade-users, which is an answer contact for Yade.
>
> _______________________________________________
> Mailing list: https://launchpad.net/~yade-users
> Post to : <email address hidden>
> Unsubscribe : https://launchpad.net/~yade-users
> More help : https://help.launchpad.net/ListHelp
>

Revision history for this message
Henry (wenjiexu) said :
#3

Many thanks to Dr. Jan.

For the second error, I found there is an resolution method. But my OS is Ubuntu 15.04, and I can't install libqcgal-dev.

Warning

If you have Ubuntu 14.04 Trusty, you need to install libqcgal-dev from our external PPA. Otherwise the following error occurs on AMD64 architectures:

terminate called after throwing an instance of 'CGAL::Assertion_exception'
what(): CGAL ERROR: assertion violation!
Expr: -CGAL_IA_MUL(-1.1, 10.1) != CGAL_IA_MUL(1.1, 10.1)
File: /usr/include/CGAL/Interval_nt.h
Line: 209
Explanation: Wrong rounding: did you forget the -frounding-math option if you use GCC (or -fp-model strict for Intel)?
Aborted

Revision history for this message
Anton Gladky (gladky-anton) said :
#4

Are you able to test yadedaily and report, whether you get the
same error there?

Revision history for this message
Henry (wenjiexu) said :
#5

Yes, I use the "Yade 2015-06-15.git-f44c022 " and "Yadedaily",there are all have the same error.

Thanks a lot!

Revision history for this message
Anton Gladky (gladky-anton) said :
#6

2015-06-15 16:31 GMT+02:00 Henry <email address hidden>:
> terminate called after throwing an instance of 'CGAL::Assertion_exception'
> what(): CGAL ERROR: assertion violation!
> Expr: -CGAL_IA_MUL(-1.1, 10.1) != CGAL_IA_MUL(1.1, 10.1)
> File: /usr/include/CGAL/Interval_nt.h
> Line: 209

Hmm, it looks like it has nothing common with the case, mentioned in
documentation. Please provide the minimal working script and open a bug.
You can use Launchpad for that or GitHub issue tracker [1].

[1] https://github.com/yade/trunk/issues

Anton

Revision history for this message
Jan Stránský (honzik) said :
#7

Hi Henry,

I am sorry for confusion and thanks for reminder. I solved the second error
exactly by adding -frounding-math to the compiler options, i.e.

cmake ... -DCMAKE_CXX_FLAGS="-frounding-math" ...

cheers
Jan

2015-06-15 17:31 GMT+02:00 Anton Gladky <
<email address hidden>>:

> Question #268152 on Yade changed:
> https://answers.launchpad.net/yade/+question/268152
>
> Status: Open => Answered
>
> Anton Gladky proposed the following answer:
> 2015-06-15 16:31 GMT+02:00 Henry <email address hidden>:
> > terminate called after throwing an instance of
> 'CGAL::Assertion_exception'
> > what(): CGAL ERROR: assertion violation!
> > Expr: -CGAL_IA_MUL(-1.1, 10.1) != CGAL_IA_MUL(1.1, 10.1)
> > File: /usr/include/CGAL/Interval_nt.h
> > Line: 209
>
> Hmm, it looks like it has nothing common with the case, mentioned in
> documentation. Please provide the minimal working script and open a bug.
> You can use Launchpad for that or GitHub issue tracker [1].
>
> [1] https://github.com/yade/trunk/issues
>
> Anton
>
> --
> You received this question notification because you are a member of
> yade-users, which is an answer contact for Yade.
>
> _______________________________________________
> Mailing list: https://launchpad.net/~yade-users
> Post to : <email address hidden>
> Unsubscribe : https://launchpad.net/~yade-users
> More help : https://help.launchpad.net/ListHelp
>

Revision history for this message
Henry (wenjiexu) said :
#8

Many thanks to Dr. Jan. But there still has this error, even though I have rebuild my Yade again according your suggestion.
And only when the number polyhedra particles is larger (for example larger than 2000).
Thanks a lot!

Henry

Revision history for this message
Jan Stránský (honzik) said :
#9

What exactly does "rebuild" mean? Did you run make clean or deleted the
build directory? I am not sure that mere "cmake ...; make" would work..
Jan

2015-06-16 7:41 GMT+02:00 Henry <email address hidden>:

> Question #268152 on Yade changed:
> https://answers.launchpad.net/yade/+question/268152
>
> Status: Answered => Open
>
> Henry is still having a problem:
> Many thanks to Dr. Jan. But there still has this error, even though I have
> rebuild my Yade again according your suggestion.
> And only when the number polyhedra particles is larger (for example larger
> than 2000).
> Thanks a lot!
>
> Henry
>
> --
> You received this question notification because you are a member of
> yade-users, which is an answer contact for Yade.
>
> _______________________________________________
> Mailing list: https://launchpad.net/~yade-users
> Post to : <email address hidden>
> Unsubscribe : https://launchpad.net/~yade-users
> More help : https://help.launchpad.net/ListHelp
>

Can you help with this problem?

Provide an answer of your own, or ask Henry for more information if necessary.

To post a message you must log in.