Arrays too small - Increase -b
How to solve this issue with ShelXL
With larger structures, ShelXL will sometimes not run, with this information:
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ SHELXL - CRYSTAL STRUCTURE REFINEMENT - MULTI-CPU VERSION +
+ Copyright(C) George M. Sheldrick 1993-2018 Version 2018/3 +
+ shelx started at 09:53:03 on 13-Jul-2023 +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Command line parameters: shelx -a50000 -b3000 -c624 -g0 -m0 -t16
-a sets the approximate maximum number of atoms including hydrogens.
-b sets the maximum number of full-matrix parameters (not used by CGLS).
For example -b9000 allows refinement of 1000 anisotropic atoms or 3000
with BLOC 1. For a 32-bit version, -b times the square root of the
number of threads should not exceed about 65500. -c sets the reflection
buffer size. This depends on the CPU cache size but will rarely
need changing.
Some ‘arrays’ in ShelXL are of fixed size, and there are simply too many parameters, so that this fixed array is too small and ShelXL can not run.
When ShelXL is started, it can be started with ‘command line’ arguments.
In Olex2, you can enter these command line arguments in Work | Refinement Settings | Refinement Settings Extras
.
For most structures, -b8000 is a good entry to solve this problem with the array being too small.
The refinement should now proceed normally (CTRL+R, refine
or pressing the button on the GUI.