Contact analysis won't run

I created this model to test pin-hanger contact analysis in PrePoMax. Sadly, the model would not run, and I don’t know what the problem is.
Thank you in advance.

What do you mean by “won’t run” ? Is there an error after some time after submitting the analysis or it just runs for a very long time ? When I remove the mesh refinements to run quick tests, the analysis is solved so maybe you just refined the mesh too much for your computer’s capabilities.

Thanks for your reply.

I already tried test runs without mesh refinements yesterday as you said before. The results were not as I expected. Bearing stresses incomparably larger (2 to 3 times) and differs too greatly with ANSYS.
The same model (with 2 mm mesh refinement) would solved in 2 to 3 minutes runtime in ANSYS.
My PC is using i7-13700KF and 64GB of DDR5 RAM.
Even when only using mesh refinement dimension of 4 mm, this model will not run.
By I mean “won’t run” is it stuck at iteration 1 not utilizing that much of my CPU.

Are you using parallel processing ? This processor has 16 cores and you should set this in PrePoMax.

Yes, I’m aware of it. I also use these keywords since earlier this year:
|OPENBLAS_NUM_THREADS|1|
|PASTIX_MIXED_PRECISION|1|

And it shows 16 cpus in the job monitor ? You could also try using Pardiso instead of the default PaStiX, it can be even faster and more reliable.

10/10/2023 16:39:33

######## Starting run step number: 1 Increment number: 1 ########

Running command: C:\Program Files\PrePoMax v1.4.1\Solver\ccx_static.exe Analysis-1


CalculiX Version 2.21, Copyright(C) 1998-2023 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 Sat Jul 29 17:18:34 2023

The numbers below are estimated upper bounds

number of:

nodes: 588702
elements: 348993
one-dimensional elements: 0
two-dimensional elements: 0
integration points per element: 4
degrees of freedom per node: 3
layers per element: 1

distributed facial loads: 8
distributed volumetric loads: 0
concentrated loads: 0
single point constraints: 26742
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: 22
terms in all sets: 1379721

materials: 2
constants per material and temperature: 8
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 *FRICTION: stick slope
must be strictly positive
the following default will be used: 105000.00000000000
the user is advised to analyze the results
carefully and, if possible, to come up with
a experimentally based stick slope
*WARNING reading *FRICTION. Card image:
0.2

STEP 1

*INFO reading *STEP: nonlinear geometric
effects are turned on

Static analysis was selected

Newton-Raphson iterative procedure is active

Nonlinear geometric effects are taken into account

There’s no such thing in job monitor.
I read somewhere that I should compile the Pardiso solver manually?

Apparently, it didn’t get to that stage yet. Maybe try reducing the mesh refinement until it runs in a reasonable time (at least completes the first iteration).

No need to. You can download it (with all the necessary libraries) from here: https://staff.tu.kielce.pl/rokach/instr/misc/ccx_220.7z

Maybe try reducing the mesh refinement until it runs in a reasonable time (at least completes the first iteration).

The smallest I could get is 5 mm.


And there is still these unexpected stress concentration as shown in output above. I expected the stress distribution to be somewhat linear (like strips) with maximum of 1100 MPa.

Using Pardiso greatly improves calculation time.

10/10/2023 17:13:37

########   Starting run step number: 1   Increment number: 1   ########

Running command: C:\Program Files\PrePoMax v1.4.1\Solver\ccx_dynamic.exe Analysis-1

************************************************************

CalculiX Version 2.20, Copyright(C) 1998-2022 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 Sun Jul 31 22:11:42     2022

  The numbers below are estimated upper bounds

  number of:

   nodes:       181662
   elements:       102665
   one-dimensional elements:            0
   two-dimensional elements:            0
   integration points per element:            4
   degrees of freedom per node:            3
   layers per element:            1

   distributed facial loads:            8
   distributed volumetric loads:            0
   concentrated loads:            0
   single point constraints:        12432
   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:           23
   terms in all sets:       368663

   materials:            2
   constants per material and temperature:            8
   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 *FRICTION: stick slope
          must be strictly positive
          the following default will be used:   105000.00000000000     
          the user is advised to analyze the results
          carefully and, if possible, to come up with
          a experimentally based stick slope
 *WARNING reading *FRICTION. Card image:
          0.2

 *INFO reading *STEP: nonlinear geometric
       effects are turned on


 STEP            1

 Static analysis was selected

 Newton-Raphson iterative procedure is active

 Nonlinear geometric effects are taken into account

 Decascading the MPC's

 Determining the structure of the matrix:
 Using up to 16 cpu(s) for setting up the structure of the matrix.
 number of equations
 433692
 number of nonzero lower triangular matrix elements
 15707109

 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

 Number of contact spring elements=919778

 Determining the structure of the matrix:
maximal possible contact elements = 
1872437

 Using up to 16 cpu(s) for setting up the structure of the matrix.
 number of equations
 433692
 number of nonzero lower triangular matrix elements
 19554087

 Using up to 16 cpu(s) for the stress calculation.

 Using up to 16 cpu(s) for the symmetric stiffness/mass contributions.

 Using up to 16 cpu(s) for the asymmetric stiffness/mass contributions.

 Factoring the system of equations using the unsymmetric pardiso solver
 number of threads = 16

 Using up to 16 cpu(s) for the stress calculation.

 average force= 79.362623
 time avg. forc= 79.362623
 largest residual force= 20599.745536 in node 43154 and dof 2
 largest increment of disp= 3.337239e+00
 largest correction to disp= 3.337239e+00 in node 35202 and dof 2

 no convergence

 iteration 2

 Number of contact spring elements=528302

 Using up to 16 cpu(s) for the stress calculation.

 Using up to 16 cpu(s) for the symmetric stiffness/mass contributions.

 Using up to 16 cpu(s) for the asymmetric stiffness/mass contributions.

 Factoring the system of equations using the unsymmetric pardiso solver
 number of threads = 16

 Using up to 16 cpu(s) for the stress calculation.

line search factor=0.951817

 Using up to 16 cpu(s) for the stress calculation.

 average force= 138.070703
 time avg. forc= 138.070703
 largest residual force= 333717.981676 in node 118556 and dof 2
 largest increment of disp= 3.337239e+00
 largest correction to disp= 3.879927e-02 in node 41196 and dof 3

 no convergence

 iteration 3

 Number of contact spring elements=286235

 Using up to 16 cpu(s) for the stress calculation.

 Using up to 16 cpu(s) for the symmetric stiffness/mass contributions.

 Using up to 16 cpu(s) for the asymmetric stiffness/mass contributions.

 Factoring the system of equations using the unsymmetric pardiso solver
 number of threads = 16

 Using up to 16 cpu(s) for the stress calculation.

line search factor=0.662338

 Using up to 16 cpu(s) for the stress calculation.

 average force= 181.062673
 time avg. forc= 181.062673
 largest residual force= 120237.189560 in node 51733 and dof 1
 largest increment of disp= 3.337239e+00
 largest correction to disp= 4.118562e-02 in node 41126 and dof 3

I found out if I try to use super small mesh refinement. The Analysis would stuck like before for a long time, and then finally going into iteration steps after minutes.

Yeah, CalculiX may still have issues with very large meshes. They were reported on the CalculiX forum multiple times. Fortunately, Pardiso is usually sufficient.

Is there any explanation on why there exist such stress inaccuracies from Calculix on those bearing locations?
And also in this case (cylindrical pin connection) is Calculix not suitable to simulate this problem?

all CalculiX contact algorithm has been tested and benchmarked with well known solver Abaqus, it has shown good agreement.

i frequently used large set of bolt with contact analysis, even with medium mesh density still get reliable results compared to experimental test.

try to swith to nonlinear material, the Mises stress you shown have ten times and more of it’s yield strength, thus make it unrealistic simulations.

You can also try to reduce the contact stiffness. This will increase the contact area and reduce the singularity effect of single-point contact.

Faces have some interference.
I would try to adjust midside nodes to the geometry and locate all the nodes on a common circle or maybe add some small clearance to speed up the process.

With overlaping surfaces and depending on the contact settings you could be solving an interference fit before loading. That is a lot of time if it is not intended.

Note: I think boundary conditions on the bolt surfaces could be switched. (Symmetry / Fixed)

1 Like

indeed, i guessed there’s something missing or improperly defined in models, but i’m not yet to check since the file sizes are too large (35Mb), strange cases for model of single pins are unsolved by 64Gb of memory.

2023-10-10 21_34_33-FEA Pelat Penggantung - 0.6 better mesh.pmx - Google Drive

Strain-free adjustment should be able to resolve such small initial overclosures before the actual analysis.

I have adjust midside nodes to the geometry and provide an small minimum clearance . It helps to reduce peak stresses and computation time.
I have consider displacement driven instead of force driven (like in a tensile test). Done on my 16 Gb RAM Laptop.



Note: I think boundary conditions on the bolt surfaces could be switched. (Symmetry / Fixed)

I thought applying 0 mm DOF is the same as symmetry? As I watched the chain link tutorial on FEAnalyst YouTube video.

I have adjust midside nodes to the geometry

Do you mean “Midside nodes on geometry”?
and

provide an small minimum clearance

Where can I apply this?


This is the previous result I got from ANSYS. Maximum von-Mises Stress is 1021 MPa

There’s no predefined symmetry BC in PrePoMax but setting displacements in the normal direction to zero is the same (at least for solids).

However, I think that ANYS meant just switching places so defining symmetry where fully fixed BC was and vice versa.

You would have to modify the geometry before importing it to PrePoMax.

required mesh, contact setting, boundary condition, material and load to make it direct comparison with CalculiX model. Previous model did not show large plate, ignoring this interaction may contribute to discrepancy in results.

maybe a basic of Ansys mesh (*.msh) and problem sketch is enough for another user to check. Studying external solver still interesting topics, but the model approach need equally the same, or at least similar.