Discussion Locked This discussion was locked by a forum moderator.
problem with contact pair-penalty factor setting
Posted 24 giu 2009, 02:50 GMT-4 Structural Mechanics 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 How to Visualize the Evolution of Contact Pressure as a Function of Normal Displacement on a Contact Pair
- KNOWLEDGE BASE Structural Contact Modeling Guidelines
- FORUM Penalty method for Navier-Stokes equations
- BLOG How to Evaluate Gear Mesh Stiffness in a Multibody Dynamics Model