Clumping positioning and bursting

Asked by Huan

I create clumping with total of 8 layers, but for layer 2, 4, 6, and 8 the x axis and y axis will be move by 0.002. It would result in rhombohedral shape. However, the sphere is suppose to be within the cylinder range and once I press start the sphere would directly burst. In addition, I have try to set color but it doesn't work.

### Here is my code ###

import random
import math
from yade import geom, pack, utils, plot, ymport, export
import numpy as np

# Define cylinder with funnel parameters
center = (0, 0, 0)
diameter = 0.102
height = 0.18

# create cylindrical body with radius 0.102 m and height 0.064 m
cylinder = geom.facetCylinder(center=center, radius=diameter/2, height=height, segmentsNumber=80, wallMask=6)

# add cylinder to simulation
O.bodies.append(cylinder)

# plate properties
clump_plate = CohFrictMat(density = 7500, label = 'clump_plate')

# add properties
O.materials.append(clump_plate)

bodyList = []
zi = 0.1
radius = 0.00221
clumpLimit = diameter - 0.005
num_layers = 8
z_offset_increment = 0.00128

for layer in range(num_layers):
    z_offset = layer * z_offset_increment # Adjust the z-coordinate based on the layer

    for xi in range(-50, 51, 4):
        xi = xi / 1000
        for yi in range(-50, 51, 4):
            yi = yi / 1000

        # Check if the sphere is within the clump limit
            if abs(xi) <= clumpLimit and abs(yi) <= clumpLimit:
                # Move spheres in layers 2, 4, 6, and 8 in x and y axes by 2mm
                if layer in [2, 4, 6, 8]:
                    xi += 0.002
                    yi += 0.002
                sphere_obj = sphere([xi, yi, zi + z_offset], radius)
                # Assign material properties to the sphere
                sphere_obj.material = clump_plate
                bodyList.append(O.bodies.append(sphere_obj))

Question information

Language:
English Edit question
Status:
Solved
For:
Yade Edit question
Assignee:
No assignee Edit question
Solved by:
Huan
Solved:
Last query:
Last reply:
Revision history for this message
Jan Stránský (honzik) said :
#2

Hello,

what is actually the problem / your question?
You describe the situation, but you do not state which part is your problem.
You do not know what is the source of current behavior?
You want to fix it?
... ?

> It would result in rhombohedral shape

not important, but are you sure? The result in GUI looks more like a trapezoid..

> the sphere is suppose to be within the cylinder range

Then do not create them outside the cylinder...

> once I press start the sphere would directly burst.

pres "step" instead of start (to create interactions) and investigate the situation, like if there are overlaps or not.
###
O.step()
pds = [i.geom.penetrationDepth for i in O.interactions]
print("avg pd:", sum(pds)/len(pds))
###
this gives average overlap (penetrationDepth) 0.001 (compare to radius 0.00221)

> I have try to set color but it doesn't work

Thanks for information

> In addition ...

please open a new question for a separate problem ([1], point 5)

Cheers
Jan

[1] https://www.yade-dem.org/wiki/Howtoask

Revision history for this message
Huan (huan-liu) said :
#3

My bad I'll open a new question

Revision history for this message
Jérôme Duriez (jduriez) said :
#4

Regarding clumping, it seems to me there is nowhere in your script a clump-related command, like O.bodies.clump, or O.bodies.appendClumped ??