Simulating a block sliding on plane with friction
I am trying to model a block sliding on a plane with friction contact. I would expect the friction force to be equal to Mu*m*g, but I am getting a very different answer. So not sure, what the issue might be with my model. I am attaching the model with this post.
For the above model,
Units: kg-mm-ms
Size of Block = 10mmx10mmx10mm
Volume of Block = 1000mm^3
Density (steel) = 7.85e-6 kg/mm^3
Mass = Density*Volume = 7.85e-6*1000 = 7.85e-3 kg = 7.85 gm
Reaction Force = m*g = 7.85e-3 kg *9.81 m/s2 = 0.077N
Friction coefficient = 1.0
Friction Force = 1.0*0.077N = 0.077N
So, I would expect .077N = 7.7e-5 kN Reaction Force.
I have applied gravity load on the Blue block and imposed constant velocity on the green Press.
Ultimately, I wanted to increase the friction coefficient to cause the block to trip.
What is wrong with my model (attached with this post)?
Thank you.
Ashmita
Best Answer
-
There are a few things in error in your original model, but fundamentally, achieving what you are looking for probably isn't achievable anyway (I'll come on to that)
Things in error (or at least questionable)
Your 'pusher' is attached to your block, and it has a vertical constraint and rotation constraints at the main node of the rbody, so the gravity isn't able to act on the block as a body force, in effect, in your model the block can only move down by deforming under its own mass, (so you are forcing it to remain in plane in effect)
Your meshes between plate and block are aligned exactly, though TYPE24 interface is 'surf-surf' it is in effect 2 node-surf contacts, in each nodal location you have a node on the corner of 4 segments, this will give poor behaviour.
Your loading is defined as an imposed velocity at the main node of the pusher only, and it starts at a value of 0.1 in X at time 0, this means it has to 'instantaneously' accelerate the rest of the block to a velocity of 0.1, so you will see the inertial effect of doing that, you should add an initial velocity of 0.1 in X to all nodes of the block and pusher
To move to the reasons why you may have difficulty achieving what you are looking for even with corrections:
TYPE24 is a penalty stiffness contact (in effect each node-segment contact pairing is a 'spring'), the aim of the contact is to prevent penetration of secondary nodes into main segments, in the normal (Z) contact direction, the force generated to push the node back against penetration is proportional to the amount of penetration of node-segment. Friction (tangential force) is then a proportion of that force (as you describe in your comment), but the issue in practice is that because of the way a penalty stiffness contact works, there is only normal force when there is penetration, and that force pushes the parts out of penetration, once there is no penetration, there is no normal force, (and therefore no friction/tangential force either) gravity then makes the block come down again, and you get penetration and friction force again (you get a bouncing block)
I made the corrections to your model I described (removed vertical constraint, de-aligned the meshes and added an initial velocity to the block and pusher), my version is attached. In the gif below, you can see that the forces are much much lower (peaks in pusher reaction force are in order of 0.002 kN rather than your 15-20kN) and oscillating about 0 as the cube bounces, I have magnified the vertical component of displacement on the block by a factor of 10 in the animation so you can see the bouncing more easily.
You could likely improve the behaviour further by playing with STFAC parameter on the contact to reduce the penalty stiffness, or adding damping to reduce the bouncing, but the fundamental issue will remain, that a penalty stiffness contact is trying to push the parts out of contact, and once they are out of contact, there is no normal force to generate a friction force!
1
Answers
-
There are a few things in error in your original model, but fundamentally, achieving what you are looking for probably isn't achievable anyway (I'll come on to that)
Things in error (or at least questionable)
Your 'pusher' is attached to your block, and it has a vertical constraint and rotation constraints at the main node of the rbody, so the gravity isn't able to act on the block as a body force, in effect, in your model the block can only move down by deforming under its own mass, (so you are forcing it to remain in plane in effect)
Your meshes between plate and block are aligned exactly, though TYPE24 interface is 'surf-surf' it is in effect 2 node-surf contacts, in each nodal location you have a node on the corner of 4 segments, this will give poor behaviour.
Your loading is defined as an imposed velocity at the main node of the pusher only, and it starts at a value of 0.1 in X at time 0, this means it has to 'instantaneously' accelerate the rest of the block to a velocity of 0.1, so you will see the inertial effect of doing that, you should add an initial velocity of 0.1 in X to all nodes of the block and pusher
To move to the reasons why you may have difficulty achieving what you are looking for even with corrections:
TYPE24 is a penalty stiffness contact (in effect each node-segment contact pairing is a 'spring'), the aim of the contact is to prevent penetration of secondary nodes into main segments, in the normal (Z) contact direction, the force generated to push the node back against penetration is proportional to the amount of penetration of node-segment. Friction (tangential force) is then a proportion of that force (as you describe in your comment), but the issue in practice is that because of the way a penalty stiffness contact works, there is only normal force when there is penetration, and that force pushes the parts out of penetration, once there is no penetration, there is no normal force, (and therefore no friction/tangential force either) gravity then makes the block come down again, and you get penetration and friction force again (you get a bouncing block)
I made the corrections to your model I described (removed vertical constraint, de-aligned the meshes and added an initial velocity to the block and pusher), my version is attached. In the gif below, you can see that the forces are much much lower (peaks in pusher reaction force are in order of 0.002 kN rather than your 15-20kN) and oscillating about 0 as the cube bounces, I have magnified the vertical component of displacement on the block by a factor of 10 in the animation so you can see the bouncing more easily.
You could likely improve the behaviour further by playing with STFAC parameter on the contact to reduce the penalty stiffness, or adding damping to reduce the bouncing, but the fundamental issue will remain, that a penalty stiffness contact is trying to push the parts out of contact, and once they are out of contact, there is no normal force to generate a friction force!
1 -
Thank you Paul as always for your very detailed response. I am studying your suggestions and am trying few runs. I changed the contact interface to Type 2 to see what happens. Once I have done some more tests, I will post my detailed findings/questions. Thanks a lot.
Ashmita
0 -
Ashmita Tiwari said:
Thank you Paul as always for your very detailed response. I am studying your suggestions and am trying few runs. I changed the contact interface to Type 2 to see what happens. Once I have done some more tests, I will post my detailed findings/questions. Thanks a lot.
Ashmita
Type 2 is a constraint interface, rather than a contact interface, that won't work well either!
1 -
Just wanted to add the TYPE7 contact also does not work. If there is no initial gap, then the simulation throws and error about interference.
If I put a small gap to fix the above error, then all the elements that are in contact get deleted (maybe due to extremely high force at initial time step).
Ashmita
0 -
My best attempt so far. Was not able to improve upon Paul's model.
0