CalculiX and LIS solver

Hi everyone,

I wanted to share a recent test project I’ve been working on. With the assistance of ChatGPT, I integrated the Lis (Library of Iterative Solvers for Linear Systems) solver into CalculiX (ccx) to test its performance on large-scale problems.

I am uploading the binary for anyone interested in testing and benchmarking it on their own models (Windows):

In my initial tests, the results have been very promising compared to PARDISO:

  • Execution Time: Dropped significantly from 3,600s down to 980s.

  • RAM Usage: Decreased dramatically from around 5 GB down to 480 MB.

Simple 3D box (nonlinear material)

I would appreciate it if others could give it a try and share their feedback, benchmarks, or any issues encountered across different model types.

Best regards,

Rafał

*STATIC,SOLVER=LIS

2 Likes

Hi @rafal.brzegowy, thanks for testing! Could you explain a little more which type of iterative solution strategy you’re using? In particular, which preconditioner & solver? Our experience with iterative solvers in CalculiX is “mixed” for the general case, which is why we have a single precision direct solve followed by a double precision iterative solve strategy using PaStiX. I’d be interested in any better experiences with iterative solvers (like LIS).

maybe the solver is limited to a truly solid element only since a shell element models shown not working well.

Pardiso (divergence at ~90% prescribed displacement)

LIS solver, stopped imediately.

lis_solver

i*edited/add

solid element model, hexahedral element with rigid body, large deformation analysis also not works.

running another model of free vibration or frequency analysis of solid element reported LIS not available and return to Spooles solver.

i hope these limitations can be improved since LIS solver given promise in optimum and effectiveness of memeory usage and computational times, thank you.

1 Like

try for 2D:

set CCX_LIS_NL_FAST=0
set CCX_LIS_VERBOSE=1
set CCX_LIS_CHECK=1

maybe something wrong here on my computer, after zip file extracted it’s detect as treat by Windows security. Even for simpel case of solid with static linear analysis still not works with LIS solver, is there something blocked by the system probably.

Hi Rafal,
Unfortunately it stops also in my case without any error.
Best,
Stoli

..\Solver_LIS\ccx_i4.exe ge_bracket_coarse cpus=4




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 Sun Oct 19 12:54:37 CEST 2025

The numbers below are estimated upper bounds

number of:

nodes:        14434
elements:        62223
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:          136
single point constraints:         1053
multiple point constraints:            1
terms in all multiple point constraints:            1
tie constraints:            0
dependent nodes tied by cyclic constraints:            0
dependent nodes in pre-tension constraints:            0

sets:           17
terms in all sets:       204983

materials:            1
constants per material and temperature:            2
temperature points per material:            1
plastic data points per material:            0

orientations:            0
amplitudes:            2
data points in all amplitudes:            2
print requests:            1
transformations:            0
property cards:            0

STEP            1

Static analysis was selected

Decascading the MPC's

Determining the structure of the matrix:
Using up to 4 cpu(s) for setting up the structure of the matrix.
number of equations
42249
number of nonzero lower triangular matrix elements
789771

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

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