micromotion/ relative displace

Vincent Thommen

Please login with a confirmed email address before reporting spam

Hi,

I'd like to know if it possible to get the relative displacement between two surfaces in contact by friction. I defined points but it is not possible to link them on the surfaces. Is there an easy way to get this ?

Thanks,

Vincent


9 Replies Last Post 2018年5月24日 GMT-0400下午3:29
Henrik Sönnerlind COMSOL Employee

Please login with a confirmed email address before reporting spam

Posted: 2 weeks ago 2018年5月14日 GMT-0400上午8:03

Hi Vincent,

You can use the slip vector, which is defined in the Friction node. With full scope, it looks something like solid.cnt1.fric1.slipX_ap1

( Interface.ContactTag.FrictionTag.slip[XYZ]_contactPair )

Regards,
Henrik

Hi Vincent, You can use the slip vector, which is defined in the Friction node. With full scope, it looks something like solid.cnt1.fric1.slipX\_ap1 ( _Interface_._ContactTag_._FrictionTag_.slip[XYZ]_\_contactPair_ ) Regards, Henrik

Alexandre Terrier

Please login with a confirmed email address before reporting spam

Posted: 2 weeks ago 2018年5月14日 GMT-0400上午9:18

Dear Henrik, I have the same question as Vincent, but I can't find the way to apply you recommendation. What are ContactTag and FrictionTag? I this descibed in the documentation? I could not find it. My model is 2D Axisymmetric. Best Alex

Dear Henrik, I have the same question as Vincent, but I can't find the way to apply you recommendation. What are ContactTag and FrictionTag? I this descibed in the documentation? I could not find it. My model is 2D Axisymmetric. Best Alex

Henrik Sönnerlind COMSOL Employee

Please login with a confirmed email address before reporting spam

Posted: 1 week ago 2018年5月15日 GMT-0400上午2:22

Hi Alexandre,

In my example above ContactTag = cnt1 and FrictionTag = fric1. These are the tags of the corresponding nodes in the model tree. If you are working in an axisymmetric geometry, the your coordinates are names R and Z, rather than X, Y, and Z.

So if you you have a simple model with only one node of each type, the vector components of the slip is solid.cnt1.fric1.slipR_ap1 and solid.cnt1.fric1.slipZ_ap1. The contact pair name is probably 'ap1' or 'p1'. Check under Definitions.

You can also examine the relevant Friction node using Equation View, and see the variable names (and definitions) there.

Regards,
Henrik

Hi Alexandre, In my example above ContactTag = cnt1 and FrictionTag = fric1. These are the tags of the corresponding nodes in the model tree. If you are working in an axisymmetric geometry, the your coordinates are names R and Z, rather than X, Y, and Z. So if you you have a simple model with only one node of each type, the vector components of the slip is solid.cnt1.fric1.slipR\_ap1 and solid.cnt1.fric1.slipZ\_ap1. The contact pair name is probably 'ap1' or 'p1'. Check under Definitions. You can also examine the relevant Friction node using Equation View, and see the variable names (and definitions) there. Regards, Henrik

Alexandre Terrier

Please login with a confirmed email address before reporting spam

Posted: 1 week ago 2018年5月16日 GMT-0400下午5:24

Hi Henrik, I and Vincent (my student) tried to follow your suggestions, but the slip is still zero and present a strange peak, while there is an obvious relative displacement between the source and destination surfaces. Can you help us with the uploaded model? By the way, if we want the total slip, can we ask for sqrt(slipR^2+slipZ^2) ? Best

Hi Henrik, I and Vincent (my student) tried to follow your suggestions, but the slip is still zero and present a strange peak, while there is an obvious relative displacement between the source and destination surfaces. Can you help us with the uploaded model? By the way, if we want the total slip, can we ask for sqrt(slipR^2+slipZ^2) ? Best


Henrik Sönnerlind COMSOL Employee

Please login with a confirmed email address before reporting spam

Posted: 1 week ago 2018年5月18日 GMT-0400上午4:38

Hi Alexandre and Vincent,

There is actually a built-in variable for the total slip. In your model, it is 'solid2.cnt1.fric1.sliptot_p1'. If you are not interested in signs of the slip, then this is the way to go.

Plotting it as is, will however give some rather strong numerical artefacts. Use the expression 'gpeval(4,solid2.cnt1.fric1.sliptot_p1)' instead.

We will change the definition of this variable so that the wrapping in the gpeval() operator becomes standard in the next version. The reason it is makes a difference is that the variable solid2.cnt1.fric1.sliptot_p1 is defined as a sum of two terms, one which is continuous over the element boundary, and one that is stored only in Gauss points. It is then better to evaluate the whole expression only in Gauss points.

By the way, the slip vector I mentioned in the previous postings is the slip between two solution steps (in your case, two parameter values). The total slip variable I suggest here is the accumulated Euclidean norm of the slip vector.

Finally, some suggestions:

  1. When you see strange artefacts in a graph, you can always try to change the settings in the Quality section of a results node. Using Resolution=No refinement, and experimenting with the Smoothing settings can make large differences for some types of variables which have strong variations inside the elements.

  2. In your model, use a higher resolution of the contact boundaries, at least on the curved part.

Regards,
Henrik

Hi Alexandre and Vincent, There is actually a built-in variable for the total slip. In your model, it is 'solid2.cnt1.fric1.sliptot\_p1'. If you are not interested in signs of the slip, then this is the way to go. Plotting it as is, will however give some rather strong numerical artefacts. Use the expression 'gpeval(4,solid2.cnt1.fric1.sliptot\_p1)' instead. We will change the definition of this variable so that the wrapping in the gpeval() operator becomes standard in the next version. The reason it is makes a difference is that the variable solid2.cnt1.fric1.sliptot\_p1 is defined as a sum of two terms, one which is continuous over the element boundary, and one that is stored only in Gauss points. It is then better to evaluate the whole expression only in Gauss points. By the way, the slip vector I mentioned in the previous postings is the slip between two solution steps (in your case, two parameter values). The total slip variable I suggest here is the accumulated Euclidean norm of the slip vector. Finally, some suggestions: 1. When you see strange artefacts in a graph, you can always try to change the settings in the Quality section of a results node. Using Resolution=No refinement, and experimenting with the Smoothing settings can make large differences for some types of variables which have strong variations inside the elements. 2. In your model, use a higher resolution of the contact boundaries, at least on the curved part. Regards, Henrik

Alexandre Terrier

Please login with a confirmed email address before reporting spam

Posted: 7 days ago 2018年5月18日 GMT-0400下午3:02

Thanks Henrik,

I'm currently using version 5.3, so I'll only be able to try gpeval when I'll have installed the 5.3a update. In the meatime, I've tried your suggestions: sliptot with Quality adaptation. I got some results, but they are not consistent with the displacements of the two surfaces. I should have about 4 µm in one side (and 0 in opposite side), but I got 0 µm (and 35 in opposite side).

Thanks Henrik, I'm currently using version 5.3, so I'll only be able to try gpeval when I'll have installed the 5.3a update. In the meatime, I've tried your suggestions: sliptot with Quality adaptation. I got some results, but they are not consistent with the displacements of the two surfaces. I should have about 4 µm in one side (and 0 in opposite side), but I got 0 µm (and 35 in opposite side).

Henrik Sönnerlind COMSOL Employee

Please login with a confirmed email address before reporting spam

Posted: 4 days ago 2018年5月21日 GMT-0400上午4:15

Hi Alexandre,

In older versions, you can use comp2.solid2.solidGpEval(solid2.cnt1.fric1.sliptot_p1) to get the same effect.

Regards,
Henrik

Hi Alexandre, In older versions, you can use comp2.solid2.solidGpEval(solid2.cnt1.fric1.sliptot\_p1) to get the same effect. Regards, Henrik

Alexandre Terrier

Please login with a confirmed email address before reporting spam

Posted: 4 days ago 2018年5月21日 GMT-0400上午10:37

Dear Henrik,

Thanks for your help, but we still have a problem. With solidGpEval the resulting curve is very different than without, we lost the length unit, and the result is still not consistent with what is expected: at arclength=0 (uppper part of the metallic implant) slip should be zero, and it should increase to about 3.75 µm at arclength=10 (external bone-implant junction).

Best

Alex

Dear Henrik, Thanks for your help, but we still have a problem. With solidGpEval the resulting curve is very different than without, we lost the length unit, and the result is still not consistent with what is expected: at arclength=0 (uppper part of the metallic implant) slip should be zero, and it should increase to about 3.75 µm at arclength=10 (external bone-implant junction). Best Alex

Henrik Sönnerlind COMSOL Employee

Please login with a confirmed email address before reporting spam

Posted: 21 hours ago 2018年5月24日 GMT-0400下午3:29

Hi Alexandre,

The mesh is too coarse in the contact region. If you refine it by a factor 2-4 you will get much better results.

Note also that 'slip' is only computed while the surfaces are in contact. So if they translate along each other while being apart, there is no contribution to the accumulated slip.

Regards,
Henrik

Hi Alexandre, The mesh is too coarse in the contact region. If you refine it by a factor 2-4 you will get much better results. Note also that 'slip' is only computed while the surfaces are in contact. So if they translate along each other while being apart, there is no contribution to the accumulated slip. Regards, Henrik

Reply

Please read the discussion forum rules before posting.

Please log in to post a reply.

Note that while COMSOL employees may participate in the discussion forum, COMSOL® software users who are on-subscription should submit their questions via the Support Center for a more comprehensive response from the Technical Support team.