← Back to team overview

yade-users team mailing list archive

Re: [Question #270352]: Why are no bonds formed by this script if aabbEnlargeFactor & interactionDetectionFactor are high enough?

 

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

    Status: Open => Answered

Anton Gladky proposed the following answer:
Hi Christopher,

did you execute at least one step to
give a chance Yade to detect contacts?

Anton


2015-08-13 18:46 GMT+02:00 Christopher Stanbridge
<question270352@xxxxxxxxxxxxxxxxxxxxx>:
> New question #270352 on Yade:
> https://answers.launchpad.net/yade/+question/270352
>
> Hello all,
>
> The Yade script I've posted below should, according to the aabbEnlargeFactor and interactionDetectionFactor values, generate bonds between adjacent spheres. However, it doesn't -- the number of contacts formed by it is zero. Does anyone here know why this might be? All help is appreciated.
>
> - Christopher Stanbridge
>
> import sys, time, random, os, gts, math
> from yade import ymport
> from yade import pack
> from yade import qt
> from yade import export
>
> mat1=O.materials.append(CohFrictMat(young=1e8, poisson=1/0.25, density=2000, frictionAngle=radians(30), alphaKr=0.89, alphaKtw=0.67, etaRoll=-1, isCohesive=True, momentRotationLaw=True,normalCohesion=20000,shearCohesion=30000))
> sphereIce=O.materials[mat1]
>
> mat2=O.materials.append(CohFrictMat(young=1e8, poisson=1/0.25, density=2000, frictionAngle=radians(30), alphaKr=0.89, alphaKtw=0.67, etaRoll=-1, isCohesive=False, momentRotationLaw=True,normalCohesion=0,shearCohesion=0))
> wallIce=O.materials[mat2]
>
> O.bodies.append([
>         utils.wall(-1,0,material=wallIce,color=(0.8,0.8,0.8)),
>         utils.wall(1,0,material=wallIce,color=(0.8,0.8,0.8)),
>         utils.wall(-1,1,material=wallIce,color=(0.8,0.8,0.8)),
>         utils.wall(1,1,material=wallIce,color=(0.8,0.8,0.8)),
>         utils.wall(-1,2,material=wallIce,color=(0.8,0.8,0.8)),
>         utils.wall(1,2,material=wallIce,color=(0.8,0.8,0.8))
> ])
>
> for x in range(-9, 9):
>         for y in range(-9, 9):
>                 for z in range(-9, 9):
>                         r = 0.05
>                         if (x + y + z) % 2 == 1:
>                                 r = 0.045
>                         O.bodies.append(utils.sphere(center=(x/10.0,y/10.0,z/10.0),radius=r,material=sphereIce,color=(0.8,0.2,0.2),fixed=False))
>
>
> O.engines=[
>         ForceResetter(),
>         InsertionSortCollider([ Bo1_Sphere_Aabb(aabbEnlargeFactor=1.3), Bo1_Wall_Aabb()]),
>         InteractionLoop([Ig2_Sphere_Sphere_ScGeom6D(interactionDetectionFactor=1.3), Ig2_Wall_Sphere_L3Geom()],
>                 [Ip2_CohFrictMat_CohFrictMat_CohFrictPhys(setCohesionNow=True,setCohesionOnNewContacts=False)],
>                 [Law2_ScGeom6D_CohFrictPhys_CohesionMoment(always_use_moment_law=False, creep_viscosity=1, neverErase=False,shear_creep=False,twist_creep=False,useIncrementalForm=False)]
>         ),
>
>         NewtonIntegrator(damping=0.2, gravity=[0, 0, 0], label='integrator')
> ]
>
>
>
> --
> 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     : yade-users@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~yade-users
> More help   : https://help.launchpad.net/ListHelp

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