Discussion Closed This discussion was created more than 6 months ago and has been closed. To start a new discussion with a link back to this one, click here.

micromotion/ relative displace

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


10 Replies Last Post May 28, 2018, 3:21 a.m. EDT
Henrik Sönnerlind COMSOL Employee

Please login with a confirmed email address before reporting spam

Posted: 6 years ago May 14, 2018, 8:03 a.m. EDT

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

-------------------
Henrik Sönnerlind
COMSOL
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

Please login with a confirmed email address before reporting spam

Posted: 6 years ago May 14, 2018, 9:18 a.m. EDT

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: 6 years ago May 15, 2018, 2:22 a.m. EDT

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

-------------------
Henrik Sönnerlind
COMSOL
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

Please login with a confirmed email address before reporting spam

Posted: 6 years ago May 16, 2018, 5:24 p.m. EDT

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: 6 years ago May 18, 2018, 4:38 a.m. EDT

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

-------------------
Henrik Sönnerlind
COMSOL
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

Please login with a confirmed email address before reporting spam

Posted: 6 years ago May 18, 2018, 3:02 p.m. EDT

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: 6 years ago May 21, 2018, 4:15 a.m. EDT

Hi Alexandre,

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

Regards,
Henrik

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

Please login with a confirmed email address before reporting spam

Posted: 6 years ago May 21, 2018, 10:37 a.m. EDT

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: 6 years ago May 24, 2018, 3:29 p.m. EDT

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

-------------------
Henrik Sönnerlind
COMSOL
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

Please login with a confirmed email address before reporting spam

Posted: 6 years ago May 28, 2018, 3:21 a.m. EDT

Thnaks. I tried to incrase mesh quality, but the results still do not match with what is expected. I'll use the difference of displacement between the two parts, along the interface segment.

Thnaks. I tried to incrase mesh quality, but the results still do not match with what is expected. I'll use the difference of displacement between the two parts, along the interface segment.

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.