This website uses cookies to function and to improve your experience. By continuing to use our site, you agree to our use of cookies.

**Discussion Locked** This discussion was was locked by a forum moderator.

## problem with contact pair-penalty factor setting

Posted Jun 24, 2009, 2:50 AM EDT Structural Mechanics & Thermal Stresses 27 Replies

Please login with a confirmed email address before reporting spam

I am trying to model a contact problem into structural module application. I'd like to solve the contact problem without calculating the pressure at contact pair interface (I have disabled the augmented lagrangian solver). However, Comsol returns a convergence error. I think all this is due to the penalty factor assignment. By default it depends on the "augliter" (iteration which occur when the lagrangian solver is enabled).

Thus, question are: is there a way to solve the contact problem without calculate the pressure field at the coontact interface? How can I set the penalty factor value when the lagrangian solver is disabled?

Thanks for your attention!

Pasquale

Please login with a confirmed email address before reporting spam

Hello everyone,

I am trying to model a contact problem into structural module application. I'd like to solve the contact problem without calculating the pressure at contact pair interface (I have disabled the augmented lagrangian solver). However, Comsol returns a convergence error. I think all this is due to the penalty factor assignment. By default it depends on the "augliter" (iteration which occur when the lagrangian solver is enabled).

Thus, question are: is there a way to solve the contact problem without calculate the pressure field at the coontact interface? How can I set the penalty factor value when the lagrangian solver is disabled?

Thanks for your attention!

Pasquale

Hello Pasquale,

Using a penalty function for contact problem is good alternative of the augmented Lagrangian method available in the structural mechanics module. This method (penalty function) is a bit less accurate than the augmented Lagrangian one as it allow penetration between the elastic body but it is also much more stable.

To use such a method in COMSOL you just need to replace the Contact normal penalty factor expression in the contact pair by the following expression : k/h

where k is a stiffness constant in the order of the stiffness of the material.

Then remove the contact pressure variable from the solve for list in the solver manager.

Finally deselect the augmented lagrangian solver option in the solver parameters (stationary page).

You will then see that the higher k the lower the penetration between the two elastic material, but also the lower k the smoother the convergence

Remi Magnard

Please login with a confirmed email address before reporting spam

thanks for your fast reply!

I have applied your procedure on a 2D example and it seems to work very well. I have set the stiffness value equal to the young's modulus (I have assumed an isotropic elastic material).

I will test as soon this procedure on a 3D model and I will update you about results.

I am programming a Matlab-Comsol automatic application. By using Matlab a "perturbed" geometry is generated, by using a morphing mesh approach. I am looking for simulate the assembly process among perturbed parts (clamping, fastening and releasing). I must avoid any solver-error during the automatic calculation. As you suggest, the penalty method is more stable than the lagrange one and thus the automatic procedure may be performed with few problems by using a penalty function.

Thanks again

Pasquale

P.S.: "perturbed" parts are like-real parts which may come from forming processes and are used in automobile applications.

Please login with a confirmed email address before reporting spam

Where is the Contact normal penalty factor expression located?

Have you try to use conact pair in an analysis with two types of physics?

Sharon

Hello Remi,

thanks for your fast reply!

I have applied your procedure on a 2D example and it seems to work very well. I have set the stiffness value equal to the young's modulus (I have assumed an isotropic elastic material).

I will test as soon this procedure on a 3D model and I will update you about results.

I am programming a Matlab-Comsol automatic application. By using Matlab a "perturbed" geometry is generated, by using a morphing mesh approach. I am looking for simulate the assembly process among perturbed parts (clamping, fastening and releasing). I must avoid any solver-error during the automatic calculation. As you suggest, the penalty method is more stable than the lagrange one and thus the automatic procedure may be performed with few problems by using a penalty function.

Thanks again

Pasquale

P.S.: "perturbed" parts are like-real parts which may come from forming processes and are used in automobile applications.

Please login with a confirmed email address before reporting spam

go to physics>boundary settings>pairs>contact>"pn". Make sure to create at least a contact pair before.

If you like to solve the contact problem just by using the penalty method, type "E/h" into "pn" label. "E" is the young modulus, while "h" is the mean mesh size.

I guess that this approach may be general. I mean that you can solve any kind of multiphysic problem.

If you have a specific problem, please post much more details, so I can better understand your problem.

I hope this is helpful,

Good luck

Pasquale

Please login with a confirmed email address before reporting spam

Thanks for the tip. It works well.

Sharon

Please login with a confirmed email address before reporting spam

Hi,

Do I need to define k and h myself, or they are already defined?

Where is the contact pressure variable and also I can't find the Lagrangian solver option in order to deselect it.

Thank you!

Please login with a confirmed email address before reporting spam

In the help file, it said:"Note that in the augmented Lagrangian method, the value of the penalty factor does not affect the accuracy of the final solutin, like it does in the penalty method". I know the ugmented Lagrangian method and the penalty method are different. But I am wondering that did the contact normal penalty factor only affect the penalty method but not the augmented Lagrangian method.

In the augmented Lagrangian method, the expression of "pn" is "E_smsld/hmin_cp1_smsld*min(1e-3*5^auglagiter,1)". What does the expreesion mean? Is the normal penalty factor have no affection on the convergence of the augmented Lagrangian method?

Any advices will be helpful and appreciate! Thanks in advance!

Best wishes!

Yajuan

Please login with a confirmed email address before reporting spam

I am using comsol 4.2 to simulate a contact problem. When I choose the penalty factor as E/k (I know elastic modulus and I get average mesh size from statics), the result is so strange. I would rather rely on what is written in front of Pn but just multiply it by a constant like (1/3). Now my question is

Is the string written in front of Pn with the dimension of N/M^3 somehow calculating the E/K? Does anybody knows the physical relationship of this constant that I introduced and got convergence (1/3) with the special materials or physics that are used?

Yours,

Marjan

Please login with a confirmed email address before reporting spam

It is a good idea to scale this expression up or down based on two factors: (i) ease of convergence and (ii) solution accuracy. The lower penalty usually leads to faster convergence, but more interpenetration between the surfaces, which is a deviation from the exact contact constraints. I find it also useful in some problems to remove the iteration part of the expression (min(1e-3*5^segiter, 1)).

Nagi Elabbasi

Veryst Engineering

Please login with a confirmed email address before reporting spam

Thanks alot. I had thought that h is the average mesh size but now I learned that it is min mesh size of slave.It was a very good explanation of what I see as pn. The iteration part was also a big question mark that now is clear. Thanks again :).

Yours,

Marjan

Please login with a confirmed email address before reporting spam

I would like to try Remi 's comments and therefore I have a question and a request :).

1- what do you call solver manager?

2- I cannot find augmented lagrangian solver option in stationary page. Would you please help me to find it?

Yours,

Marjan

Using a penalty function for contact problem is good alternative of the augmented Lagrangian method available in the structural mechanics module. This method (penalty function) is a bit less accurate than the augmented Lagrangian one as it allow penetration between the elastic body but it is also much more stable.

To use such a method in COMSOL you just need to replace the Contact normal penalty factor expression in the contact pair by the following expression : k/h

where k is a stiffness constant in the order of the stiffness of the material.

Then remove the contact pressure variable from the solve for list in the solver manager.

Finally deselect the augmented lagrangian solver option in the solver parameters (stationary page).

You will then see that the higher k the lower the penetration between the two elastic material, but also the lower k the smoother the convergence

Remi Magnard

--

Please login with a confirmed email address before reporting spam

I had a problem in fixing the contact parameters of my model that contains a contact between a hyperelastic material and an elastic material. I tried to use your suggestion "penalty method". however, when I enter the initial values of the E for the slave material "hyperealstic" divided by its maximum mesh size, the convergence will not occur. I am using the weak constraint in the properties, does that affect my model?

Sincerely,

Ahmad

Please login with a confirmed email address before reporting spam

I have a model that contains an elastic beam that when deflected comes in contact with two different hyperelastic materials one on each side. No matter how I change the contact parameters (i.e. increasing the penalty factors or the initial pressure) still convergence do not occurred. Is it possible to simulate such a case in Comsol or not? cause I even tried different conditions but it still do not work. And I tried to apply the penalty method instead of the augmented method but still not working. honestly do not know what to do with the model, and I have very important dead line in two weeks. so please if you have any idea that could help let me know.

Thanks

Ahmad Atieh

Please login with a confirmed email address before reporting spam

if you can, please attach your model so we can see better your settings.

Pasquale

Please login with a confirmed email address before reporting spam

In general it is possible to simulate your problem with Comsol . Only thing is that, contact problems including soft materials are a little tricky. I mean it is very sensitive to the problem definition e.g. the scale of dependent variables for example. I also would recommend that you attach your model.

All the best,

Marjan

Please login with a confirmed email address before reporting spam

I am really sorry for the late replay. And I really appreciate your welling to help. Kindly, find attached two models of my work. it is a tactile sensor in contact with silicone rubber ( artificial tissue). the models are built in comsol 4.1 version. the model with extra layers resemble the experimental test where the extra layers work as two jacks one to be a substrate to the sensor and the other push the tissue against the sensor. and the sensor has a softer silicone rubber in his structure under the beam. I made my best to use mechanical properties in simulation similar to the properties of the real components, including the friction constants even. However I am still new with the comsol and I hope that I didn't do any stupid mistakes in building the models.

If any one of them could work , then it would be sufficient to me.

If you needed any clarification about the model components please let me know.

Many Thanks

Ahmad

Attachments:

Please login with a confirmed email address before reporting spam

there are several things that you should figure out (I am referring to the semplified model).

1. when handling contact pairs, the weak of constraint could make the solution not so stable (the stiffness matrix becomes ill-conditioned). This means that you should assure that all domains have all rigid motions avoided. In your application you can do this just by observing that the model has a symmetric wrt the middle plane (have a look to the attached modified model).

2. just to fine-tune all solution parameters, it is better to use a linear mesh (linear discretization both for displacement and contact pressure) at the beginning.

3. set a properly value of the initial contact pressure. As in your model the three domains are still in contact in the un-deformed configuration, you should set a small initial contact pressure (say 1e-3).

4. define a parametric solver to fine-tune the load step (use a small parameter-step if the convergence does not appear).

5. in my experience, the penalty value can be set as E/h, where "E" is the stiffness of the softer material (the hyperelastic material in your model), while "h" is the mean mesh size at contact interface.

Hoping this help, regards.

Pasquale

Attachments:

Please login with a confirmed email address before reporting spam

I completely agree with the previous post. In Comsol, the displacement discritization should not have higher order than pressure one. It works almost fine for me to choose the order of discritization of displacement 4 and the order of contact pressure discritization 1. I am also going to try setting both to 1 :). That was a good point. Thanks Pasquale.

Concerning a contact pressure, I suggest that you take a look at cylinder roller example in the library. It helps the solver to converge better in case that you introduce a small pressure in contact area.

Good luck,

Marjan

Please login with a confirmed email address before reporting spam

Thanks for the quick replay. and I am happy that it works now up to 0.3 para (i.e. 0.3 N) at least. I am trying to find where I can play with the linear mesh (linear discretization both for displacement and contact pressure) at the beginning. I am not quite sure if what I found and change is the one that you meant. I activate the "show more options" in the model builder window and the I was able only to select the discretization type with out any order or values. Is that what did you mean? Sorry again I am really new to the 4.1 version of the software.

Thanks

Ahmad

Please login with a confirmed email address before reporting spam

Thanks for the interests and help. I am trying to get what exactly u meant by the order of the discritization and where I can change it.

Also, I need to have the solution up to 5N loading, which means according to the model that I upload I have either to extend the para up to 5, or to replace the loading boundary condition in y axis with (- (16.67/568)*para) [N/mm^2]. and when I tried both of them the solution didn't wasn't converged after (0.35 N). what is the reason for that?

Thanks

Best regards

Ahamad

Please login with a confirmed email address before reporting spam

Below the material icon, you have main solid mechanics (where there is sound waves and...). Click on solid mechanics. Somewhere there you have displacement. There adjust discritization to quadratic.

Then below the solid mechanics main icon, there is the contact icon, if you click you will find again discritization. Adjust it to linear.

If it did not converged, change the contact discritization to 1. However the discritization of displacement is always higher.

This affects the shape function and convergence as well.

All the best,

Marjan

Please login with a confirmed email address before reporting spam

As long as your mesh is not moving, use extension instead of parametric sweep. In parametric sweep for every parameter the solver solves the problem from beginning but in extension, the previous results is the answer for next step.

Good luck

Marjan

Please login with a confirmed email address before reporting spam

As long as your mesh is not moving, use extension instead of parametric sweep. In parametric sweep for every parameter the solver solves the problem from beginning but in extension, the previous results is the answer for next step.

Good luck

Marjan

Please login with a confirmed email address before reporting spam

Concerning about constraints before in contact between two parts, I already test each part is fully constraint or not. I found no convergence issue without contact problem.

Is there any other recommendation about this problem?

Please login with a confirmed email address before reporting spam

Are you checking the box of creat creat pair at the end of Geometry? Have you set your constraints in a good way? Are you using a parametric solver? if yes, start with very fine indentation and make your steps reseanably small. What about the introduction of a pre defined pressure in area of contact? it helps alot. You also can check and use manual scaling in solver. It is hard to think about your problem without seeing the model. Using weak constrains for the moving object, I mean for source sometimes helps alot. I hope at least I can give you some idea.

Yours,

Marjan

Please login with a confirmed email address before reporting spam

hi,

if you can, please attach your model so we can see better your settings.

Pasquale

Hi Pasquale

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 and correct the error, i'm new of software.

thank you previously

Attachments:

Please login with a confirmed email address before reporting spam

Regarding the last model file that has been sent here: There are several issues with the file, some of the more apparent are that you are applying a velocity boundary condition for a stationary problem and that you are trying to model point-to-plane contact. Rather than modeling contact between a point and a plane, add a small fillet to the sharp corners here so that you get surface-to-surface contact, rather than the (singular) point-to-surface contact. The mesh is also far to coarse,

More generally regarding this thread: The previous discussions in this thread do refer to much earlier versions of the software. We do encourage users modeling contact to be using the latest version of the software, as there have been many algorithmic improvements since these original discussions. Much of the technical discussions in this thread are now outdated. We will leave this thread up for historical purposes but will lock the thread for further comments. Please of course feel free to open new threads and refer back to this if needed.

Regards.

Henrik

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.

## Suggested Content

- BLOG Methods for Dealing with Numerical Issues in Constraint Enforcement
- FORUM Difference between contact pair and identify pair
- KNOWLEDGE BASE Manual tuning of the Contact Pair condition.
- FORUM Shape factor of multi-linear separation of decohesive setting & penalty factor
- BLOG How to Make Boundary Conditions Conditional in Your Simulation