there’s clearance option in contact analysis but i miss this feature in menus. It can be useful when provide and available similar setting as adjust feature.
This keyword was discussed here: *Clearance tò simulate an interference - CalculiX (official versions are on www.calculix.de, the official GitHub repository is at https://github.com/Dhondtguido/CalculiX).
Perhaps we should revive that ccx forum thread to first confirm that this feature works correctly because there were some doubts.
probably, using clearance feature for interference fit is misuse make it not working since it have negative values. It usually has nearly zero value then contact between surface immediately occurs no matter is gap distance in geometry existed. Clearance is complementary with Adjust feature in CalculiX i think; an opposite behavior it did not change the mesh during analysis.
this feature can be useful in modeling effective bolt diameter for example, oversize hole and bolts, threads include in shear plane can immediately contact without modeling the threads, accelerate convergence rates and keep stress results based unmodified bolt geometry. I do much test in this regard, clearance feature shown working properly. To avoid any problems, probably by simple restrict to positive value and provide nearly zero value as default.
It should handle negative values too (positive = clearance, negative = overclosure), but of course, there can be some bugs or undocumented limitations.
We should test this and report the results on the CalculiX forum.
Speaking about bolts, Abaqus has an additional BOLT parameter for this keyword to approximate the effect of threads in contact without explicitly modeling them (it adjusts contact normal directions to be normal to faces of reference threads).
the original poster in CalculiX forum also mention a negative value is not normally used, so clearance should work in general condition at normal with positive value. As comparison Ansys use default positive 0.001 in general contact. Altair Radioss define this value when not provide is based on mesh size length and always positive in sign.
Negative values would require some additional testing. CalculiX documentation mention them indirectly:
If this option is active, the actual clearance or overlapping based on the distance between the integration point on the slave surface and its orthogonal projection on the master surface is overwritten by the value specified here.
This is also how it works in Abaqus/Standard (Explicit accepts only positive values). It could be helpful to control some interference fit simulations.
yes, it’ seems working properly depending on contact definition not the clearance itself.
compared to previous example file results,
What did you change ? Just swapped master/slave or also changed contact type/properties ?
clearance feature is just simple overwrites existing gap distances value, like stiffness in contact it can be overrides also.
regarding to uneven contact stress distribution, it can be many source i.e element type selection at curved geometry, mesh intensity, misplaced of slave and master surface definition or contact type and methods used. Please repost the problem in CalculiX forum, to make it clear and sure a keyword clearance is working properly or not and resolved.
similar condition, tied contact also cannot working at some case but not to decide this keyword to be removed i think.
Yeah, I know. I just asked what you mean by this:
and how the analyses shown in both screenshots differ.
I use the standard approach for interference fit modeling so I’m interested in the *CLEARANCE keyword mainly to check if it needs to be reported to Guido as bugged or if it can be safely added to PrePoMax and recommended to users.
for quick answer related to example file, i do switch to Mortar from Surface to surface in contact definition. It has no sensitivity in misplaced of master and slave surface. However, i’m not sure about the results since no have familiarity in interference fit analysis only press or punch trough can understand.
Ok, I see. The analytical solution is around 145 MPa so not bad. I have to try Mortar contact more often (one just has to remember to avoid 2D models then). I’m used to contact smoothing in Abaqus - Lagrange multipliers are rarely used there.
For me, changing to Mortar contact makes it fail to converge. Even with non-default stiffness (42000 N/mm^3) and PaStiX. Do you have other tricks for this type of contact ?
no, i’m only switch to Mortar and left all setting unchanged. Here complete analysis logs reported,
03/03/2026 19:14:12
######## Starting run step number: 1 Increment number: 1 ########
Running command: C:\CAE\PrePoMax v2.5.0\Solver\ccx_dynamic.exe Analysis-1
************************************************************
CalculiX Version 2.23, Copyright(C) 1998-2025 Guido Dhondt
CalculiX comes with ABSOLUTELY NO WARRANTY. This is free
software, and you are welcome to redistribute it under
certain conditions, see gpl.htm
************************************************************
You are using an executable made on Fri Oct 24 20:08:29 2025
The numbers below are estimated upper bounds
number of:
nodes: 7980
elements: 5920
one-dimensional elements: 0
two-dimensional elements: 0
integration points per element: 1
degrees of freedom per node: 3
layers per element: 1
distributed facial loads: 0
distributed volumetric loads: 0
concentrated loads: 0
single point constraints: 1180
multiple point constraints: 1
terms in all multiple point constraints: 1
tie constraints: 1
dependent nodes tied by cyclic constraints: 0
dependent nodes in pre-tension constraints: 0
sets: 12
terms in all sets: 23496
materials: 2
constants per material and temperature: 4
temperature points per material: 1
plastic data points per material: 0
orientations: 0
amplitudes: 6
data points in all amplitudes: 6
print requests: 0
transformations: 0
property cards: 0
*WARNING reading *SURFACE BEHAVIOR: hard
behavior is by default reduced to
linear behavior
*WARNING reading *SURFACE BEHAVIOR. Card image:
*SURFACEBEHAVIOR,PRESSURE-OVERCLOSURE=HARD
*WARNING reading *SURFACE BEHAVIOR: K must
be strictly positive
the following default will be used: 10500000.000000000
the user is advised to analyze the results
carefully
*INFO reading *SURFACE BEHAVIOR: the tension
value at large clearances
(only relevant for node-to-surface contact)
must be strictly positive
the following default will be used: 3.0000000000000000
the user is advised to analyze the results
carefully
STEP 1
*WARNING reading *STATIC: a nonlinear analysis is requested
but no time increment nor step is specified
the defaults (1,1) are used
Static analysis was selected
Newton-Raphson iterative procedure is active
Decascading the MPC's
Determining the structure of the matrix:
Using up to 2 cpu(s) for setting up the structure of the matrix.
number of equations
22760
number of nonzero lower triangular matrix elements
738902
increment 1 attempt 1
increment size= 1.000000e+00
sum of previous increments=0.000000e+00
actual step time=1.000000e+00
actual total time=1.000000e+00
iteration 1
Determining the structure of the matrix:
Using up to 2 cpu(s) for setting up the structure of the matrix.
number of equations
22760
number of nonzero lower triangular matrix elements
738902
Using up to 2 cpu(s) for the stress calculation.
Using up to 2 cpu(s) for the symmetric stiffness/mass contributions.
Factoring the system of equations using the unsymmetric pardiso solver
number of threads = 2
Using up to 2 cpu(s) for the stress calculation.
average force= 3072.583548
time avg. forc= 3072.583548
largest residual force= 1104.138547 in node 2 and dof 2
largest increment of disp= 5.733829e-01
largest correction to disp= 5.733829e-01 in node 3676 and dof 2
no convergence
iteration 2
Determining the structure of the matrix:
Using up to 2 cpu(s) for setting up the structure of the matrix.
number of equations
22760
number of nonzero lower triangular matrix elements
738902
Using up to 2 cpu(s) for the stress calculation.
Using up to 2 cpu(s) for the symmetric stiffness/mass contributions.
Factoring the system of equations using the unsymmetric pardiso solver
number of threads = 2
Using up to 2 cpu(s) for the stress calculation.
average force= 3072.557701
time avg. forc= 3072.557701
largest residual force= 2126.627962 in node 100 and dof 2
largest increment of disp= 5.733829e-01
largest correction to disp= 9.223694e-03 in node 3676 and dof 2
no convergence
iteration 3
Determining the structure of the matrix:
Using up to 2 cpu(s) for setting up the structure of the matrix.
number of equations
22760
number of nonzero lower triangular matrix elements
738902
Using up to 2 cpu(s) for the stress calculation.
Using up to 2 cpu(s) for the symmetric stiffness/mass contributions.
Factoring the system of equations using the unsymmetric pardiso solver
number of threads = 2
Using up to 2 cpu(s) for the stress calculation.
average force= 3072.527282
time avg. forc= 3072.527282
largest residual force= 2405.054002 in node 102 and dof 2
largest increment of disp= 5.733829e-01
largest correction to disp= 9.976503e-03 in node 3768 and dof 2
no convergence
iteration 4
Determining the structure of the matrix:
Using up to 2 cpu(s) for setting up the structure of the matrix.
number of equations
22760
number of nonzero lower triangular matrix elements
738902
Using up to 2 cpu(s) for the stress calculation.
Using up to 2 cpu(s) for the symmetric stiffness/mass contributions.
Factoring the system of equations using the unsymmetric pardiso solver
number of threads = 2
Using up to 2 cpu(s) for the stress calculation.
average force= 3072.459441
time avg. forc= 3072.459441
largest residual force= 2325.210249 in node 103 and dof 2
largest increment of disp= 5.733829e-01
largest correction to disp= 1.086650e-02 in node 3676 and dof 2
no convergence
iteration 5
Determining the structure of the matrix:
Using up to 2 cpu(s) for setting up the structure of the matrix.
number of equations
22760
number of nonzero lower triangular matrix elements
738902
Using up to 2 cpu(s) for the stress calculation.
Using up to 2 cpu(s) for the symmetric stiffness/mass contributions.
Factoring the system of equations using the unsymmetric pardiso solver
number of threads = 2
Using up to 2 cpu(s) for the stress calculation.
average force= 3072.469054
time avg. forc= 3072.469054
largest residual force= 2147.435093 in node 104 and dof 2
largest increment of disp= 5.733829e-01
largest correction to disp= 1.082287e-02 in node 3676 and dof 2
no convergence
iteration 6
Determining the structure of the matrix:
Using up to 2 cpu(s) for setting up the structure of the matrix.
number of equations
22760
number of nonzero lower triangular matrix elements
738902
Using up to 2 cpu(s) for the stress calculation.
Using up to 2 cpu(s) for the symmetric stiffness/mass contributions.
Factoring the system of equations using the unsymmetric pardiso solver
number of threads = 2
Using up to 2 cpu(s) for the stress calculation.
average force= 3072.497821
time avg. forc= 3072.497821
largest residual force= 2127.653020 in node 105 and dof 2
largest increment of disp= 5.733829e-01
largest correction to disp= 1.006452e-02 in node 3768 and dof 2
no convergence
iteration 7
Determining the structure of the matrix:
Using up to 2 cpu(s) for setting up the structure of the matrix.
number of equations
22760
number of nonzero lower triangular matrix elements
738902
Using up to 2 cpu(s) for the stress calculation.
Using up to 2 cpu(s) for the symmetric stiffness/mass contributions.
Factoring the system of equations using the unsymmetric pardiso solver
number of threads = 2
Using up to 2 cpu(s) for the stress calculation.
average force= 3072.528422
time avg. forc= 3072.528422
largest residual force= 2126.528153 in node 106 and dof 2
largest increment of disp= 5.733829e-01
largest correction to disp= 9.258013e-03 in node 3676 and dof 2
no convergence
iteration 8
Determining the structure of the matrix:
Using up to 2 cpu(s) for setting up the structure of the matrix.
number of equations
22760
number of nonzero lower triangular matrix elements
738902
Using up to 2 cpu(s) for the stress calculation.
Using up to 2 cpu(s) for the symmetric stiffness/mass contributions.
Factoring the system of equations using the unsymmetric pardiso solver
number of threads = 2
Using up to 2 cpu(s) for the stress calculation.
average force= 3072.528441
time avg. forc= 3072.528441
largest residual force= 2126.618506 in node 107 and dof 2
largest increment of disp= 5.733829e-01
largest correction to disp= 9.204224e-03 in node 3774 and dof 2
no convergence
iteration 9
Determining the structure of the matrix:
Using up to 2 cpu(s) for setting up the structure of the matrix.
number of equations
22760
number of nonzero lower triangular matrix elements
738902
Using up to 2 cpu(s) for the stress calculation.
Using up to 2 cpu(s) for the symmetric stiffness/mass contributions.
Factoring the system of equations using the unsymmetric pardiso solver
number of threads = 2
Using up to 2 cpu(s) for the stress calculation.
average force= 3072.528463
time avg. forc= 3072.528463
largest residual force= 2126.636538 in node 108 and dof 2
largest increment of disp= 5.733829e-01
largest correction to disp= 9.204572e-03 in node 3774 and dof 2
no convergence
iteration 10
Determining the structure of the matrix:
Using up to 2 cpu(s) for setting up the structure of the matrix.
number of equations
22760
number of nonzero lower triangular matrix elements
738902
Using up to 2 cpu(s) for the stress calculation.
Using up to 2 cpu(s) for the symmetric stiffness/mass contributions.
Factoring the system of equations using the unsymmetric pardiso solver
number of threads = 2
Using up to 2 cpu(s) for the stress calculation.
average force= 3072.528470
time avg. forc= 3072.528470
largest residual force= 2126.637471 in node 109 and dof 2
largest increment of disp= 5.733829e-01
largest correction to disp= 9.204676e-03 in node 3776 and dof 2
no convergence
iteration 11
Determining the structure of the matrix:
Using up to 2 cpu(s) for setting up the structure of the matrix.
number of equations
22760
number of nonzero lower triangular matrix elements
738902
Using up to 2 cpu(s) for the stress calculation.
Using up to 2 cpu(s) for the symmetric stiffness/mass contributions.
Factoring the system of equations using the unsymmetric pardiso solver
number of threads = 2
Using up to 2 cpu(s) for the stress calculation.
average force= 3072.528476
time avg. forc= 3072.528476
largest residual force= 2126.637482 in node 110 and dof 2
largest increment of disp= 5.733829e-01
largest correction to disp= 9.204742e-03 in node 3777 and dof 2
no convergence
iteration 12
Determining the structure of the matrix:
Using up to 2 cpu(s) for setting up the structure of the matrix.
number of equations
22760
number of nonzero lower triangular matrix elements
738902
Using up to 2 cpu(s) for the stress calculation.
Using up to 2 cpu(s) for the symmetric stiffness/mass contributions.
Factoring the system of equations using the unsymmetric pardiso solver
number of threads = 2
Using up to 2 cpu(s) for the stress calculation.
average force= 3072.528470
time avg. forc= 3072.528470
largest residual force= 2126.636312 in node 111 and dof 2
largest increment of disp= 5.733829e-01
largest correction to disp= 9.204807e-03 in node 3778 and dof 2
no convergence
iteration 13
Determining the structure of the matrix:
Using up to 2 cpu(s) for setting up the structure of the matrix.
number of equations
22760
number of nonzero lower triangular matrix elements
738902
Using up to 2 cpu(s) for the stress calculation.
Using up to 2 cpu(s) for the symmetric stiffness/mass contributions.
Factoring the system of equations using the unsymmetric pardiso solver
number of threads = 2
Using up to 2 cpu(s) for the stress calculation.
average force= 3072.528463
time avg. forc= 3072.528463
largest residual force= 2126.616854 in node 112 and dof 2
largest increment of disp= 5.733829e-01
largest correction to disp= 9.204859e-03 in node 3779 and dof 2
no convergence
iteration 14
Determining the structure of the matrix:
Using up to 2 cpu(s) for setting up the structure of the matrix.
number of equations
22760
number of nonzero lower triangular matrix elements
738902
Using up to 2 cpu(s) for the stress calculation.
Using up to 2 cpu(s) for the symmetric stiffness/mass contributions.
Factoring the system of equations using the unsymmetric pardiso solver
number of threads = 2
Using up to 2 cpu(s) for the stress calculation.
average force= 3072.528441
time avg. forc= 3072.528441
largest residual force= 2126.521971 in node 113 and dof 2
largest increment of disp= 5.733829e-01
largest correction to disp= 9.204787e-03 in node 3780 and dof 2
no convergence
iteration 15
Determining the structure of the matrix:
Using up to 2 cpu(s) for setting up the structure of the matrix.
number of equations
22760
number of nonzero lower triangular matrix elements
738902
Using up to 2 cpu(s) for the stress calculation.
Using up to 2 cpu(s) for the symmetric stiffness/mass contributions.
Factoring the system of equations using the unsymmetric pardiso solver
number of threads = 2
Using up to 2 cpu(s) for the stress calculation.
average force= 3072.528425
time avg. forc= 3072.528425
largest residual force= 2126.223946 in node 114 and dof 2
largest increment of disp= 5.733829e-01
largest correction to disp= 9.204272e-03 in node 3781 and dof 2
no convergence
iteration 16
Determining the structure of the matrix:
Using up to 2 cpu(s) for setting up the structure of the matrix.
number of equations
22760
number of nonzero lower triangular matrix elements
738902
Using up to 2 cpu(s) for the stress calculation.
Using up to 2 cpu(s) for the symmetric stiffness/mass contributions.
Factoring the system of equations using the unsymmetric pardiso solver
number of threads = 2
Using up to 2 cpu(s) for the stress calculation.
average force= 3072.528413
time avg. forc= 3072.528413
largest residual force= 2125.627700 in node 115 and dof 2
largest increment of disp= 5.733829e-01
largest correction to disp= 9.203030e-03 in node 3781 and dof 2
no convergence
iteration 17
Determining the structure of the matrix:
Using up to 2 cpu(s) for setting up the structure of the matrix.
number of equations
22760
number of nonzero lower triangular matrix elements
738902
Using up to 2 cpu(s) for the stress calculation.
Using up to 2 cpu(s) for the symmetric stiffness/mass contributions.
Factoring the system of equations using the unsymmetric pardiso solver
number of threads = 2
Using up to 2 cpu(s) for the stress calculation.
average force= 3072.528425
time avg. forc= 3072.528425
largest residual force= 2125.581180 in node 116 and dof 2
largest increment of disp= 5.733829e-01
largest correction to disp= 9.201811e-03 in node 3783 and dof 2
no convergence
iteration 18
Determining the structure of the matrix:
Using up to 2 cpu(s) for setting up the structure of the matrix.
number of equations
22760
number of nonzero lower triangular matrix elements
738902
Using up to 2 cpu(s) for the stress calculation.
Using up to 2 cpu(s) for the symmetric stiffness/mass contributions.
Factoring the system of equations using the unsymmetric pardiso solver
number of threads = 2
Using up to 2 cpu(s) for the stress calculation.
average force= 3072.499840
time avg. forc= 3072.499840
largest residual force= 2309.249595 in node 118 and dof 2
largest increment of disp= 5.733829e-01
largest correction to disp= 9.352438e-03 in node 3680 and dof 2
no convergence
iteration 19
Determining the structure of the matrix:
Using up to 2 cpu(s) for setting up the structure of the matrix.
number of equations
22760
number of nonzero lower triangular matrix elements
738902
Using up to 2 cpu(s) for the stress calculation.
Using up to 2 cpu(s) for the symmetric stiffness/mass contributions.
Factoring the system of equations using the unsymmetric pardiso solver
number of threads = 2
Using up to 2 cpu(s) for the stress calculation.
average force= 3072.490941
time avg. forc= 3072.490941
largest residual force= 1178.495054 in node 6 and dof 2
largest increment of disp= 5.733829e-01
largest correction to disp= 9.667711e-03 in node 3786 and dof 2
no convergence
iteration 20
Determining the structure of the matrix:
Using up to 2 cpu(s) for setting up the structure of the matrix.
number of equations
22760
number of nonzero lower triangular matrix elements
738902
Using up to 2 cpu(s) for the stress calculation.
Using up to 2 cpu(s) for the symmetric stiffness/mass contributions.
Factoring the system of equations using the unsymmetric pardiso solver
number of threads = 2
Using up to 2 cpu(s) for the stress calculation.
average force= 3072.557695
time avg. forc= 3072.557695
largest residual force= 0.000000 in node 7766 and dof 1
largest increment of disp= 5.733829e-01
largest correction to disp= 9.722090e-03 in node 3786 and dof 2
convergence
the increment size exceeds the remainder of the step and is decreased to 0.000000e+00
Using up to 2 cpu(s) for the stress calculation.
Job finished
________________________________________
Total CalculiX Time: 95.269923
________________________________________
Process elapsed time: 96.226 s
Apparently, that’s the key difference.
With ccx 2.22:
With ccx 2.23:

I’m glad that Mortar contact has improved convergence in 2.23.
indeed, all feature in CalculiX being improved in each release and let available in PrePoMax menu also. Unexpected results and behavior are different things; it can be user setup or solver problems and limitation probably.
btw, the case of interference fit seems less complicated and it did not require penalty contact. As my problem reported in CalculiX forum, tied contact with some distance shown shrinking or expanding thus generate stress and displacement.










