Contact Mechanics - Friction Test

Numerical methods and mathematical models of Elmer
maike151
Posts: 41
Joined: 10 May 2019, 10:00
Antispam: Yes
Location: Cologne, Germany

Re: Contact Mechanics - Friction Test

I am now trying to apply a Force or a Surface Traction to achieve the side motion instead of Displacement, I'll get back to you when I have some results.
maike151
Posts: 41
Joined: 10 May 2019, 10:00
Antispam: Yes
Location: Cologne, Germany

Re: Contact Mechanics - Friction Test

Ok.. so I've tried Force 2 and Normal Force at the back side of the cube and Surface Traction 2 and Normal Surface Traction at the front side of the cube. The cube starts rotating and does not only move in y-direction. I tried to put Displacement 1 = Real 0.0 for every side of the cube but then the cube does not move at all. I also tried "Normal-Tangential Displacement Rotate = Logical False", but then I get memory errors..
The contact is still well-recognized though..
maike151
Posts: 41
Joined: 10 May 2019, 10:00
Antispam: Yes
Location: Cologne, Germany

Re: Contact Mechanics - Friction Test

Turned out it works, but the force I applied was too low. I applied the static friction force (~0,03) as Surface Traction and because of it being too low nothing happened. Then I randomly put Normal Surface Traction = Real 300.0 at the front side of the cube (+Displacement 1 = Real 0.0 for the whole cube) and it moves correctly! I takes alot of time for one timestep though so I'm waiting to see if the outputted forces are correct.

I also started the one with 0.03 again, maybe it just takes some time until the cube starts moving. I'll let it run over the weekend.
kevinarden
Posts: 663
Joined: 25 Jan 2019, 01:28
Antispam: Yes

Re: Contact Mechanics - Friction Test

From the solver manual the mortar bc condition is applied to the slave surface and points to the master. It also says the master had to be bigger then or the same size as the slave surface. So I had to change my BCs around. The friction.sif produced the avi video. The normal contact load and displacement look good, but the slip load is too high (nearly equals the normal load).

https://github.com/mrkearden/platecontact_elmer
maike151
Posts: 41
Joined: 10 May 2019, 10:00
Antispam: Yes
Location: Cologne, Germany

Re: Contact Mechanics - Friction Test

When I run friction.sif, somehow the plate does not move at all.

Shouldn't the slip load correspond to the force you apply on the cube? So in your friction.sif, 300000?
kevinarden
Posts: 663
Joined: 25 Jan 2019, 01:28
Antispam: Yes

Re: Contact Mechanics - Friction Test

I assume the slip load would be equal to the friction force which is the friction coefficient times the normal load. 0.003 x 100000. = 300. However the slip load is so high it takes 300000 to move the plate. I do not have deformed mesh on so you have to use warp vector in paraview to scale the displacements to make them visible.

The code calculate the slip load as
SlipForce = SQRT( SUM( NodalForce**2 ) - NormalForce**2 )

which is not the normal load times the coefficient of friction.
maike151
Posts: 41
Joined: 10 May 2019, 10:00
Antispam: Yes
Location: Cologne, Germany

Re: Contact Mechanics - Friction Test

Right, the Slipload is the Force that is applied to the cube in tangential direction. The formula is correct, and I also traced "NodalForce" back to the ElasticSolver and it is really the value that you can set as BC as either Force/Surface Traction 1,2,3 or Normal Force/Surface Traction. Somehow the values do not reach this part of the Code correctly though and I could not find out why yet.

Normal Load times static/dynamic coefficient of friction would be static/dynamic friction force, which is the force that operates in the opposite direction of where the cube moves. So to get the cube moving, you first have to apply a tangential force greater than the static friction force. Once the cube is moving, it is enough to apply a force as big as the dynamic friction force to keep it moving. This corresponds to the slipload.
maike151
Posts: 41
Joined: 10 May 2019, 10:00
Antispam: Yes
Location: Cologne, Germany

Re: Contact Mechanics - Friction Test

SlipForce = SQRT( SUM( NodalForce**2 ) - NormalForce**2 )

In my understanding NodalForce is a matrix with *number of dimensions* rows and *number of elements* columns, because this is how it is saved in ElasticSolver:

LoadVector(1,1:n) = GetReal( BC, 'Surface Traction 1', GotIt )
IF (.NOT. GotIt) LoadVector(1,1:n) = GetReal( BC, 'Force 1', GotIt )
GotForceBC = GotForceBC .OR. GotIt

LoadVector(2,1:n) = GetReal( BC, 'Surface Traction 2', GotIt )
IF (.NOT. GotIt) LoadVector(2,1:n) = GetReal( BC, 'Force 2', GotIt )
GotForceBC = GotForceBC .OR. GotIt

LoadVector(3,1:n) = GetReal( BC, 'Surface Traction 3', GotIt )
IF (.NOT. GotIt) LoadVector(3,1:n) = GetReal( BC, 'Force 3', GotIt )
GotForceBC = GotForceBC .OR. GotIt

(LoadVector being handed over a couple times and eventually becoming NodalForce).

And now SUM(NodalForce**2)) would be the sum of every entry of the matrix NodalForce*NodalForce?

I think what they want is the resulting force of all nodal forces in all directions and I think that would be NodalForce = SQRT( (SUM(NodalForce(1,:))² + (SUM(NodalForce(2,:))² + (SUM(NodalForce(3,:))² ). Do you kind of agree?
kevinarden
Posts: 663
Joined: 25 Jan 2019, 01:28
Antispam: Yes

Re: Contact Mechanics - Friction Test

This case work well borrowed from the blunt 2d slide test
blunt.zip
Modified the sif to the 3d plate model and it works fairly well F=mu*N in the fa.dat file

They both diverge if a force is applied to the cube instead of an enforced displacement.
slide.sif
used with the plates mesh
maike151
Posts: 41
Joined: 10 May 2019, 10:00
Antispam: Yes
Location: Cologne, Germany

Re: Contact Mechanics - Friction Test

That does work well! Thank you! So I guess the friction contact just does not work yet.