Is there an "easy" way to define self-contact?

Hello dear CalculiX community,

I’m working on a project, and I wondered if there was an easy way to define self-contact between surfaces in ccx? I have a rubber part that is collapsing, and a few surfaces must have self-contact to have realistic results. Do you know of an easy way to accomplish this in ccx?


Self-contact can be defined by specifying the same surface twice under *CONTACT PAIR.

is this really works? seems not.

However separated or partitioned of arch surface at top and bottom as commonly is working as expected.

1 Like

This is exactly what I experienced. You will get penetrations if defined twice, as mentioned by @Calc_em , however, if we split it into two separate surfaces, then it works as it should. The problem is that I would have to split my surfaces many times for a set of curved surfaces that can interact with one side or the other many times (same feature duplicated)… Thanks for the try, but maybe we need to ask Guido for a general contact?

I routinely use self-contact (surfA to SurfA), with rubber parts, it works fine. check your contact stiffnesses

1 Like
1 Like

both picture results from the same linear contact setting, except in surface of master and slave definition. Any reason to produce different plot of results?

did it mean change to hard or mortar type of contact will make it works? seems not.

Hi, i’ve managed to make it works: required node to surface methods and hard contact type instead of another. Probably, linear hexahedral (incompatible) element will perform and convergences better.

Might be worth mentioning in the ccx manual. At least that self-contact can be defined this way. I’ll ask Guido about this on the next occasion.

1 Like

not sure why you’re having trouble, we use this for bellows type contact very much like you’re trying to do. I don’t use mortar contact for this. it seems to fail at the edges of the cut model, we are usually running a complete model for this type of analysis

your example link provide is unclear, the description says revolving (axis symmetric) but when i try to read by opening xml file’s not, contact type also but i guess surface-to-suface. linear

did surface contact should not conflict with another constraint i.e symmetry of my model?

but thanks for infos, common linaar type surface-to-surface is working on self-contact. even i did not know how you manage.

If you run the model to generate the Calculix deck, you will get these CONTACT settings-


can you truly revolve the model with quarter (90deg) or half (180deg) and large edge division? change to quadratic element type also, is these approach model still works?

to be honest, I am referring to a model I didn’t build (the one on the mecway site). But I did run it just now to see that self-contact worked. I will also tell you that when we do full bellows or hoses that collapse, the self-contact works. we generally use c3d8i or c3d10