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.

Calculating contact area

Please login with a confirmed email address before reporting spam

Is there any way to calculate the contact area of a contact pair within COMSOL (ie without having to post-process data in MATLAB, which I have yet to try)? I have tried surface integration and other options under "Derived Values" to no avail.

7 Replies Last Post Feb 14, 2017, 3:28 p.m. EST
Ivar KJELBERG COMSOL Multiphysics(r) fan, retired, former "Senior Expert" at CSEM SA (CH)

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago Feb 5, 2013, 1:54 a.m. EST
Hi

if you integrate a Boolean equation on the contact pressure, when its over a given limit value you can get a reasonable contact area surface out (you can also plot it like that to see the shape to check

--
Good luck
Ivar
Hi if you integrate a Boolean equation on the contact pressure, when its over a given limit value you can get a reasonable contact area surface out (you can also plot it like that to see the shape to check -- Good luck Ivar

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago Feb 5, 2013, 9:22 a.m. EST
Excellent! Thank you.
Excellent! Thank you.

Please login with a confirmed email address before reporting spam

Posted: 9 years ago Apr 17, 2015, 6:05 a.m. EDT
I also have the same question. But I am not sure what is the meaning by " integrate a Boolean equation on the contact pressure". Thank you.
I also have the same question. But I am not sure what is the meaning by " integrate a Boolean equation on the contact pressure". Thank you.

Nagi Elabbasi Facebook Reality Labs

Please login with a confirmed email address before reporting spam

Posted: 9 years ago Apr 17, 2015, 10:29 a.m. EDT
Hi Chengzhi,

If the contact pressure is called say solid.Tn then the Boolean operation is (solid.Tn>0). This expression gives a value of one when the pressure is positive, zero otherwise. If you integrate it over a surface it gives the area of the region that is in contact.

Nagi Elabbasi
Veryst Engineering
Hi Chengzhi, If the contact pressure is called say solid.Tn then the Boolean operation is (solid.Tn>0). This expression gives a value of one when the pressure is positive, zero otherwise. If you integrate it over a surface it gives the area of the region that is in contact. Nagi Elabbasi Veryst Engineering

Please login with a confirmed email address before reporting spam

Posted: 9 years ago Apr 17, 2015, 2:11 p.m. EDT
One issue with Booleans is they are sensitive to small changes in mesh. An alternative is to use a function which goes from 0 at 0 to 1 at high values, for example:

f = (P/P0)^2 / [ 1 + (P / P0)^2 ]

for some threshold pressure P0.
One issue with Booleans is they are sensitive to small changes in mesh. An alternative is to use a function which goes from 0 at 0 to 1 at high values, for example: f = (P/P0)^2 / [ 1 + (P / P0)^2 ] for some threshold pressure P0.

Please login with a confirmed email address before reporting spam

Posted: 8 years ago Mar 13, 2016, 11:07 a.m. EDT
Hi,
I have a 2D model costituited by elastomer (rectangular block) that sliding on rigid (square) pyramidal substrate; how can i estimate effective contact area of elastomer? How can i set Contact penality setting? i attach my file, where i wrong? Please someone answer me, thank you previously
Hi, I have a 2D model costituited by elastomer (rectangular block) that sliding on rigid (square) pyramidal substrate; how can i estimate effective contact area of elastomer? How can i set Contact penality setting? i attach my file, where i wrong? Please someone answer me, thank you previously


Please login with a confirmed email address before reporting spam

Posted: 7 years ago Feb 14, 2017, 3:28 p.m. EST
Hello Nagi,

I have tried to use your method to evaluate the contact area for each step in a simulation with multiple load steps. I have a 2D-axisymmetric geometry and have probed the relevant boundary with the following expression: (solid.Tn < 0.01). The probe is made to integrate over the boundary nodes, so that the contact area (in 2d-axi collapsed state) is found.

The probe produces a plot which looks reasonable, however the recorded values of the probe are stored as NaN in the relevant table. If I try to update the probe, it returns the following error:

Undefined variable.
- Variable: comp1.solid.Tn
- Geometry: geom1
- Boundary: 14
Failed to evaluate expression.
- Expression: 1000000*(comp1.solid.Tn<0.01)

Enabling the "Compute surface integral" does not change the situation. Neither does "summation over nodes" instead of integration.


Do you have any suggestions on how to move on from here?

Kind regards,
Andreas
Hello Nagi, I have tried to use your method to evaluate the contact area for each step in a simulation with multiple load steps. I have a 2D-axisymmetric geometry and have probed the relevant boundary with the following expression: (solid.Tn < 0.01). The probe is made to integrate over the boundary nodes, so that the contact area (in 2d-axi collapsed state) is found. The probe produces a plot which looks reasonable, however the recorded values of the probe are stored as NaN in the relevant table. If I try to update the probe, it returns the following error: Undefined variable. - Variable: comp1.solid.Tn - Geometry: geom1 - Boundary: 14 Failed to evaluate expression. - Expression: 1000000*(comp1.solid.Tn

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.