Applying friction and velocity on the same direction

Hello everyone,

I am currently working on a simulation of a rotating drum. I am creating a background grid on the drum with quadrangle and using Mohr-Coulomb’s constitutive

law for the material.

One of my main challenges is to impose the boundary conditions on the drum.

At the moment, I impose the velocity by defining the euler angles and velocity $\bm{v} \cdot \bm{t} = v$ on the boundary nodes.
In order to avoid that the particles go out, I impose $\bm{v} \cdot \bm{n} = 0$.

I notice that the particles can be attached to the wall, or fall without “physics” following the wall. I think this is because of the BC $\bm{v} \cdot \bm{n} = 0$.
So I would like to define a friction coefficient to better model the wall.

In order to define the friction of the wall, I added a friction on the nodes of the boundary:

        "boundary_conditions": {
            "velocity_constraints": [
                {
                    "nset_id": 0,
                    "dir": 1,
                    "math_function_id": 0,
                    "velocity": 0.05
                },
                {
                    "nset_id": 0,
                    "dir": 0,
                    "velocity": 0.0
                }
            ],
            "friction_constraints": [
                {
                    "nset_id": 0,
                    "dir": 0,
                    "sign_n": -1,
                    "friction": 0.2
                }
            ],
            "nodal_euler_angles": "nodal-euler-angles.txt"
        }

The behaviour is quite strange and the particles of the boundary cells do not follow the imposed velocity anymore but try to leave the boundary cells.

I am trying to check if it is not a question of sign or direction but the behaviour is always the same.

First of all, my question is: do you have any idea if this is the right way/possible to apply velocity and friction on the same local direction, or if there is another way ?
Secondly, I also tried to add particles to define the wall with. I’m also stuck with imposing friction.

I’ll give you some sample files to illustrate.

rot_drum.tar.gz (39.5 KB)

Best Regards.