A program to recognize and reward our most engaged community members
Hi,
As title said, I want to move particles in a selected region like excavation? Is there a method in EDEM to accomplish it?
Raheem
Do you mean remove from the simulation or just move them by a force? Either way the approach is essentially the same. In a PBF specify a volume and only apply a force / remove particles within it by checking against the particle x,y,z.
There's also the dynamic domain if you want to focus on a particular volume of the simulation at a time.Richard
Hi, Do you mean remove from the simulation or just move them by a force? Either way the approach is essentially the same. In a PBF specify a volume and only apply a force / remove particles within it by checking against the particle x,y,z. There's also the dynamic domain if you want to focus on a particular volume of the simulation at a time.Richard
I mean remove them from the simulation, just like I want to remove particles in a domain inside the bulk, like a tunnel.
Hi, I mean remove them from the simulation, just like I want to remove particles in a domain inside the bulk, like a tunnel. Raheem
In that case you'd probably be best defining the region by x,y,z limits and then calling the particleManager->markForRemoval( ) function.
You could also customise a contact model such that when particles touch a specific geometry they are also removed. Both can achieve the same thing, it just depends how complex the region is.
Richard
In that case you'd probably be best defining the region by x,y,z limits and then calling the particleManager->markForRemoval( ) function. You could also customise a contact model such that when particles touch a specific geometry they are also removed. Both can achieve the same thing, it just depends how complex the region is. Richard
I have tried with particleManager->markForRemoval( ) function in a new contact model, but it seems that some particle in my region were not disappear as figure shows.Here I only want to remove the particles with Z>0.
double minX = -60, maxX = 60; double minY = -60, maxY = 60; double minZ = 0, maxZ = 60; if (element1.position.getZ() > minZ) { m_particleMngr->markForRemoval(element1.ID); }
Thanks.
I have tried with particleManager->markForRemoval( ) function in a new contact model, but it seems that some particle in my region were not disappear as figure shows.Here I only want to remove the particles with Z>0. double minX = -60, maxX = 60; double minY = -60, maxY = 60; double minZ = 0, maxZ = 60; if (element1.position.getZ() > minZ) { m_particleMngr->markForRemoval(element1.ID); } Thanks. Raheem
I think I found the way to solve, that is in contact model, I should consider element1 and element2 at the same time, when I changed the code as below, it works.
if (element1.position.getZ() > minZ && element2.position.getZ()) { m_particleMngr->markForRemoval(element1.ID); m_particleMngr->markForRemoval(element2.ID); }