yade.potential_utils module

Auxiliary functions for the Potential Blocks

yade.potential_utils.aabbPlates(material, extrema=None, thickness=0.0, r=0.0, R=0.0, mask=1, isBoundary=False, fixed=True, color=None)[source]

Return 6 cuboids that will wrap existing packing as walls from all sides. #FIXME: Correct this comment

Parameters:
  • material (Material) – material of new bodies (FrictMat)
  • Vector3] extrema ([Vector3,) – extremal points of the Aabb of the packing, as a list of two Vector3, or any equivalent type (will not be calculated if not specified)
  • thickness (float) – wall thickness (equal to 1/10 of the smallest dimension if not specified)
  • r (float) – radius of inner Potential Particle (see PotentialBlock docs)
  • R (float) – distance R of the Potential Blocks (see PotentialBlock docs)
  • mask (int) – groupMask for the new bodies
Returns:

a list of 6 PotentialBlock Bodies enclosing the packing, in the order minX,maxX,minY,maxY,minZ,maxZ.

yade.potential_utils.cuboid(material, edges=Vector3(1,1,1), r=0.0, R=0.0, center=[0, 0, 0], mask=1, isBoundary=False, fixed=False, color=[-1, -1, -1])[source]

creates cuboid using the Potential Blocks

Parameters:
  • edges (Vector3) – edges of the cuboid
  • material (Material) – material of new body (FrictMat)
  • center (Vector3) – center of the new body
yade.potential_utils.cylindricalPlates(material, radius=0.0, height=0.0, thickness=0.0, numFaces=3, r=0.0, R=0.0, mask=1, isBoundary=False, fixed=True, lid=[True, True], color=None)[source]

Return numFaces cuboids that will wrap existing packing as walls from all sides. #FIXME: Correct this comment

Parameters:
  • material (Material) – material of new bodies (FrictMat)
  • radius (float) – radius of the cylinder
  • height (float) – height of cylinder
  • thickness (float) – thickness of cylinder faces (equal to 1/10 of the cylinder inradius if not specified)
  • numFaces (int) – number of cylinder faces (>3)
  • r (float) – radius of inner Potential Particle (see PotentialBlock docs)
  • R (float) – distance R of the Potential Blocks (see PotentialBlock docs)
  • mask (int) – groupMask for the new bodies
  • [bool] (lid) – list of booleans, whether to create the bottom and top lids of the cylindrical plates
Returns:

a list of cuboidal Potential Blocks forming a hollow cylinder

yade.potential_utils.platonic_solid(material, numFaces, edge=0.0, ri=0.0, rm=0.0, rc=0.0, volume=0.0, r=0.0, R=None, center=[0, 0, 0], mask=1, isBoundary=False, fixed=False, color=[-1, -1, -1])[source]
yade.potential_utils.potentialblock(material, a=[], b=[], c=[], d=[], r=0.0, R=0.0, mask=1, isBoundary=False, fixed=False, color=[-1, -1, -1])[source]

creates potential block.

Parameters:
  • material (Material) – material of new body
  • a,b,c,d ([float]) – lists of plane coefficients of the particle faces (see PotentialBlock docs)
  • r (float) – radius of inner Potential Particle (see PotentialBlock docs)
  • R (float) – distance R of the Potential Blocks (see PotentialBlock docs)
  • isBoundary (bool) – whether this is a boundary body (see PotentialBlock docs)
yade.potential_utils.prism(material, radius1=0.0, radius2=-1, thickness=0.0, numFaces=3, r=0.0, R=0.0, center=None, color=[1, 0, 0], mask=1, isBoundary=False, fixed=False)[source]

Return regular prism with numFaces

Parameters:
  • material (Material) – material of new bodies (FrictMat)
  • radius1 (float) – inradius of the start cross-section of the prism
  • radius2 (float) – inradius of the end cross-section of the prism (equal to radius1 if not specified)
  • thickness (float) – thickness of the prism (equal to radius1 if not specified)
  • numFaces (int) – number of prisms’ faces (>3)
  • r (float) – radius of inner Potential Particle (see PotentialBlock docs)
  • R (float) – distance R of the Potential Blocks (see PotentialBlock docs)
  • center (Vector3) – center of the Potential Blocks (not currently used)
  • mask (int) – groupMask for the new bodies
Returns:

an axial-symmetric Potential Block with variable cross-section, which can become either a regular prism (radius1=radius2), a pyramid (radius2=0) or a cylinder or cone respectively, for a large enough numFaces value.