Error in the calculation of polyhedral particles
Hello everyone,
I am writing to seek help with using the Yade from source code on Ubuntu 18.04. The source code was downloaded on February 23, 2023.When a polyhedral particle model is established for calculation, the following error will be reported: <WARNING> Polyhedra_
Please help me to solve the above mentioned problem.
Thanks in advance,
Regards,
Wang
Question information
- Language:
- English Edit question
- Status:
- Solved
- For:
- Yade Edit question
- Assignee:
- No assignee Edit question
- Solved by:
- Jérôme Duriez
- Solved:
- Last query:
- Last reply:
Revision history for this message
![]() |
#2 |
The code for this polyhedron model is as follows:
*******
from yade import pack,qt,
from yade import *
import numpy
from pprint import pprint
import random
from random import uniform
from random import randint
from math import *
matP = PolyhedraMat() #the material of wall
matP.density = 7800 #kg/m^3
matP.young = 5.5E8 #10 time biger
matP.poisson = 0.21
matP.fionAngle = 0.03 #0.65
O.materials.
steel = PolyhedraMat() #the material of plate
steel.density = 2000 #kg/m^3 in order to ignore the gravity of plate
steel.young = 1E9 #inital steel was ,try
steel.poisson = 0.21
steel.frictionAngle = 0.3 #rad
O.materials.
global a
a=1
#length unit: m; using stander unit
O.bodies.
O.bodies.
O.bodies.
O.bodies.
O.bodies.
'''sp=pack.
sp.makeCloud(
sp.toSimulation
ldplt1=
ldplt2=
ldplt3=
ldplt4=
ldplt5=
ldplt6=
ldplt7=
ldplt8=
ldplt9=
ldplt10=
ldplt11=
ldplt12=
ldplt13=
ldplt14=
ldplt15=
ldplt16=
O.bodies.
O.bodies.
O.bodies.
O.bodies.
O.bodies.
O.bodies.
O.bodies.
O.bodies.
O.bodies.
O.bodies.
O.bodies.
O.bodies.
O.bodies.
O.bodies.
O.bodies.
O.bodies.
O.timingEnabled
O.engines=[
ForceResetter(),
InsertionSortC
InteractionLoop(
[Ig2_
[Ip2_
[Law2_
),
NewtonIntegrat
PyRunner(
PyRunner(
PyRunner(
]
def cycle():
for b in O.bodies:
if isinstance(
if b.state.pos[0] < 0 or b.state.pos[0] > 0.4:
O.bodies.
elif b.state.pos[1] <0 or b.state.pos[1] > 0.4:
O.bodies.
elif b.state.pos[2] < -0.15 or b.state.pos[2] > 0.85:
O.bodies.
else:
pass
def Compact():
global a
if a == 1:
l=O.bodies[
if l>0.8 : return#!
ldpltheight=
print ("pos=%
height=
ldplt=
O.bodies.
a=a+1
elif a == 2:
Lastnum=
O.bodies[
O.forces.
a=a+1
elif a == 3:
Lastnum=
plateF=
print ("Load= %.5f"%(plateF))
h=O.bodies[
print ("h=%.8f"%(h))
print ("force")
if h<0:#!
O.pause()
else:
if utils.unbalance
a=a+1
elif a == 4:
Lastnum=
O.bodies[
plateF=
print ("Load= %.5f"%(plateF))
h=O.bodies[
print ("h=%.8f"%(h))
print ("vel")
if h>0:return#!
O.pause()
def save():
export.
pass
O.dt=5E-7
yade.timing.stats()
Revision history for this message
![]() |
#3 |
Hi,
In my experience (CGAL version 4.11 to 5.02), using Polyhedra is currently at a significant risk of obtaining execution errors / crashes, see https:/
You can tell us your exact YADE / CGAL version to try to see if your own issue can be related. (see printAllVersions() in YADE terminal)
Revision history for this message
![]() |
#4 |
Hello,
Thanks for your last answer. My YADE version is yade-2023-
Thanks in advance,
Regards,
Wang
Revision history for this message
![]() |
#5 |
As far as I'm concerned, I do not know any solution (downgrading CGAL could be attempted, though not a good idea for possible long-term perspectives, if any)
Revision history for this message
![]() |
#6 |
Thanks Jérôme Duriez, that solved my question.