In the online documentation, introduction of input parameters nx,ny,nz is,
nx, ny, nz
Type: Integer
Description: If set to a positive number, then the three variables specify the numbers of FFT grid points in x, y, z directions, respectively. If set to 0, the number will be calculated from ecutwfc.
Default: 0
and bx,by,bz is,
bx, by, bz
Type: Integer
Description: In the matrix operation of grid integral, bx/by/bz grids (in x, y, z directions) are treated as a whole as a matrix element. A different value will affect the calculation speed. The default is 0, which means abacus will automatically calculate these values.
Default: 0
When users set nx,ny,nz manually, but use default value of bx,by,bz, ABACUS will crash with error message,
===================================================================================
= BAD TERMINATION OF ONE OF YOUR APPLICATION PROCESSES
= RANK 0 PID 3348301 RUNNING AT cnode62
= KILLED BY SIGNAL: 8 (Floating point exception)
===================================================================================
...
[cnode62:3348306:0:3348306] Caught signal 8 (Floating point exception: integer divide by zero)
[cnode62:3348316:0:3348316] Caught signal 8 (Floating point exception: integer divide by zero)
[cnode62:3348317:0:3348317] Caught signal 8 (Floating point exception: integer divide by zero)
So in the online documentation, it's better to remind users that when setting nx,ny,nz manually, bx,by,bz also need to set to a non-zero value.
In the online documentation, introduction of input parameters nx,ny,nz is,
and bx,by,bz is,
When users set nx,ny,nz manually, but use default value of bx,by,bz, ABACUS will crash with error message,
...
So in the online documentation, it's better to remind users that when setting nx,ny,nz manually, bx,by,bz also need to set to a non-zero value.