Mesh with friction?

Asked by abasak

Hello,

I am looking to model the interaction of a sphere with a mesh, with friction interaction between them. On reasding through the tutorial, it seems the only way is to create "bonded walls", i.e. particles bonded with the walls. Isn't there a way to model a sphere-on-a-mesh without using bonded walls...I mean just as there is an interaction group called RotFrictionPrms betwen spheres, isn't it possible to specifiy one between a sphere and a mesh?

Abhishek

Question information

Language:
English Edit question
Status:
Answered
For:
ESyS-Particle Edit question
Assignee:
No assignee Edit question
Last query:
Last reply:
Revision history for this message
Dion Weatherley (d-weatherley) said :
#1

Hi Abhishek,

At this stage ESyS-Particle does not have any frictional wall interactions implemented. The only way to simulate frictional interactions with walls (without implementing a new interaction group) is to glue particles to walls as described in the Tutorial. Having said that, in principle there is no reason why frictional wall interactions cannot be implemented. I've also discussed this briefly in this question:
https://answers.launchpad.net/esys-particle/+question/96072

If you know of (or find) an algorithm for implementing frictional wall interactions or would like to implement it yourself, I'd be happy to provide some assistance if I can.

BTW, if you plan to use mesh walls, please be aware of this bug:
https://bugs.launchpad.net/esys-particle/+bug/442881

We hope to have this bug fixed before the next major release of ESyS-Particle (v2.1) in a few months time.

Cheers,

Dion.

Revision history for this message
abasak (abhishek-basak) said :
#2

Hello Dion,

Thank you for the reply. I wonder is there a special problem with implementing an interaction between a sphere and a mesh?......I mean......The interaction will be exactly the same as between two spheres, except the "mass" and the "radius" of the wall will be infinite. I don't know about a 3D case, but I have implemented a ball-wall interaction in 2D in a FORTRAN code that I have written.....and I did not face any apparent problem.......but..I wonder if I am missing something......

....also looking through the links that you provided.......I wonder if it is possible to assign a certain angular velocity to a given mesh...since my application also has a similar feature....

Thanks
Abhishek

Revision history for this message
Dion Weatherley (d-weatherley) said :
#3

Hi Abhishek,

Implementing interactions between simple, planar walls and particles is basically as easy as you describe. In ESyS-Particle, the NRotElasticWallPrms and NRotBondedWallPrms interaction groups implement non-frictional interactions between particles and planar walls. Unfortunately, implementing interactions between non-planar walls and particles is not quite so simple. In ESyS-Particle, non-planar walls may be simulated using triangular meshes. To implement interactions (even non-frictional interactions) requires that you consider at least three special cases:

1) a particle touching the surface of a triangle,
2) a particle touching an edge of a triangle, and
3) a particle touching a corner of a triangle

The bug I mentioned previously applies to non-planar, triangle mesh walls and I suspect that particles get stuck to these walls because of a bug involving detection of which of the three cases above applies to any given particle. A colleague is working on fixing this but it is quite a complicated problem from what I can tell.

In principle, yes it is possible to assign an angular velocity to a wall in ESyS-Particle but such an interaction is not yet implemented in the code. The same applies to frictional wall interactions: it is certainly quite possible to implement such an interaction but no-one has yet done so. Most ESyS-Particle contributers are not paid to just develop the code. They are paid to do research using ESyS-Particle and voluntarily contribute their modifications so others may also benefit from their effort.

Cheers,

Dion.

Revision history for this message
abasak (abhishek-basak) said :
#4

Hello Dion,

Thank you for the info!..yes..I remember now I had similar problems while implementing my 2D DEM program. Since it was a 2D program, the "walls" were represented by line segments, and the balls by circles. The problem arose if the ball collided with the vertex between two line segments..I guess the problem you described is similar to the above.

I went round the problem by assuming small spheres around the vertices. I say "assumed" because they were not actually included in the model (and hence did not increase the RAM required), but were included on the logic. That is......in the subroutine which calculated the distance between a given wall segment and a sphere, it also calculated the distance of the sphere from the "vertex-spheres" .....in this way I would always get a normal direction to apply the force.... I hope I make sense :-)

..in a similar way..i think we can consider thin cylinders as replacement of edges and spheres as replacement of vertices......one another way is to specify a "fillet" dimension......

I am thinking of taking a look under the bonnet of the code....any idea where should I start?....I mean any documentation which gives the overal idea of the code's organisation?

Regards
Abhishek

Revision history for this message
abasak (abhishek-basak) said :
#5

Just to add.... I have gone through the documentation at https://twiki.esscc.uq.edu.au/pub/ESSCC/DocumentationAndPresentations/HowToAddInteraction.pdf ...but the part on mesh-particle interaction ..is not included......while I suppose a major portion of it will be similar to particle-particle interaction ..... I am not sure if its just a matter of replacing CParticle with the corresponding "mesh" class.....

Abhishek

Revision history for this message
Dion Weatherley (d-weatherley) said :
#6

Hi Abhishek,

I am personally not so familiar with exactly how the triangle mesh wall interactions are implemented. Your suggestions about spheres and cylinders sound very good though. I would not be surprised that a similar concept is being used in ESyS-Particle already.

Regarding documentation about the ESyS-Particle code itself: unfortunately the only documentation currently available is the interaction tutorial. This tutorial only covers how to add unbonded particle-pair interactions and does not provide an overview of the code structure. I am planning to write some more "programmers documentation" this year, amongst a long list of other things. ;)

The best advice I can offer at this stage would be to familiarise yourself with the various different types of interactions implemented in ESyS-Particle. All of these are found in the Model/ subdirectory of the source code. After that, the two most important data structures in ESyS-Particle are the LatticeMaster and the SubLattice in the Parallel/ subdirectory. These are the major control structures defining how a master and a worker process operate. Understanding what these do and how these two communicate (via MPI) is critical to understanding the ESyS-Particle source code.

I hope this helps.

Cheers,

Dion.

Can you help with this problem?

Provide an answer of your own, or ask abasak for more information if necessary.

To post a message you must log in.