Update FAQ authored by Philipp Rüssmann's avatar Philipp Rüssmann
# FAQ # FAQ
#### 1. How can I compile the code? #### 1. How can I compile the code?
Take a look at the ["compiling the code" quick start guide](Compiling the code). Take a look at the ["compiling the code" quick start guide](Compiling the code).
#### 2. What does keyword *X* in the `inputcard` mean? #### 2. What does keyword *X* in the `inputcard` mean?
Take a look at the [list of inputcard codewords](jumu/inputcard_codewords). Take a look at the [list of inputcard codewords](jumu/inputcard_codewords).
#### 3. What are possible run and test options? #### 3. What are possible run and test options?
See the [list of run options](jumu/runoption). See the [list of run options](jumu/runoption).
#### 4. What to can I do if the code terminates unexpectedly? #### 4. What to can I do if the code terminates unexpectedly?
##### 4.1 Stacksize too small ##### 4.1 Stacksize too small
**Symptoms:** **Symptoms:**
The KKRhost code crashes with a segmentation fault The KKRhost code crashes with a segmentation fault
``` ```
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!! Most output written to output.myrank.txt files !!! !!! Most output written to output.myrank.txt files !!!
!!! please check these files as well !!! !!! please check these files as well !!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Screened Korringa-Kohn-Rostoker Electronic Structure Code Screened Korringa-Kohn-Rostoker Electronic Structure Code
for Bulk and Interfaces for Bulk and Interfaces
Juelich-Munich 2001 - 2018 Juelich-Munich 2001 - 2018
Code version: Code version:
Compile options: intel hybrid Compile options: intel hybrid
serial number for files: JuKKR__intel_20200228144825 serial number for files: JuKKR__intel_20200228144825
******************************************************************************* *******************************************************************************
Number of OpenMP threads used: 4 Number of OpenMP threads used: 4
******************************************************************************* *******************************************************************************
Number of MPI ranks used: 1 Number of MPI ranks used: 1
******************************************************************************* *******************************************************************************
Calling MADELUNG3D Calling MADELUNG3D
forrtl: severe (174): SIGSEGV, segmentation fault occurred forrtl: severe (174): SIGSEGV, segmentation fault occurred
Image PC Routine Line Source Image PC Routine Line Source
kkr.x 000000000078CD4A Unknown Unknown Unknown kkr.x 000000000078CD4A Unknown Unknown Unknown
libpthread-2.17.s 00007FB3B97D75F0 Unknown Unknown Unknown libpthread-2.17.s 00007FB3B97D75F0 Unknown Unknown Unknown
kkr.x 00000000006149C3 mod_madelung3d_mp 92 madelung3d.f90 kkr.x 00000000006149C3 mod_madelung3d_mp 92 madelung3d.f90
kkr.x 000000000042C4DB mod_main0_mp_main 1059 main0.F90 kkr.x 000000000042C4DB mod_main0_mp_main 1059 main0.F90
kkr.x 0000000000411E49 MAIN__ 121 main_all.F90 kkr.x 0000000000411E49 MAIN__ 121 main_all.F90
kkr.x 0000000000406DA2 Unknown Unknown Unknown kkr.x 0000000000406DA2 Unknown Unknown Unknown
libc-2.17.so 00007FB3B911A505 __libc_start_main Unknown Unknown libc-2.17.so 00007FB3B911A505 __libc_start_main Unknown Unknown
kkr.x 0000000000406CA9 Unknown Unknown Unknown kkr.x 0000000000406CA9 Unknown Unknown Unknown
``` ```
**Fix:** **Fix:**
The stacksize might be too small. Increase the stacksize and rerun the code The stacksize might be too small. Increase the stacksize and rerun the code
``` ```
ulimit -s unlimited ulimit -s unlimited
export OMP_STACKSIZE=5G export OMP_STACKSIZE=5G
``` ```
Note that the second line is only used if the hybrid parallelization was used. The value 5G is also chosen arbitratily to be *large enough*. Note that the second line is only used if the hybrid parallelization was used. The value 5G is also chosen arbitratily to be *large enough*.
*Note for aiida users: One should make sure to have the stacksize large enough in the code setup. This means adding the two statements above to the `Prepend text` while setting up the aiida code.* *Note for aiida users: One should make sure to have the stacksize large enough in the code setup. This means adding the two statements above to the `Prepend text` while setting up the aiida code.*
--- ---
##### 4.2 Error loading shared library ##### 4.2 Error loading shared library
**Symptoms:** **Symptoms:**
The KKRhost code cannot be executed because of: The KKRhost code cannot be executed because of:
``` ```
bash-4.2$ ./kkr.x bash-4.2$ ./kkr.x
./kkr.x: error while loading shared libraries: libmkl_intel_lp64.so: cannot open shared object file: No such file or directory ./kkr.x: error while loading shared libraries: libmkl_intel_lp64.so: cannot open shared object file: No such file or directory
``` ```
**Fix:** **Fix:**
The code was compiled with a different compiler/librabry environment. This happens for example if for compilation `source compiler-select intel` (PGI-1 in-house setup) was used while the code was executed in another shell where the envoronment is different (e.g. no or different `compiler-select` chosen). The code was compiled with a different compiler/librabry environment. This happens for example if for compilation `source compiler-select intel` (PGI-1 in-house setup) was used while the code was executed in another shell where the envoronment is different (e.g. no or different `compiler-select` chosen).
To fix this one simply has to use the same environment for running as for compilation (e.g. in this example also run `source compiler-select intel` in the shell where the code is run). To fix this one simply has to use the same environment for running as for compilation (e.g. in this example also run `source compiler-select intel` in the shell where the code is run).
*Note for aiida users: In the code setup one has to make sure to use the same environment for running as for compilation by adding the same `compiler-select` choice to the `Prepend text` in the code setup.* *Note for aiida users: In the code setup one has to make sure to use the same environment for running as for compilation by adding the same `compiler-select` choice to the `Prepend text` in the code setup.*
--- ---
##### 4.3 Voronoi does not find starting potential ##### 4.3 Voronoi does not find starting potential
**Symptoms:** **Symptoms:**
The Voronoi code exits with (or similar for other potential file than Cu) The Voronoi code exits with (or similar for other potential file than Cu)
``` ```
$ ./voronoi.exe $ ./voronoi.exe
... ...
**** JELLSTART POTENTIALS **** **** JELLSTART POTENTIALS ****
From atom No. 1 to atom No. 1 From atom No. 1 to atom No. 1
Generating potential for atom 1 at site 1 with shape 1 Generating potential for atom 1 at site 1 with shape 1
Using database ....: ElementDataBase/Cu29.pot Using database ....: ElementDataBase/Cu29.pot
Error in JELLSTART Error in JELLSTART
Potential.............Cu29 Potential.............Cu29
Does not exist in the database Does not exist in the database
``` ```
**Fix:** **Fix:**
The `ElementDataBase` directory is not seen by the voronoi code, it needs to be accessible from the directory in which the voronoi code is executed. The `ElementDataBase` directory is not seen by the voronoi code, it needs to be accessible from the directory in which the voronoi code is executed.
Before running voronoi do Before running voronoi do
``` ```
ln -s <path-to-JuKKR-dir>/ElementDataBase . ln -s <path-to-JuKKR-dir>/ElementDataBase .
``` ```
then rerun voronoi which should work. then rerun voronoi which should work.
*Note for aiida users: Make sure you add the linking to the `ElementDataBase` to the `Prepend text` of the voronoi code at the code setup.* *Note for aiida users: Make sure you add the linking to the `ElementDataBase` to the `Prepend text` of the voronoi code at the code setup.*
--- ---
#### 5. Fixing inconsistent inputs #### 5. Fixing inconsistent inputs
These issues reflext an inconsistent choice in the input parameter but can be fixed if the `inputcard` is modified. These issues reflects an inconsistent choice in the input parameter but can be fixed if the `inputcard` is modified.
##### 5.1 `R_LOG` too small ##### 5.1 `R_LOG` too small
**Symptoms:** **Symptoms:**
The KKRhost code stops with the error message `Error creating newmesh!`: The KKRhost code stops with the error message `Error creating newmesh!`:
``` ```
$ ./kkr.x $ ./kkr.x
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!! Most output written to output.myrank.txt files !!! !!! Most output written to output.myrank.txt files !!!
!!! please check these files as well !!! !!! please check these files as well !!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Screened Korringa-Kohn-Rostoker Electronic Structure Code Screened Korringa-Kohn-Rostoker Electronic Structure Code
for Bulk and Interfaces for Bulk and Interfaces
Juelich-Munich 2001 - 2018 Juelich-Munich 2001 - 2018
Code version: v3.1-1825-g5e0f83a2 Code version: v3.1-1825-g5e0f83a2
Compile options: gnu-debug Compile options: gnu-debug
serial number for files: JuKKR_v3.1-1825-g5e0f83a2_gnu-debug_20200302120953 serial number for files: JuKKR_v3.1-1825-g5e0f83a2_gnu-debug_20200302120953
Calling MADELUNG3D Calling MADELUNG3D
Exited MADELUNG3D Exited MADELUNG3D
ERORR: non-spherical part of the potential needs ERORR: non-spherical part of the potential needs
to be inside the log panel (i.e. R_LOG too small) to be inside the log panel (i.e. R_LOG too small)
atom (I1): 1 atom (I1): 1
R_LOG 0.10000000000000001 R_LOG 0.10000000000000001
Rmesh(IRMIN(I1), I1) 0.41880251818625097 Rmesh(IRMIN(I1), I1) 0.41880251818625097
IRMIN(I1) 276 IRMIN(I1) 276
STOP Error creating newmesh! STOP Error creating newmesh!
``` ```
**Fix:** **Fix:**
The `R_LOG` parameter needs to be bigger than `Rmesh(IRMIN(I1), I1)`. In the above example we can fix this by changing/adding the `R_LOG` input in the `inputcard` with a larger value: The `R_LOG` parameter needs to be bigger than `Rmesh(IRMIN(I1), I1)`. In the above example we can fix this by changing/adding the `R_LOG` input in the `inputcard` with a larger value:
``` ```
R_LOG= 0.45 R_LOG= 0.45
``` ```
--- ##### 5.2 `KPOIBZ` too small
**Symptoms:**
The KKRhost code stops with the error message `<BZIRR3D> increase parameter KPOIBZ'`. The reason is that the k-mesh in the inputcard (`BZDIVIDE` input) can't fit into the default size of corresponding working arrays. In the output it also tells you what to do (here an example for `BZDIVIDE= 64 64 64`:
```
...
No. of k-points 262144 > KPOIBZ
STOP <BZIRR3D> increase parameter KPOIBZ'
```
**Fix:**
The `KPOIBZ` parameter needs to be bigger than `product(BZDIVIDE)`. In the above example we can fix this by changing/adding the `KPOIBZ` input in the `inputcard` with a larger value:
```
BZDIVIDE= 64 64 64
...
KPOIBZ= 262144 # == 64^3
```
---