Polyhedra Elements, Infinite Loop.

Asked by MikeZhao

I have been working on building finite-discrete element model to simulate fracture generation, and polyhedra elements in yade are used for DEM.

After several steps, it seems that an infinite loop occurs when yade.O.step() is called. I want to trace back to the source of this bug, but it seems O.step() has called several functions in boost library, and it is hard for me to understand what codes in Yade are involved for O.step().

Could you please give me some advice on locating this bug? It will be very helpful if someone can tell my what codes in Yade are called for O.step().

By the way, the engine I used is as following:
O.engines = [
 ForceResetter(),
 InsertionSortCollider([Bo1_Polyhedra_Aabb()]),
 InteractionLoop(
  [Ig2_Polyhedra_Polyhedra_PolyhedraGeom()],
  [Ip2_PolyhedraMat_PolyhedraMat_PolyhedraPhys()],
  [PolyhedraVolumetricLaw()]
 ),
 NewtonIntegrator(damping=0),
]

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
Jan Stránský (honzik) said :
#1

Hi Mike,
according to PolyhedraVolumetricLaw (which was renamed to
Law2_PolyhedraGeom_PolyhedraPhys_Volumetric), it seems you have an older
version of Yade. Since then, there were some changes in polyhedra code. Is
it possible for you to try the script with some newer version?
cheers
Jan

2016-05-08 8:57 GMT+02:00 MikeZhao <email address hidden>:

> New question #293445 on Yade:
> https://answers.launchpad.net/yade/+question/293445
>
> I have been working on building finite-discrete element model to simulate
> fracture generation, and polyhedra elements in yade are used for DEM.
>
> After several steps, it seems that an infinite loop occurs when
> yade.O.step() is called. I want to trace back to the source of this bug,
> but it seems O.step() has called several functions in boost library, and it
> is hard for me to understand what codes in Yade are involved for O.step().
>
> Could you please give me some advice on locating this bug? It will be very
> helpful if someone can tell my what codes in Yade are called for O.step().
>
> By the way, the engine I used is as following:
> O.engines = [
> ForceResetter(),
> InsertionSortCollider([Bo1_Polyhedra_Aabb()]),
> InteractionLoop(
> [Ig2_Polyhedra_Polyhedra_PolyhedraGeom()],
> [Ip2_PolyhedraMat_PolyhedraMat_PolyhedraPhys()],
> [PolyhedraVolumetricLaw()]
> ),
> NewtonIntegrator(damping=0),
> ]
>
> --
> You received this question notification because your team yade-users 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
Anton Gladky (gladky-anton) said :
#2

You can try yadedaily which is updating permanently now
for most supported Debian-based distributions.

Best regards

Anton

Revision history for this message
MikeZhao (zhaoyang12) said :
#3

I have updated yade, using trunk-master. However, this problem still exists:

The speed of my calculation is about 5 steps per second, however when it comes to a certain step, it will hold there while the usage of CPU remains 100%. I am pretty sure that this program encountered an infinite loop when yade.O.step() is called..

Revision history for this message
MikeZhao (zhaoyang12) said :
#4

The new engine is as following:
O.engines = [
 ForceResetter(),
 InsertionSortCollider([Bo1_Polyhedra_Aabb()]),
 InteractionLoop(
  [Ig2_Polyhedra_Polyhedra_PolyhedraGeom()],
  [Ip2_PolyhedraMat_PolyhedraMat_PolyhedraPhys()],
  [Law2_PolyhedraGeom_PolyhedraPhys_Volumetric()]
 ),
 NewtonIntegrator(damping=0),
]

According to my test, this bug happens during Yade.O.step().

I have added several cout codes at the begining and the end of several places. It turns out that this bug doesn't locate in Ig2_Polyhedra_Polyhedra_PolyhedraGeom::go, Ip2_PolyhedraMat_PolyhedraMat_PolyhedraPhys::go or Law2_PolyhedraGeom_PolyhedraPhys_Volumetric::go.

Could anybody tell me where this bug possibly locate? Thanks a lot.

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

Hi Mike,
could you please provide a complete script which does this problem?
Thanks
Jan

2016-05-09 7:52 GMT+02:00 MikeZhao <email address hidden>:

> Question #293445 on Yade changed:
> https://answers.launchpad.net/yade/+question/293445
>
> MikeZhao gave more information on the question:
> The new engine is as following:
> O.engines = [
> ForceResetter(),
> InsertionSortCollider([Bo1_Polyhedra_Aabb()]),
> InteractionLoop(
> [Ig2_Polyhedra_Polyhedra_PolyhedraGeom()],
> [Ip2_PolyhedraMat_PolyhedraMat_PolyhedraPhys()],
> [Law2_PolyhedraGeom_PolyhedraPhys_Volumetric()]
> ),
> NewtonIntegrator(damping=0),
> ]
>
> According to my test, this bug happens during Yade.O.step().
>
> I have added several cout codes at the begining and the end of several
> places. It turns out that this bug doesn't locate in
> Ig2_Polyhedra_Polyhedra_PolyhedraGeom::go,
> Ip2_PolyhedraMat_PolyhedraMat_PolyhedraPhys::go or
> Law2_PolyhedraGeom_PolyhedraPhys_Volumetric::go.
>
> Could anybody tell me where this bug possibly locate? Thanks a lot.
>
> --
> You received this question notification because your team yade-users 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
MikeZhao (zhaoyang12) said :
#6

Eh, it is hard for me to provide an example, since I was building a FE-DE model, another FEM software OOFEM is included in my calculation.

But this bug did occur within Yade, as I have added several cout codes to locate this bug. This bug did occur when yade.O.step() is called.

I want to trace back to the source of this bug, but it seems O.step() has used several function in boost library, so it's hard for me to understand what actions O.step() actually contain within yade.

So I hope maybe you could tell me what codes are called for O.step(), and I could better locate this bug.

Revision history for this message
MikeZhao (zhaoyang12) said :
#7

I will try if I could provide an example.

Revision history for this message
MikeZhao (zhaoyang12) said :
#8

####Hi, I have tried to reproduce this bug, and the script is as following:##############################

from libyade import yade
from yade import *

mat = PolyhedraMat()
mat.density = 2600 * 10e15 #kg/m^3
mat.Ks = 1.5e8
mat.Kn = 2E9 #Pa
mat.frictionAngle = 0.5 #rad
yade.O.materials.append(mat)
coords = dict()
coords[0] = [yade.Vector3(0.12506498908304559,0.004170586360067608,0.04718878419835185),
  yade.Vector3(0.07196917639353285,0.002130673955178613,0.04829019846239369),
  yade.Vector3(0.12452553414402667,0.05548698237982243,0.09674610334959563),
  yade.Vector3(0.10202107066713305,0.003501573781327025,0.09778836768091179)]
coords[1] = [yade.Vector3(0.14295032259085494,-0.006505603044225198,0.10466693700014766),
  yade.Vector3(0.11566808726849623,0.04373180022224347,0.10573503009510624),
  yade.Vector3(0.09295451012074624,-0.008001021823003239,0.10600124068861566),
  yade.Vector3(0.11621529452629992,-0.007042223507702154,0.05542740653091893)]
coords[2] = [yade.Vector3(0.2130315465641754,0.09686131087477995,0.053289505254753),
  yade.Vector3(0.164020561929353,0.04648070412681492,0.004219224080575502),
  yade.Vector3(0.1862772963099485,0.09652671335229797,0.00417259537268409),
  yade.Vector3(0.16288263942085443,0.09471008739327443,0.055098349410302505)]
coords[3] = [yade.Vector3(0.17228834709600793,0.10610590338541123,0.04456793567930975),
  yade.Vector3(0.17280626014182954,0.056807096563525575,-0.00527106604700384),
  yade.Vector3(0.19547690664041997,0.1064874328191193,-0.006528797650868522),
  yade.Vector3(0.1454828764592455,0.10501383881798207,-0.004532778418338768)]
coords[4] = [yade.Vector3(0.12518512144479108,0.004202482634043023,0.047282108263384234),
  yade.Vector3(0.07215900355266172,0.0022067170630582396,0.048405189227085095),
  yade.Vector3(0.09927440181878336,0.002841487802841776,-0.0020490482509290323),
  yade.Vector3(0.12194553936223902,0.053900337377603164,-0.003137962336613641)]
coords[5] = [yade.Vector3(0.1230094368221373,-0.01217837847454617,0.0385941766299165),
  yade.Vector3(0.09606163246660983,-0.009341849627069044,-0.010265958898953698),
  yade.Vector3(0.14605505129391785,-0.007892828978239817,-0.012758832943173034),
  yade.Vector3(0.1191666025858279,0.04146035772028468,-0.007885859751166355)]
coords[6] = [yade.Vector3(0.11631337631682945,-0.0072190647263523505,0.05526504476519887),
  yade.Vector3(0.11546679195549954,0.04339612477093768,0.10546948815801681),
  yade.Vector3(0.16283607913807063,0.09468384437456645,0.054801725781359986),
  yade.Vector3(0.1660494458383337,0.04445695707723045,0.10422688539183134)]
coords[7] = [yade.Vector3(0.12517826549319078,0.004210666781740674,0.04713033641567168),
  yade.Vector3(0.12503175035775993,0.05566147427541226,0.09662450106256898),
  yade.Vector3(0.1218967526875405,0.054092789281228446,-0.0033114695372207723),
  yade.Vector3(0.1723941910681486,0.10613783179410324,0.04465530410432424)]
coords[8] = [yade.Vector3(0.16282407041415756,0.0946878041824045,0.054807634434872056),
  yade.Vector3(0.1660391862703065,0.044454782962754805,0.10419776714643575),
  yade.Vector3(0.1641981030564517,0.04610198242630093,0.004203199959939556),
  yade.Vector3(0.11627599902436038,-0.007311015046615452,0.05527225087207195)]
coords[9] = [yade.Vector3(0.1255192872383347,0.004248839377251908,0.04705512287925926),
  yade.Vector3(0.12177640027256077,0.05401449241996102,-0.003310973765333125),
  yade.Vector3(0.17288309620166054,0.0567881426706257,-0.005251109507840107),
  yade.Vector3(0.17239800601486288,0.10615025111591658,0.04466410423643576)]
coords[10] = [yade.Vector3(0.16586255674847272,0.04442314808389014,0.10431426071039843),
  yade.Vector3(0.16306972984454005,0.09458742037006168,0.05488233416872211),
  yade.Vector3(0.13921142362682418,0.09338844867941465,0.1051850240520792),
  yade.Vector3(0.11532750614560142,0.043572756568788916,0.10524886894605867)]
coords[11] = [yade.Vector3(0.12553762857591796,0.05564020559697192,0.09672553666297364),
  yade.Vector3(0.12188774949220496,0.10432230228089284,0.04742164646483482),
  yade.Vector3(0.1723696031234631,0.10635275656158034,0.044620790102675174),
  yade.Vector3(0.14933095821244555,0.10569338022640279,0.09538317504306985)]
coords[12] = [yade.Vector3(0.2173311133734367,-0.00291435614061983,0.050878549630080615),
  yade.Vector3(0.2640348114070128,0.049396955137835985,0.0007687422103086969),
  yade.Vector3(0.23998126829150335,-0.0013654269667168015,0.0010097662543496304),
  yade.Vector3(0.26756518846385796,-0.0012810266002693128,0.0498993551659514)]
coords[13] = [yade.Vector3(0.21732797257016542,-0.002825738834439564,0.050857917624400034),
  yade.Vector3(0.2643104682138871,0.04965977725183429,0.0007946325029359932),
  yade.Vector3(0.21413337322661294,0.04673315137371154,0.002351451925924373),
  yade.Vector3(0.24055205822558823,-0.0012623876073627402,0.0011263572685819498)]
coords[14] = [yade.Vector3(0.11684058402337372,-0.009085754058001015,0.053739409517626374),
  yade.Vector3(0.11352951793316718,0.04177187066030047,0.004183023745490649),
  yade.Vector3(0.14217323386012334,-0.006452989526700384,0.0036098497893789668),
  yade.Vector3(0.1644013694517449,0.046503493854378464,0.004326814858653941)]
coords[15] = [yade.Vector3(0.2637084356089881,0.09876764976853986,0.05149223178153213),
  yade.Vector3(0.2396959807904555,0.09713654031739888,0.10229009831087897),
  yade.Vector3(0.2162816917857142,0.046327041778708195,0.10245497928163774),
  yade.Vector3(0.21311703372008567,0.09711576927222242,0.05302719647038486)]
coords[16] = [yade.Vector3(0.21285320791337656,0.09658584790099281,0.05320182231155868),
  yade.Vector3(0.21631826791890899,0.04629077883262786,0.10293727691506004),
  yade.Vector3(0.18921467064374317,0.09530049338079472,0.10395023930415494),
  yade.Vector3(0.23920000479363665,0.09726114269413852,0.1025765819700781)]
coords[17] = [yade.Vector3(0.34002725035910075,0.04510048314337398,0.055229611320042546),
  yade.Vector3(0.3537383479282825,0.0633432928241428,0.10015084407696109),
  yade.Vector3(0.39,0.049999999999999996,0.05000000000000001),
  yade.Vector3(0.3579867164836035,0.032435620079630995,0.10012409288993937)]
coords[18] = [yade.Vector3(0.33965202062041133,0.04388634694938733,0.056306530706325866),
  yade.Vector3(0.3181560969204755,0.04776502972123622,0.10129061767786542),
  yade.Vector3(0.35411889382007816,0.06274439181159348,0.1009636758226479),
  yade.Vector3(0.35835334390410967,0.03194857065409507,0.10128707730315725)]
coords[19] = [yade.Vector3(0.26765968163680837,-0.0013996803064605014,0.050006718727664934),
  yade.Vector3(0.2937720333371553,-0.0008968116225207979,0.09922004099051618),
  yade.Vector3(0.320377362490132,0.048645236636886295,0.09869326038971472),
  yade.Vector3(0.3206610508063692,0.0006884377120860586,0.04839969849996756)]
coords[20] = [yade.Vector3(0.34036714726459744,-0.0006157988211561698,0.10171287876066418),
  yade.Vector3(0.31792097293982446,0.04735244221615521,0.1015664894544708),
  yade.Vector3(0.29052236039763824,-0.0018253296576239489,0.10279441934247124),
  yade.Vector3(0.31803466441498207,-0.0016869346711861043,0.05233186967437706)]
coords[21] = [yade.Vector3(0.3400645078465372,0.044654441938417444,0.055678191490572244),
  yade.Vector3(0.3582731453457583,-0.00020115906228151612,0.0679040496817514),
  yade.Vector3(0.39,0.05,0.05),
  yade.Vector3(0.35370638101308,-0.00047072650172147804,0.03742176358472203)]
coords[22] = [yade.Vector3(0.33891903942075335,0.043959993624221545,0.056271348929241814),
  yade.Vector3(0.3583800423588044,-0.0006776292816765301,0.0685709303240885),
  yade.Vector3(0.3532629620454773,-0.0011831930813333748,0.038011584213163245),
  yade.Vector3(0.31806518411358586,-0.0019153589786597477,0.05260708614676338)]
coords[23] = [yade.Vector3(0.3406269898265739,0.04657526158645474,0.053043034734462084),
  yade.Vector3(0.32052223811247904,0.0007491795858403753,0.04847150875387509),
  yade.Vector3(0.2675342454496866,-0.0013481437843854312,0.050047038102188246),
  yade.Vector3(0.32038131192820174,0.04866089379029212,0.09873867451138933)]
coords[24] = [yade.Vector3(0.33918270943891493,0.04393504824189187,0.05652576776216966),
  yade.Vector3(0.3179654906992738,0.04743828153760772,0.10164895600924545),
  yade.Vector3(0.34020232114985094,-0.0005759042896867211,0.101581650702399),
  yade.Vector3(0.3180049163583329,-0.0014344008598424912,0.052410777200650426)]
coords[25] = [yade.Vector3(0.33901541297196697,0.04469184827417817,0.056856826000989985),
  yade.Vector3(0.35403774480164457,0.06338011654963487,0.10089548378903998),
  yade.Vector3(0.3175693020287492,0.10011103678176002,0.051253166616434725),
  yade.Vector3(0.3580630462644306,0.09987706317939782,0.06771936175129514)]
coords[26] = [yade.Vector3(0.34053586096688865,0.04339847491990612,0.05666752641470075),
  yade.Vector3(0.3540083185549232,0.0630046649758691,0.10130130947233994),
  yade.Vector3(0.3180205197838511,0.04789034177813378,0.10107531114591663),
  yade.Vector3(0.318602256931087,0.09822556011100168,0.050476946523659465)]
coords[27] = [yade.Vector3(0.337384272433711,0.043418836853125836,0.056605547794034296),
  yade.Vector3(0.3172133683552361,-0.0025247347691041283,0.05356110766153559),
  yade.Vector3(0.3518314497979043,-0.0013486960823002637,0.03783554302438926),
  yade.Vector3(0.3474758292969533,0.034875862694859906,0.0011365542177931634)]
coords[28] = [yade.Vector3(0.33813221766393536,0.03990918021053585,0.0561296214491587),
  yade.Vector3(0.31688586538353886,-0.005554197143124332,0.05426599875436915),
  yade.Vector3(0.34763043594979237,0.030158530153556413,0.00038646968017986075),
  yade.Vector3(0.3120645123998747,0.04347001974912851,0.003035071297441013)]
coords[29] = [yade.Vector3(0.35404232027656607,-0.000670643504559202,0.03690447930206717),
  yade.Vector3(0.35261891512921917,0.03574021035919348,-0.0001513192883540876),
  yade.Vector3(0.31831949137691445,-0.0013133155476704253,0.050801057513527814),
  yade.Vector3(0.33900205841719544,-0.0013676463346582873,0.00037653426304356044)]
coords[30] = [yade.Vector3(0.3154773468107035,0.0478768025523955,-0.0003750241046195837),
  yade.Vector3(0.3190499767431456,-0.0031392067964503174,0.050152930972242084),
  yade.Vector3(0.3514640273227352,0.035501839689338385,-0.002201924690814242),
  yade.Vector3(0.33813832165789937,-0.0012890242076914991,-0.001809090413772028)]
coords[31] = [yade.Vector3(0.3580924270641726,0.10017025769423288,0.06777878908986454),
  yade.Vector3(0.33948671784631596,0.10034062934973582,0.10038417185863124),
  yade.Vector3(0.35366871277080814,0.06353542477163918,0.10046210591887281),
  yade.Vector3(0.3179499121703136,0.10056259321104632,0.05088722450776048)]
coords[32] = [yade.Vector3(0.3189082909278394,0.09837382421905506,0.050493268853504934),
  yade.Vector3(0.31826221342282685,0.047970601072941536,0.10107077276795723),
  yade.Vector3(0.33965803782789994,0.09946556907853178,0.10044412991767684),
  yade.Vector3(0.35416393420034176,0.06279833526006104,0.10144124757201503)]
coords[33] = [yade.Vector3(0.3397917115871815,0.04502675296269275,0.05533494881536639),
  yade.Vector3(0.3582025309008199,0.00014317880452878462,0.06773148040352515),
  yade.Vector3(0.3397896019539308,0.0002139526155162906,0.10041107475863192),
  yade.Vector3(0.3583821268454569,0.032529385549693764,0.10013384643749264)]
coords[34] = [yade.Vector3(0.33926138542192047,0.04404557863148736,0.05633113647108027),
  yade.Vector3(0.31801514769589545,0.0478091340063702,0.10141702834969835),
  yade.Vector3(0.35829000021093327,0.032050334524335075,0.10103805972439606),
  yade.Vector3(0.33997820637409987,-0.000405281742036457,0.10164263572831539)]
coords[35] = [yade.Vector3(0.33917696238715855,0.04395275291909157,0.056415897913316776),
  yade.Vector3(0.35817913519278016,-0.0006979958348646825,0.06862464815061284),
  yade.Vector3(0.31794736857556527,-0.0013834147240980362,0.05234229554410741),
  yade.Vector3(0.34014424662193654,-0.0007181946948149279,0.10158235261824326)]
coords[36] = [yade.Vector3(0.32626755857514134,0.19993023923781864,0.03751521632763393),
  yade.Vector3(0.3880185032688292,-0.047969499938545775,-0.07118306196681137),
  yade.Vector3(0.4506599953638908,-0.00244015316986685,0.04501276188915119),
  yade.Vector3(0.3985724364081437,0.032660022851117576,-0.0759416864150217)]
coords[37] = [yade.Vector3(0.3688475294737572,-0.031221969043579392,0.00904276630084963),
  yade.Vector3(0.3714685179171974,0.061797426598395266,0.09982968121832222),
  yade.Vector3(0.28151631529669574,0.09815357525595161,-0.0010489953610023708),
  yade.Vector3(0.32419954528516537,0.11014178251520193,-0.013023860246014464)]
coords[38] = [yade.Vector3(0.3305004669998695,0.046880195004764695,0.06035146013424279),
  yade.Vector3(0.3034576935181306,0.05277199053208914,0.007970200772785867),
  yade.Vector3(0.3397625368175628,0.10287529382148378,0.04286391449965104),
  yade.Vector3(0.30593906536383525,0.10035925497929359,0.05938913454615629)]
coords[39] = [yade.Vector3(0.3395956045436123,0.043303679750040666,0.05439412885607389),
  yade.Vector3(0.39,0.05000000000000002,0.049999999999999996),
  yade.Vector3(0.3601275064432374,0.06876674446712282,0.0016581609218861114),
  yade.Vector3(0.3561944415857906,0.03791445402708607,0.00010229252095118532)]
coords[40] = [yade.Vector3(0.34065675817181956,0.046757366236683,0.053183761179815395),
  yade.Vector3(0.3201379107535674,0.04853325851556118,0.09872487581553677),
  yade.Vector3(0.2672037719032582,0.0478384040243767,0.10061003735262794),
  yade.Vector3(0.31643426729685215,0.10115503479665185,0.0502757950712653)]
coords[41] = [yade.Vector3(0.3417478438562951,0.04545587536766879,0.05590543719633538),
  yade.Vector3(0.35471159596578805,0.10022084127887285,0.03690972865246111),
  yade.Vector3(0.35840081313672734,0.06704378441255258,0.00042536976878146046),
  yade.Vector3(0.39,0.075,0.025000000000000005)]
coords[42] = [yade.Vector3(0.3332553478726043,0.1103111348872082,-0.0003136328083456299),
  yade.Vector3(0.3153917343169667,0.058460055456408005,-0.011186365118382382),
  yade.Vector3(0.3516163770831925,0.10170877452128037,0.03524635480284278),
  yade.Vector3(0.3540869592044894,0.07857076579771193,-0.010499902915645143)]
coords[43] = [yade.Vector3(0.3274940510809254,0.10776125144117334,-0.0025979864743322888),
  yade.Vector3(0.3085078227069035,0.05712746553725052,-0.0028690543080733266),
  yade.Vector3(0.310075651775672,0.10483282362269161,0.04978514301785493),
  yade.Vector3(0.3449888056890983,0.10731753619717507,0.03294166663079286)]
coords[44] = [yade.Vector3(0.3394570666922459,0.04521007510462394,0.05761767553780922),
  yade.Vector3(0.3180154801176482,0.1002207730904212,0.05142867739475787),
  yade.Vector3(0.35412043517865244,0.09964440763636444,0.03762578193660765),
  yade.Vector3(0.3584500389747902,0.10036310263242866,0.06820207334998866)]
coords[45] = [yade.Vector3(0.34141247866615343,0.04445271430229274,0.05511767527479387),
  yade.Vector3(0.3546458974331371,0.036193159505438596,-0.00044090088417408566),
  yade.Vector3(0.3564335635811485,-0.0003517053876518142,0.03687878717856112),
  yade.Vector3(0.39,0.025,0.025)]
coords[46] = [yade.Vector3(0.05017839882110636,0.04477824410745488,0.04498935656219054),
  yade.Vector3(0.03515419676529324,0.06310211844755091,0.00009608932388172411),
  yade.Vector3(0.04921093901242242,0.09990731156112101,-0.0003070484653836282),
  yade.Vector3(0.033732806543292713,0.09965194064520293,0.03492406248747011)]
coords[47] = [yade.Vector3(0.049696240452831615,0.04693953247805987,0.04404401057309133),
  yade.Vector3(0.04642974946011187,0.10201041614970373,-0.0008504226393848263),
  yade.Vector3(0.06792028301008651,0.10252059859662326,0.0494392254971401),
  yade.Vector3(0.031571915167676275,0.10126490833734197,0.034870461389054565)]
coords[48] = [yade.Vector3(0.3434751552224152,0.10529395374488333,-0.002508391278708763),
  yade.Vector3(0.3563463665376061,0.10339146156874146,0.035758154690780364),
  yade.Vector3(0.39,0.1,-8.673617379884035e-18),
  yade.Vector3(0.35987993159250903,0.0706985152579884,-0.0017507853318611856)]
coords[49] = [yade.Vector3(0.340200875430057,0.04629627319033907,0.05303066398373089),
  yade.Vector3(0.31615048561082176,0.051130632003293125,-0.0011608946308054521),
  yade.Vector3(0.26721234363134605,-0.0014217803383828435,0.05000726835901002),
  yade.Vector3(0.3200918660393349,0.0006058525328950133,0.04847417030786972)]
coords[50] = [yade.Vector3(0.05000942105609215,0.04643868525677235,0.04356336509456606),
  yade.Vector3(0.03339896917522457,0.06381047293651679,-0.0011554607377499016),
  yade.Vector3(0.06979576574945677,0.05204063359005626,-0.0022670134585104414),
  yade.Vector3(0.04610258269263751,0.10116891705797729,-0.0016609154487266884)]
coords[51] = [yade.Vector3(0.0496294351533465,0.045189308005676436,0.0446863473595121),
  yade.Vector3(0.030053815415883103,0.10006160316423646,0.06870766397837277),
  yade.Vector3(0,0.05,0.05),
  yade.Vector3(0.03383875550213479,0.09995518255646706,0.03487398936369969)]
coords[52] = [yade.Vector3(0.04957445069636635,0.046942847092024745,0.0439884329959704),
  yade.Vector3(0.028815159335200864,0.10094236589010112,0.06871835405236817),
  yade.Vector3(0.031592504903322695,0.101414091803428,0.034826400865550805),
  yade.Vector3(0.06800291914441199,0.10248938070951155,0.049530629472430976)]
coords[53] = [yade.Vector3(0.34076805465555476,0.04455410425253957,0.05523108045052036),
  yade.Vector3(0.39,0.049999999999999996,0.05),
  yade.Vector3(0.35433100318670296,0.03637856332726638,-0.000050973327122560974),
  yade.Vector3(0.39,0.024999999999999994,0.02499999999999999)]
coords[54] = [yade.Vector3(0.3389012636970622,0.0013423407249780039,-0.00365088549986288),
  yade.Vector3(0.31672545125398055,0.051295009774042305,-0.0005488706559895855),
  yade.Vector3(0.31959206444695065,-0.0013374035037279613,0.047403320349323624),
  yade.Vector3(0.28893838079763884,0.00044022730488731295,-0.001671509988844324)]
coords[55] = [yade.Vector3(0.3552495586085922,0.03714209333486319,0.00012142895818941998),
  yade.Vector3(0.39,0.05,0.05),
  yade.Vector3(0.3591108670291623,0.06756414768330807,0.00003237248766895656),
  yade.Vector3(0.39,0.075,0.025)]
coords[56] = [yade.Vector3(0.3326969494787476,0.044904686993537515,0.05563976325691751),
  yade.Vector3(0.3091453064715574,0.050855419984827566,0.0012789518833821803),
  yade.Vector3(0.3123134193948781,0.10078824078763467,0.05105376195821165),
  yade.Vector3(0.2599282954001859,0.10235713170824758,0.05282180779001569)]
coords[57] = [yade.Vector3(0.2843422420655907,0.09923764072670029,0.0017509703149992707),
  yade.Vector3(0.3149247182477903,0.10014113962941198,0.051054925324999154),
  yade.Vector3(0.3134544472122879,0.05000051401426121,0.0013937881371087618),
  yade.Vector3(0.2620584814051718,0.0994895512265356,0.052400041855008926)]
coords[58] = [yade.Vector3(0.3400311370155243,0.0458587415791786,0.05324962895171098),
  yade.Vector3(0.26333601397832596,0.09861467525304587,0.0513735302773009),
  yade.Vector3(0.2631673435631067,0.04921171541657626,0.0006390913014940845),
  yade.Vector3(0.3160569810192673,0.05102121717520493,-0.0009803624421689978)]
coords[59] = [yade.Vector3(0.04971633366050463,0.045265229435627705,0.044746977864694684),
  yade.Vector3(0.03143401096746476,0.032710177008707944,-0.00023309350765968184),
  yade.Vector3(0.03533989204823962,0.06334209273733228,-0.0002131586944926385),
  yade.Vector3(2.0816681711721685e-17,0.05,0.04999999999999999)]
coords[60] = [yade.Vector3(0.04946742922439447,0.046672343917341604,0.043558321263417035),
  yade.Vector3(0.03073285869944652,0.03278077152481386,-0.0011015352733618946),
  yade.Vector3(0.06992477921834403,0.05194778743585704,-0.0020119141816365566),
  yade.Vector3(0.03353053832780498,0.0638050457047234,-0.0014337628830923873)]
coords[61] = [yade.Vector3(0.32770567530773703,0.11137604522482,-0.009973300831847935),
  yade.Vector3(0.3107704672525277,0.10556108641082654,0.04287299911769453),
  yade.Vector3(0.3083995426255764,0.060695768678551185,-0.01299915951015336),
  yade.Vector3(0.27796555009534213,0.10914547705638583,-0.005236757296721847)]
coords[62] = [yade.Vector3(0.3405460089465247,0.04672468468677354,0.05333597083639236),
  yade.Vector3(0.31629274905985166,0.10103305863870843,0.050497572132385544),
  yade.Vector3(0.2672794399688527,0.04787325322725318,0.10046405156744936),
  yade.Vector3(0.26343072387940986,0.09904888480352328,0.05176079103379818)]
coords[63] = [yade.Vector3(0.2630518843461558,0.04915182849052646,0.0006470299953058589),
  yade.Vector3(0.31570518510315126,0.05083373765541963,-0.0011216060744026809),
  yade.Vector3(0.2631568596582025,0.09880120273577873,0.05144073777689125),
  yade.Vector3(0.285404552399122,0.09995331255219878,0.0006259655653348042)]
coords[64] = [yade.Vector3(0.39,0.075,0.02500000000000001),
  yade.Vector3(0.39,0.1,-1.734723475976807e-18),
  yade.Vector3(0.3544290330189974,0.10051854106317909,0.03645821795191911),
  yade.Vector3(0.3587173035913949,0.0680326865512382,-0.00030850231174175957)]
coords[65] = [yade.Vector3(0.04956668563287012,0.04556918682487886,0.044674075276778136),
  yade.Vector3(0.030607360570378623,0.032186597746470695,0.09988440605724103),
  yade.Vector3(1.0408340855860843e-17,0.04999999999999998,0.05000000000000002),
  yade.Vector3(0.033990437462080345,0.06530761153821317,0.09980253600663341)]
coords[66] = [yade.Vector3(0.04941503772746345,0.046353730626855036,0.044366249177514916),
  yade.Vector3(0.0310501060039661,0.032547843484774755,0.09952756532768975),
  yade.Vector3(0.03410054603531969,0.06576964704109514,0.09948369348590935),
  yade.Vector3(0.07039490804709367,0.05112498941899609,0.09875097610502102)]
coords[67] = [yade.Vector3(0.3400446573651375,0.045377620113847425,0.05570088101969649),
  yade.Vector3(0.3582989301538421,0.10020341652202924,0.06791365862061104),
  yade.Vector3(0.3540580906481444,0.10026578968121491,0.03737796575626966),
  yade.Vector3(0.39000000000000007,0.04999999999999999,0.05)]
coords[68] = [yade.Vector3(0.3402396204211532,0.04430770782031176,0.05557158319392032),
  yade.Vector3(0.39,0.05,0.05),
  yade.Vector3(0.39,0.025,0.024999999999999998),
  yade.Vector3(0.3547509647721951,-0.00039522822398567817,0.03697219640524982)]
coords[69] = [yade.Vector3(0.39,3.469446951953614e-18,3.469446951953614e-18),
  yade.Vector3(0.35431485762538717,0.036556261035973744,-0.00009225369413471546),
  yade.Vector3(0.39,0.025,0.025),
  yade.Vector3(0.3541899401444528,-0.00023392859647868545,0.03652979646927742)]
coords[70] = [yade.Vector3(0.04984279152693431,0.04547745108625738,0.044759271633182385),
  yade.Vector3(0.029736500804246415,0.10026948547939302,0.06868510676472478),
  yade.Vector3(0.0342532871439357,0.06530114536183888,0.09973333755625383),
  yade.Vector3(4.163336342344337e-17,0.07499999999999998,0.07499999999999998)]
coords[71] = [yade.Vector3(0.04908882895418844,0.046595140311610835,0.044113020365703526),
  yade.Vector3(0.028835291899109446,0.1007764857624299,0.068652326113262),
  yade.Vector3(0.06808354167594313,0.10212157216756822,0.049375835122775276),
  yade.Vector3(0.03465178645361693,0.06549742300039849,0.09957616709619158)]
coords[72] = [yade.Vector3(0.3392198194364152,-0.0010461937886508347,0.0006587026913589446),
  yade.Vector3(0.35441939118207477,-0.000375431479610883,0.03719749055893131),
  yade.Vector3(0.3530284904108212,0.03585200816496293,0.0003300769402833272),
  yade.Vector3(0.39,1.734723475976807e-18,1.734723475976807e-18)]

O.dt = 0.0001
for i in range(73):
    b = yade.utils.tetraPoly(coords[i], dynamic=None, fixed=True, wire=True, color=None, highlight=False, noBound=False, material=mat, mask=1, chain=-1)
    O.bodies.append(b)

# basic YADE engines fo tetrahedra contact
O.engines = [
 ForceResetter(),
 InsertionSortCollider([Bo1_Polyhedra_Aabb()]),
 InteractionLoop(
  [Ig2_Polyhedra_Polyhedra_PolyhedraGeom()],
  [Ip2_PolyhedraMat_PolyhedraMat_PolyhedraPhys()],
  [Law2_PolyhedraGeom_PolyhedraPhys_Volumetric()]
 ),
 NewtonIntegrator(damping=0),
]

#################################################################################

After calling O.step() for several times, this bug will occur.
By the way,
in Polyhedra_support.cpp, I have modified
#define DISTANCE_LIMIT 1E-8 ##(Default value is 2E-11)
#define MERGE_PLANES_LIMIT 1E-8 ##(Default value is 1E-18)

I have visualized those polyhedra, noticing that there are several large polyhedra on the top, it seems those large polyhedra have enormous contact with others, and there might be some extreme situations among them.

Revision history for this message
Bruno Chareyre (bruno-chareyre) said :
#9

Hi,
Thanks for the script but in fact it does not show the bug, since you add "After calling O.step() for several times, this bug will occur."
It may sound like a dumb question but can you really try to make the script hang by itself? The reason could be there.
Bruno

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

Hi Mike,
using pure yade, it resulted in segmentation fault in my case.

However, I noticed that the polyhedrons are really "crazy", completely
intersecting each other. I think in this case the DEM itself is not valid
anyway.. Is this a script just to reproduced the problem, or are you using
the script in other situations?

cheers
Jan

2016-05-09 9:57 GMT+02:00 MikeZhao <email address hidden>:

> Question #293445 on Yade changed:
> https://answers.launchpad.net/yade/+question/293445
>
> MikeZhao gave more information on the question:
> ####Hi, I have tried to reproduce this bug, and the script is as
> following:##############################
>
> from libyade import yade
> from yade import *
>
>
> mat = PolyhedraMat()
> mat.density = 2600 * 10e15 #kg/m^3
> mat.Ks = 1.5e8
> mat.Kn = 2E9 #Pa
> mat.frictionAngle = 0.5 #rad
> yade.O.materials.append(mat)
> coords = dict()
> coords[0] =
> [yade.Vector3(0.12506498908304559,0.004170586360067608,0.04718878419835185),
>
> yade.Vector3(0.07196917639353285,0.002130673955178613,0.04829019846239369),
>
> yade.Vector3(0.12452553414402667,0.05548698237982243,0.09674610334959563),
>
> yade.Vector3(0.10202107066713305,0.003501573781327025,0.09778836768091179)]
> coords[1] =
> [yade.Vector3(0.14295032259085494,-0.006505603044225198,0.10466693700014766),
>
> yade.Vector3(0.11566808726849623,0.04373180022224347,0.10573503009510624),
>
> yade.Vector3(0.09295451012074624,-0.008001021823003239,0.10600124068861566),
>
> yade.Vector3(0.11621529452629992,-0.007042223507702154,0.05542740653091893)]
> coords[2] =
> [yade.Vector3(0.2130315465641754,0.09686131087477995,0.053289505254753),
> yade.Vector3(0.164020561929353,0.04648070412681492,0.004219224080575502),
> yade.Vector3(0.1862772963099485,0.09652671335229797,0.00417259537268409),
>
> yade.Vector3(0.16288263942085443,0.09471008739327443,0.055098349410302505)]
> coords[3] =
> [yade.Vector3(0.17228834709600793,0.10610590338541123,0.04456793567930975),
>
> yade.Vector3(0.17280626014182954,0.056807096563525575,-0.00527106604700384),
>
> yade.Vector3(0.19547690664041997,0.1064874328191193,-0.006528797650868522),
>
> yade.Vector3(0.1454828764592455,0.10501383881798207,-0.004532778418338768)]
> coords[4] =
> [yade.Vector3(0.12518512144479108,0.004202482634043023,0.047282108263384234),
>
> yade.Vector3(0.07215900355266172,0.0022067170630582396,0.048405189227085095),
>
> yade.Vector3(0.09927440181878336,0.002841487802841776,-0.0020490482509290323),
>
> yade.Vector3(0.12194553936223902,0.053900337377603164,-0.003137962336613641)]
> coords[5] =
> [yade.Vector3(0.1230094368221373,-0.01217837847454617,0.0385941766299165),
>
> yade.Vector3(0.09606163246660983,-0.009341849627069044,-0.010265958898953698),
>
> yade.Vector3(0.14605505129391785,-0.007892828978239817,-0.012758832943173034),
>
> yade.Vector3(0.1191666025858279,0.04146035772028468,-0.007885859751166355)]
> coords[6] =
> [yade.Vector3(0.11631337631682945,-0.0072190647263523505,0.05526504476519887),
>
> yade.Vector3(0.11546679195549954,0.04339612477093768,0.10546948815801681),
>
> yade.Vector3(0.16283607913807063,0.09468384437456645,0.054801725781359986),
> yade.Vector3(0.1660494458383337,0.04445695707723045,0.10422688539183134)]
> coords[7] =
> [yade.Vector3(0.12517826549319078,0.004210666781740674,0.04713033641567168),
>
> yade.Vector3(0.12503175035775993,0.05566147427541226,0.09662450106256898),
>
> yade.Vector3(0.1218967526875405,0.054092789281228446,-0.0033114695372207723),
> yade.Vector3(0.1723941910681486,0.10613783179410324,0.04465530410432424)]
> coords[8] =
> [yade.Vector3(0.16282407041415756,0.0946878041824045,0.054807634434872056),
>
> yade.Vector3(0.1660391862703065,0.044454782962754805,0.10419776714643575),
>
> yade.Vector3(0.1641981030564517,0.04610198242630093,0.004203199959939556),
>
> yade.Vector3(0.11627599902436038,-0.007311015046615452,0.05527225087207195)]
> coords[9] =
> [yade.Vector3(0.1255192872383347,0.004248839377251908,0.04705512287925926),
>
> yade.Vector3(0.12177640027256077,0.05401449241996102,-0.003310973765333125),
>
> yade.Vector3(0.17288309620166054,0.0567881426706257,-0.005251109507840107),
>
> yade.Vector3(0.17239800601486288,0.10615025111591658,0.04466410423643576)]
> coords[10] =
> [yade.Vector3(0.16586255674847272,0.04442314808389014,0.10431426071039843),
>
> yade.Vector3(0.16306972984454005,0.09458742037006168,0.05488233416872211),
> yade.Vector3(0.13921142362682418,0.09338844867941465,0.1051850240520792),
>
> yade.Vector3(0.11532750614560142,0.043572756568788916,0.10524886894605867)]
> coords[11] =
> [yade.Vector3(0.12553762857591796,0.05564020559697192,0.09672553666297364),
>
> yade.Vector3(0.12188774949220496,0.10432230228089284,0.04742164646483482),
>
> yade.Vector3(0.1723696031234631,0.10635275656158034,0.044620790102675174),
>
> yade.Vector3(0.14933095821244555,0.10569338022640279,0.09538317504306985)]
> coords[12] =
> [yade.Vector3(0.2173311133734367,-0.00291435614061983,0.050878549630080615),
>
> yade.Vector3(0.2640348114070128,0.049396955137835985,0.0007687422103086969),
>
> yade.Vector3(0.23998126829150335,-0.0013654269667168015,0.0010097662543496304),
>
> yade.Vector3(0.26756518846385796,-0.0012810266002693128,0.0498993551659514)]
> coords[13] =
> [yade.Vector3(0.21732797257016542,-0.002825738834439564,0.050857917624400034),
>
> yade.Vector3(0.2643104682138871,0.04965977725183429,0.0007946325029359932),
>
> yade.Vector3(0.21413337322661294,0.04673315137371154,0.002351451925924373),
>
> yade.Vector3(0.24055205822558823,-0.0012623876073627402,0.0011263572685819498)]
> coords[14] =
> [yade.Vector3(0.11684058402337372,-0.009085754058001015,0.053739409517626374),
>
> yade.Vector3(0.11352951793316718,0.04177187066030047,0.004183023745490649),
>
> yade.Vector3(0.14217323386012334,-0.006452989526700384,0.0036098497893789668),
>
> yade.Vector3(0.1644013694517449,0.046503493854378464,0.004326814858653941)]
> coords[15] =
> [yade.Vector3(0.2637084356089881,0.09876764976853986,0.05149223178153213),
> yade.Vector3(0.2396959807904555,0.09713654031739888,0.10229009831087897),
>
> yade.Vector3(0.2162816917857142,0.046327041778708195,0.10245497928163774),
>
> yade.Vector3(0.21311703372008567,0.09711576927222242,0.05302719647038486)]
> coords[16] =
> [yade.Vector3(0.21285320791337656,0.09658584790099281,0.05320182231155868),
>
> yade.Vector3(0.21631826791890899,0.04629077883262786,0.10293727691506004),
>
> yade.Vector3(0.18921467064374317,0.09530049338079472,0.10395023930415494),
> yade.Vector3(0.23920000479363665,0.09726114269413852,0.1025765819700781)]
> coords[17] =
> [yade.Vector3(0.34002725035910075,0.04510048314337398,0.055229611320042546),
> yade.Vector3(0.3537383479282825,0.0633432928241428,0.10015084407696109),
> yade.Vector3(0.39,0.049999999999999996,0.05000000000000001),
>
> yade.Vector3(0.3579867164836035,0.032435620079630995,0.10012409288993937)]
> coords[18] =
> [yade.Vector3(0.33965202062041133,0.04388634694938733,0.056306530706325866),
> yade.Vector3(0.3181560969204755,0.04776502972123622,0.10129061767786542),
> yade.Vector3(0.35411889382007816,0.06274439181159348,0.1009636758226479),
>
> yade.Vector3(0.35835334390410967,0.03194857065409507,0.10128707730315725)]
> coords[19] =
> [yade.Vector3(0.26765968163680837,-0.0013996803064605014,0.050006718727664934),
>
> yade.Vector3(0.2937720333371553,-0.0008968116225207979,0.09922004099051618),
> yade.Vector3(0.320377362490132,0.048645236636886295,0.09869326038971472),
>
> yade.Vector3(0.3206610508063692,0.0006884377120860586,0.04839969849996756)]
> coords[20] =
> [yade.Vector3(0.34036714726459744,-0.0006157988211561698,0.10171287876066418),
> yade.Vector3(0.31792097293982446,0.04735244221615521,0.1015664894544708),
>
> yade.Vector3(0.29052236039763824,-0.0018253296576239489,0.10279441934247124),
>
> yade.Vector3(0.31803466441498207,-0.0016869346711861043,0.05233186967437706)]
> coords[21] =
> [yade.Vector3(0.3400645078465372,0.044654441938417444,0.055678191490572244),
>
> yade.Vector3(0.3582731453457583,-0.00020115906228151612,0.0679040496817514),
> yade.Vector3(0.39,0.05,0.05),
>
> yade.Vector3(0.35370638101308,-0.00047072650172147804,0.03742176358472203)]
> coords[22] =
> [yade.Vector3(0.33891903942075335,0.043959993624221545,0.056271348929241814),
>
> yade.Vector3(0.3583800423588044,-0.0006776292816765301,0.0685709303240885),
>
> yade.Vector3(0.3532629620454773,-0.0011831930813333748,0.038011584213163245),
>
> yade.Vector3(0.31806518411358586,-0.0019153589786597477,0.05260708614676338)]
> coords[23] =
> [yade.Vector3(0.3406269898265739,0.04657526158645474,0.053043034734462084),
>
> yade.Vector3(0.32052223811247904,0.0007491795858403753,0.04847150875387509),
>
> yade.Vector3(0.2675342454496866,-0.0013481437843854312,0.050047038102188246),
>
> yade.Vector3(0.32038131192820174,0.04866089379029212,0.09873867451138933)]
> coords[24] =
> [yade.Vector3(0.33918270943891493,0.04393504824189187,0.05652576776216966),
> yade.Vector3(0.3179654906992738,0.04743828153760772,0.10164895600924545),
>
> yade.Vector3(0.34020232114985094,-0.0005759042896867211,0.101581650702399),
>
> yade.Vector3(0.3180049163583329,-0.0014344008598424912,0.052410777200650426)]
> coords[25] =
> [yade.Vector3(0.33901541297196697,0.04469184827417817,0.056856826000989985),
>
> yade.Vector3(0.35403774480164457,0.06338011654963487,0.10089548378903998),
>
> yade.Vector3(0.3175693020287492,0.10011103678176002,0.051253166616434725),
> yade.Vector3(0.3580630462644306,0.09987706317939782,0.06771936175129514)]
> coords[26] =
> [yade.Vector3(0.34053586096688865,0.04339847491990612,0.05666752641470075),
> yade.Vector3(0.3540083185549232,0.0630046649758691,0.10130130947233994),
> yade.Vector3(0.3180205197838511,0.04789034177813378,0.10107531114591663),
> yade.Vector3(0.318602256931087,0.09822556011100168,0.050476946523659465)]
> coords[27] =
> [yade.Vector3(0.337384272433711,0.043418836853125836,0.056605547794034296),
>
> yade.Vector3(0.3172133683552361,-0.0025247347691041283,0.05356110766153559),
>
> yade.Vector3(0.3518314497979043,-0.0013486960823002637,0.03783554302438926),
>
> yade.Vector3(0.3474758292969533,0.034875862694859906,0.0011365542177931634)]
> coords[28] =
> [yade.Vector3(0.33813221766393536,0.03990918021053585,0.0561296214491587),
>
> yade.Vector3(0.31688586538353886,-0.005554197143124332,0.05426599875436915),
>
> yade.Vector3(0.34763043594979237,0.030158530153556413,0.00038646968017986075),
>
> yade.Vector3(0.3120645123998747,0.04347001974912851,0.003035071297441013)]
> coords[29] =
> [yade.Vector3(0.35404232027656607,-0.000670643504559202,0.03690447930206717),
>
> yade.Vector3(0.35261891512921917,0.03574021035919348,-0.0001513192883540876),
>
> yade.Vector3(0.31831949137691445,-0.0013133155476704253,0.050801057513527814),
>
> yade.Vector3(0.33900205841719544,-0.0013676463346582873,0.00037653426304356044)]
> coords[30] =
> [yade.Vector3(0.3154773468107035,0.0478768025523955,-0.0003750241046195837),
>
> yade.Vector3(0.3190499767431456,-0.0031392067964503174,0.050152930972242084),
>
> yade.Vector3(0.3514640273227352,0.035501839689338385,-0.002201924690814242),
>
> yade.Vector3(0.33813832165789937,-0.0012890242076914991,-0.001809090413772028)]
> coords[31] =
> [yade.Vector3(0.3580924270641726,0.10017025769423288,0.06777878908986454),
>
> yade.Vector3(0.33948671784631596,0.10034062934973582,0.10038417185863124),
>
> yade.Vector3(0.35366871277080814,0.06353542477163918,0.10046210591887281),
> yade.Vector3(0.3179499121703136,0.10056259321104632,0.05088722450776048)]
> coords[32] =
> [yade.Vector3(0.3189082909278394,0.09837382421905506,0.050493268853504934),
>
> yade.Vector3(0.31826221342282685,0.047970601072941536,0.10107077276795723),
>
> yade.Vector3(0.33965803782789994,0.09946556907853178,0.10044412991767684),
>
> yade.Vector3(0.35416393420034176,0.06279833526006104,0.10144124757201503)]
> coords[33] =
> [yade.Vector3(0.3397917115871815,0.04502675296269275,0.05533494881536639),
>
> yade.Vector3(0.3582025309008199,0.00014317880452878462,0.06773148040352515),
>
> yade.Vector3(0.3397896019539308,0.0002139526155162906,0.10041107475863192),
>
> yade.Vector3(0.3583821268454569,0.032529385549693764,0.10013384643749264)]
> coords[34] =
> [yade.Vector3(0.33926138542192047,0.04404557863148736,0.05633113647108027),
> yade.Vector3(0.31801514769589545,0.0478091340063702,0.10141702834969835),
>
> yade.Vector3(0.35829000021093327,0.032050334524335075,0.10103805972439606),
>
> yade.Vector3(0.33997820637409987,-0.000405281742036457,0.10164263572831539)]
> coords[35] =
> [yade.Vector3(0.33917696238715855,0.04395275291909157,0.056415897913316776),
>
> yade.Vector3(0.35817913519278016,-0.0006979958348646825,0.06862464815061284),
>
> yade.Vector3(0.31794736857556527,-0.0013834147240980362,0.05234229554410741),
>
> yade.Vector3(0.34014424662193654,-0.0007181946948149279,0.10158235261824326)]
> coords[36] =
> [yade.Vector3(0.32626755857514134,0.19993023923781864,0.03751521632763393),
>
> yade.Vector3(0.3880185032688292,-0.047969499938545775,-0.07118306196681137),
>
> yade.Vector3(0.4506599953638908,-0.00244015316986685,0.04501276188915119),
>
> yade.Vector3(0.3985724364081437,0.032660022851117576,-0.0759416864150217)]
> coords[37] =
> [yade.Vector3(0.3688475294737572,-0.031221969043579392,0.00904276630084963),
>
> yade.Vector3(0.3714685179171974,0.061797426598395266,0.09982968121832222),
>
> yade.Vector3(0.28151631529669574,0.09815357525595161,-0.0010489953610023708),
>
> yade.Vector3(0.32419954528516537,0.11014178251520193,-0.013023860246014464)]
> coords[38] =
> [yade.Vector3(0.3305004669998695,0.046880195004764695,0.06035146013424279),
>
> yade.Vector3(0.3034576935181306,0.05277199053208914,0.007970200772785867),
> yade.Vector3(0.3397625368175628,0.10287529382148378,0.04286391449965104),
>
> yade.Vector3(0.30593906536383525,0.10035925497929359,0.05938913454615629)]
> coords[39] =
> [yade.Vector3(0.3395956045436123,0.043303679750040666,0.05439412885607389),
> yade.Vector3(0.39,0.05000000000000002,0.049999999999999996),
>
> yade.Vector3(0.3601275064432374,0.06876674446712282,0.0016581609218861114),
>
> yade.Vector3(0.3561944415857906,0.03791445402708607,0.00010229252095118532)]
> coords[40] =
> [yade.Vector3(0.34065675817181956,0.046757366236683,0.053183761179815395),
> yade.Vector3(0.3201379107535674,0.04853325851556118,0.09872487581553677),
> yade.Vector3(0.2672037719032582,0.0478384040243767,0.10061003735262794),
> yade.Vector3(0.31643426729685215,0.10115503479665185,0.0502757950712653)]
> coords[41] =
> [yade.Vector3(0.3417478438562951,0.04545587536766879,0.05590543719633538),
>
> yade.Vector3(0.35471159596578805,0.10022084127887285,0.03690972865246111),
>
> yade.Vector3(0.35840081313672734,0.06704378441255258,0.00042536976878146046),
> yade.Vector3(0.39,0.075,0.025000000000000005)]
> coords[42] =
> [yade.Vector3(0.3332553478726043,0.1103111348872082,-0.0003136328083456299),
>
> yade.Vector3(0.3153917343169667,0.058460055456408005,-0.011186365118382382),
> yade.Vector3(0.3516163770831925,0.10170877452128037,0.03524635480284278),
>
> yade.Vector3(0.3540869592044894,0.07857076579771193,-0.010499902915645143)]
> coords[43] =
> [yade.Vector3(0.3274940510809254,0.10776125144117334,-0.0025979864743322888),
>
> yade.Vector3(0.3085078227069035,0.05712746553725052,-0.0028690543080733266),
> yade.Vector3(0.310075651775672,0.10483282362269161,0.04978514301785493),
> yade.Vector3(0.3449888056890983,0.10731753619717507,0.03294166663079286)]
> coords[44] =
> [yade.Vector3(0.3394570666922459,0.04521007510462394,0.05761767553780922),
> yade.Vector3(0.3180154801176482,0.1002207730904212,0.05142867739475787),
>
> yade.Vector3(0.35412043517865244,0.09964440763636444,0.03762578193660765),
> yade.Vector3(0.3584500389747902,0.10036310263242866,0.06820207334998866)]
> coords[45] =
> [yade.Vector3(0.34141247866615343,0.04445271430229274,0.05511767527479387),
>
> yade.Vector3(0.3546458974331371,0.036193159505438596,-0.00044090088417408566),
>
> yade.Vector3(0.3564335635811485,-0.0003517053876518142,0.03687878717856112),
> yade.Vector3(0.39,0.025,0.025)]
> coords[46] =
> [yade.Vector3(0.05017839882110636,0.04477824410745488,0.04498935656219054),
>
> yade.Vector3(0.03515419676529324,0.06310211844755091,0.00009608932388172411),
>
> yade.Vector3(0.04921093901242242,0.09990731156112101,-0.0003070484653836282),
>
> yade.Vector3(0.033732806543292713,0.09965194064520293,0.03492406248747011)]
> coords[47] =
> [yade.Vector3(0.049696240452831615,0.04693953247805987,0.04404401057309133),
>
> yade.Vector3(0.04642974946011187,0.10201041614970373,-0.0008504226393848263),
> yade.Vector3(0.06792028301008651,0.10252059859662326,0.0494392254971401),
>
> yade.Vector3(0.031571915167676275,0.10126490833734197,0.034870461389054565)]
> coords[48] =
> [yade.Vector3(0.3434751552224152,0.10529395374488333,-0.002508391278708763),
>
> yade.Vector3(0.3563463665376061,0.10339146156874146,0.035758154690780364),
> yade.Vector3(0.39,0.1,-8.673617379884035e-18),
>
> yade.Vector3(0.35987993159250903,0.0706985152579884,-0.0017507853318611856)]
> coords[49] =
> [yade.Vector3(0.340200875430057,0.04629627319033907,0.05303066398373089),
>
> yade.Vector3(0.31615048561082176,0.051130632003293125,-0.0011608946308054521),
>
> yade.Vector3(0.26721234363134605,-0.0014217803383828435,0.05000726835901002),
>
> yade.Vector3(0.3200918660393349,0.0006058525328950133,0.04847417030786972)]
> coords[50] =
> [yade.Vector3(0.05000942105609215,0.04643868525677235,0.04356336509456606),
>
> yade.Vector3(0.03339896917522457,0.06381047293651679,-0.0011554607377499016),
>
> yade.Vector3(0.06979576574945677,0.05204063359005626,-0.0022670134585104414),
>
> yade.Vector3(0.04610258269263751,0.10116891705797729,-0.0016609154487266884)]
> coords[51] =
> [yade.Vector3(0.0496294351533465,0.045189308005676436,0.0446863473595121),
>
> yade.Vector3(0.030053815415883103,0.10006160316423646,0.06870766397837277),
> yade.Vector3(0,0.05,0.05),
>
> yade.Vector3(0.03383875550213479,0.09995518255646706,0.03487398936369969)]
> coords[52] =
> [yade.Vector3(0.04957445069636635,0.046942847092024745,0.0439884329959704),
>
> yade.Vector3(0.028815159335200864,0.10094236589010112,0.06871835405236817),
>
> yade.Vector3(0.031592504903322695,0.101414091803428,0.034826400865550805),
>
> yade.Vector3(0.06800291914441199,0.10248938070951155,0.049530629472430976)]
> coords[53] =
> [yade.Vector3(0.34076805465555476,0.04455410425253957,0.05523108045052036),
> yade.Vector3(0.39,0.049999999999999996,0.05),
>
> yade.Vector3(0.35433100318670296,0.03637856332726638,-0.000050973327122560974),
> yade.Vector3(0.39,0.024999999999999994,0.02499999999999999)]
> coords[54] =
> [yade.Vector3(0.3389012636970622,0.0013423407249780039,-0.00365088549986288),
>
> yade.Vector3(0.31672545125398055,0.051295009774042305,-0.0005488706559895855),
>
> yade.Vector3(0.31959206444695065,-0.0013374035037279613,0.047403320349323624),
>
> yade.Vector3(0.28893838079763884,0.00044022730488731295,-0.001671509988844324)]
> coords[55] =
> [yade.Vector3(0.3552495586085922,0.03714209333486319,0.00012142895818941998),
> yade.Vector3(0.39,0.05,0.05),
>
> yade.Vector3(0.3591108670291623,0.06756414768330807,0.00003237248766895656),
> yade.Vector3(0.39,0.075,0.025)]
> coords[56] =
> [yade.Vector3(0.3326969494787476,0.044904686993537515,0.05563976325691751),
>
> yade.Vector3(0.3091453064715574,0.050855419984827566,0.0012789518833821803),
> yade.Vector3(0.3123134193948781,0.10078824078763467,0.05105376195821165),
> yade.Vector3(0.2599282954001859,0.10235713170824758,0.05282180779001569)]
> coords[57] =
> [yade.Vector3(0.2843422420655907,0.09923764072670029,0.0017509703149992707),
>
> yade.Vector3(0.3149247182477903,0.10014113962941198,0.051054925324999154),
>
> yade.Vector3(0.3134544472122879,0.05000051401426121,0.0013937881371087618),
> yade.Vector3(0.2620584814051718,0.0994895512265356,0.052400041855008926)]
> coords[58] =
> [yade.Vector3(0.3400311370155243,0.0458587415791786,0.05324962895171098),
> yade.Vector3(0.26333601397832596,0.09861467525304587,0.0513735302773009),
>
> yade.Vector3(0.2631673435631067,0.04921171541657626,0.0006390913014940845),
>
> yade.Vector3(0.3160569810192673,0.05102121717520493,-0.0009803624421689978)]
> coords[59] =
> [yade.Vector3(0.04971633366050463,0.045265229435627705,0.044746977864694684),
>
> yade.Vector3(0.03143401096746476,0.032710177008707944,-0.00023309350765968184),
>
> yade.Vector3(0.03533989204823962,0.06334209273733228,-0.0002131586944926385),
> yade.Vector3(2.0816681711721685e-17,0.05,0.04999999999999999)]
> coords[60] =
> [yade.Vector3(0.04946742922439447,0.046672343917341604,0.043558321263417035),
>
> yade.Vector3(0.03073285869944652,0.03278077152481386,-0.0011015352733618946),
>
> yade.Vector3(0.06992477921834403,0.05194778743585704,-0.0020119141816365566),
>
> yade.Vector3(0.03353053832780498,0.0638050457047234,-0.0014337628830923873)]
> coords[61] =
> [yade.Vector3(0.32770567530773703,0.11137604522482,-0.009973300831847935),
> yade.Vector3(0.3107704672525277,0.10556108641082654,0.04287299911769453),
>
> yade.Vector3(0.3083995426255764,0.060695768678551185,-0.01299915951015336),
>
> yade.Vector3(0.27796555009534213,0.10914547705638583,-0.005236757296721847)]
> coords[62] =
> [yade.Vector3(0.3405460089465247,0.04672468468677354,0.05333597083639236),
>
> yade.Vector3(0.31629274905985166,0.10103305863870843,0.050497572132385544),
> yade.Vector3(0.2672794399688527,0.04787325322725318,0.10046405156744936),
>
> yade.Vector3(0.26343072387940986,0.09904888480352328,0.05176079103379818)]
> coords[63] =
> [yade.Vector3(0.2630518843461558,0.04915182849052646,0.0006470299953058589),
>
> yade.Vector3(0.31570518510315126,0.05083373765541963,-0.0011216060744026809),
> yade.Vector3(0.2631568596582025,0.09880120273577873,0.05144073777689125),
>
> yade.Vector3(0.285404552399122,0.09995331255219878,0.0006259655653348042)]
> coords[64] = [yade.Vector3(0.39,0.075,0.02500000000000001),
> yade.Vector3(0.39,0.1,-1.734723475976807e-18),
> yade.Vector3(0.3544290330189974,0.10051854106317909,0.03645821795191911),
>
> yade.Vector3(0.3587173035913949,0.0680326865512382,-0.00030850231174175957)]
> coords[65] =
> [yade.Vector3(0.04956668563287012,0.04556918682487886,0.044674075276778136),
>
> yade.Vector3(0.030607360570378623,0.032186597746470695,0.09988440605724103),
>
> yade.Vector3(1.0408340855860843e-17,0.04999999999999998,0.05000000000000002),
>
> yade.Vector3(0.033990437462080345,0.06530761153821317,0.09980253600663341)]
> coords[66] =
> [yade.Vector3(0.04941503772746345,0.046353730626855036,0.044366249177514916),
>
> yade.Vector3(0.0310501060039661,0.032547843484774755,0.09952756532768975),
>
> yade.Vector3(0.03410054603531969,0.06576964704109514,0.09948369348590935),
>
> yade.Vector3(0.07039490804709367,0.05112498941899609,0.09875097610502102)]
> coords[67] =
> [yade.Vector3(0.3400446573651375,0.045377620113847425,0.05570088101969649),
> yade.Vector3(0.3582989301538421,0.10020341652202924,0.06791365862061104),
> yade.Vector3(0.3540580906481444,0.10026578968121491,0.03737796575626966),
> yade.Vector3(0.39000000000000007,0.04999999999999999,0.05)]
> coords[68] =
> [yade.Vector3(0.3402396204211532,0.04430770782031176,0.05557158319392032),
> yade.Vector3(0.39,0.05,0.05),
> yade.Vector3(0.39,0.025,0.024999999999999998),
>
> yade.Vector3(0.3547509647721951,-0.00039522822398567817,0.03697219640524982)]
> coords[69] =
> [yade.Vector3(0.39,3.469446951953614e-18,3.469446951953614e-18),
>
> yade.Vector3(0.35431485762538717,0.036556261035973744,-0.00009225369413471546),
> yade.Vector3(0.39,0.025,0.025),
>
> yade.Vector3(0.3541899401444528,-0.00023392859647868545,0.03652979646927742)]
> coords[70] =
> [yade.Vector3(0.04984279152693431,0.04547745108625738,0.044759271633182385),
>
> yade.Vector3(0.029736500804246415,0.10026948547939302,0.06868510676472478),
> yade.Vector3(0.0342532871439357,0.06530114536183888,0.09973333755625383),
>
> yade.Vector3(4.163336342344337e-17,0.07499999999999998,0.07499999999999998)]
> coords[71] =
> [yade.Vector3(0.04908882895418844,0.046595140311610835,0.044113020365703526),
> yade.Vector3(0.028835291899109446,0.1007764857624299,0.068652326113262),
>
> yade.Vector3(0.06808354167594313,0.10212157216756822,0.049375835122775276),
>
> yade.Vector3(0.03465178645361693,0.06549742300039849,0.09957616709619158)]
> coords[72] =
> [yade.Vector3(0.3392198194364152,-0.0010461937886508347,0.0006587026913589446),
>
> yade.Vector3(0.35441939118207477,-0.000375431479610883,0.03719749055893131),
>
> yade.Vector3(0.3530284904108212,0.03585200816496293,0.0003300769402833272),
> yade.Vector3(0.39,1.734723475976807e-18,1.734723475976807e-18)]
>
> O.dt = 0.0001
> for i in range(73):
> b = yade.utils.tetraPoly(coords[i], dynamic=None, fixed=True,
> wire=True, color=None, highlight=False, noBound=False, material=mat,
> mask=1, chain=-1)
> O.bodies.append(b)
>
> # basic YADE engines fo tetrahedra contact
> O.engines = [
> ForceResetter(),
> InsertionSortCollider([Bo1_Polyhedra_Aabb()]),
> InteractionLoop(
> [Ig2_Polyhedra_Polyhedra_PolyhedraGeom()],
> [Ip2_PolyhedraMat_PolyhedraMat_PolyhedraPhys()],
> [Law2_PolyhedraGeom_PolyhedraPhys_Volumetric()]
> ),
> NewtonIntegrator(damping=0),
> ]
>
>
>
> #################################################################################
>
> After calling O.step() for several times, this bug will occur.
> By the way,
> in Polyhedra_support.cpp, I have modified
> #define DISTANCE_LIMIT 1E-8 ##(Default value is 2E-11)
> #define MERGE_PLANES_LIMIT 1E-8 ##(Default value is 1E-18)
>
> I have visualized those polyhedra, noticing that there are several large
> polyhedra on the top, it seems those large polyhedra have enormous
> contact with others, and there might be some extreme situations among
> them.
>
> --
> You received this question notification because your team yade-users 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 MikeZhao for more information if necessary.

To post a message you must log in.