← Back to team overview

yade-users team mailing list archive

Re: [Question #268936]: Intersection of facets

 

Hello José,
if I understand correctly, this feature is not directly supported by Yade.
However, you can use some preprocessor for facets, either your own script,
or use some mesher generating triangular surface mesh (personally I
usuzally use Salome [1]). Yade can read various mesh formats (gmsh, iges,
stl, gts, unv), see [2].
If I understood incorrectly or in case of any further question, do not
hesitate to ask :-)
cheers
Jan

[1] http://www.salome-platform.org/
[2] https://yade-dem.org/doc/yade.ymport.html



2015-07-06 21:07 GMT+02:00 José Mercado <
question268936@xxxxxxxxxxxxxxxxxxxxx>:

> New question #268936 on Yade:
> https://answers.launchpad.net/yade/+question/268936
>
> Hi everybody!
>
> I have problems trying to eliminate a facet. The geometry that i need is
> the intersection of a facetbox with a facetcylinder. With the wallMask
> command inside the facetCylinder i removed the top "circle" of the cylinder
> but i have problem with the bottom wall of the box. The balls cant enter in
> the cylinder because i need a "circular hole" in the bottom wall of the
> box. There is a possibility of generating a geometry through the
> intersection of the cylinder and the box? (like predicates).
>
> I tried the following code:
>
> from __future__ import division
> from yade import pack
> from yade import plot,qt
> import math,numpy
>
> ### SPHERES
>
> sp=pack.SpherePack()
> sp.makeCloud((-5,-5,-5),(5,5,5),rMean=0.05,rRelFuzz=.5,num=10000)
> sp.toSimulation()
>
> ### MATERIAL OF SPHERES AND WALLS
>
> O.materials[0].frictionAngle=atan(0.5)
> O.materials[0].poisson=.5
> O.materials[0].young=1e6
> O.materials[0].density=1000
>
> id_wall =
> O.materials.append(FrictMat(density=10000,young=1e11,poisson=.5,frictionAngle=atan(0.5),label="wallmat"))
> O.materials[id_wall]
>
> ### WALLS
>
>
> O.bodies.append(yade.geom.facetCylinder((0,0,-6),radius=1,height=2,segmentsNumber=20,wallMask=6))
>
> O.bodies.append(yade.geom.facetBox((0,0,0),(5,5,5)))
>
> # ENGINE
>
> O.engines=[
>    ForceResetter(),
>    InsertionSortCollider([Bo1_Sphere_Aabb(),Bo1_Facet_Aabb()]),
>    InteractionLoop(
>       [Ig2_Sphere_Sphere_ScGeom(),Ig2_Facet_Sphere_ScGeom()],
>       [Ip2_FrictMat_FrictMat_FrictPhys()],
>       [Law2_ScGeom_FrictPhys_CundallStrack()],
>    ),
>    NewtonIntegrator(damping=0.4,gravity=(0,0,-9.81)),
>    # call the checkUnbalanced function (defined below) every 2 seconds
> ]
>
> O.dt=utils.PWaveTimeStep()
>
>
>
>
> --
> 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
>

Follow ups

References