Hello CalculiX community!!
First, I just want to express how much I appreciate this discourse and its contributors, as they have helped me immensely. So, thank you all.
I am trying to run linear elastic models with a relatively high number of elements (>1M elements) and having what seems to be a common issue where the analysis runs without throwing an error, but writes all zeros to the results when non zero results are expected as lower element count models produce more realistic but unrefined results.
I linked similar threads below, but I cannot seem to find a definitive resolution.
Following suggestions in those discussions, I compiled CalculiX 2.22 with Intel MKL PARDISO on Ubuntu/WSL2 using Intel oneAPI 2025.3, based on the build instructions from @feacluster’s site. My goal is to obtain the most stable direct solver configuration rather than the fastest one, so I am currently running single-threaded with ILP64 MKL PARDISO.
Unfortunately, I cannot significantly reduce the mesh size, as this level of refinement is required for the problems. The analyses themselves is relatively simple:
- Linear elastic
- Static direct steps
- Dirichlet symmetry boundary conditions
- Initial stress field applied
There are two analysis steps, and both remove elements to simulate stages of stress relaxation. A substantial number of elements are removed in the second step, which makes me suspect this may be related to PARDISO memory usage or out-of-core behavior rather than a modeling error.
The runtime environment variables I am using are:
export OMP_NUM_THREADS=1
export MKL_NUM_THREADS=1
export MKL_DYNAMIC=FALSE
export MKL_PARDISO_OOC_PATH=/home/…/temp_solver
export MKL_PARDISO_OOC_MAX_CORE_SIZE=16000
export MKL_PARDISO_OOC_MAX_SWAP_SIZE=250000
I also configured the WSL environment to allow sufficient memory for the analysis.
The solver runs to completion without reporting an error, but the resulting displacement field is entirely zero. Smaller models behave correctly.
For reference, the executable is linked against MKL ILP64:
libmkl_intel_ilp64
libmkl_core
libmkl_intel_thread
This is the first time I have built any project from source in Linux, so I apologize if I have overlooked something obvious.
If anyone has encountered similar behavior with large models or has suggestions for debugging this issue, I would greatly appreciate any guidance.
Thank you again for your help.
The threads I have referenced.