Frequently Asked Questions
Installation
What is the tddft=yes?
Support real-time TDDFT by using ce-tddft. And the real-time TDDFT also support adding/replacing external potential.
Running
Some Intel MKL errors occur. What do I do?
Try:
export LD_PRELOAD=/opt/intel/oneapi/mkl/latest/lib/libmkl_rt.so
Some Intel MPI errors occur.
Try:
export LD_PRELOAD=/opt/intel/oneapi/mpi/latest/lib/libmpifort.so
Why can’t I read the wavefunctions? Why does it hang?
There are two different ways to store wavefunctions in QE, which is controls by PW parameter wf_collect. In doubt, simply use one processor to read.
If the wavefunctions were stored by old version QE (<6.4) or eQE, please use the old version of QEpy by:
python -m pip install qepy==6.5.0
Some f90wrap errors occur. What do I do?
Please try install the latest f90wrap . e.g.
python -m pip install --upgrade f90wrap
Signal: Segmentation fault...
QEpy and mpi4py should installed with same compiler. If not, try reinstall the mpi4py by:
python -m pip install mpi4py --no-cache-dir
BAD TERMINATION OF ONE OF YOUR APPLICATION PROCESSES
Without mpi4py, the QEpy still can parallel running, but you cannot control the parallel. If you want to run a different job, you have to restart the script or the jupyter kernel.
With mpi4py to run the parallel QEpy, you can add comm
to Driver
, or directly use comm.py2f()
in the function.
Bugs
GCC
For new version of gcc (eg. gcc=11.2) with LTO supported or under conda environment, if you met the problem when you install the QEpy:
lto1: fatal error:...
Try disable link-time-optimization by add
-fno-lto
to the variable FFLAGS and CFLAGS.
Gfortran
For gfortran>=10.0 sometimes still works, but will has error:
Type mismatch between actual argument...
Try to add
-fallow-argument-mismatch
to the variable FFLAGS (e.g.FFLAGS='-fPIC -fallow-argument-mismatch'
).For a few versions of BLAS library, will raise error:
Segmentation fault - invalid memory reference...
This is due to the zdotc function of external libraries. More details to here. One solution is append the
-ff2c
to CFLAGS of QE. For example, the following can be used for MacOS with Apple silicon:./configure FFLAGS='-fPIC -fallow-argument-mismatch -ff2c -fno-second-underscore' CFLAGS='-fPIC -arch arm64' CPP='gcc -E' LDFLAGS=-headerpad_max_install_names
Intel Compiler
If you met any problems like the following, please try a newer Intel compiler or GNU compiler.
[MPID_nem_tmi_pending_ssend_dequeue]: ERROR: can not find matching ssend...
The initial density totally wrong with more than one nodes.
The gcc version between 4.8-9.2 are supported by intel compiler, which upgraded until 2022.1 version. More details to here.
...error: attribute "__malloc__" does not take arguments...
OpenMPI
If you met some problems like the following:
mca_base_component_repository_open: unable to open mca_patcher_overwrite...
Please update to latest version of OpenMPI, or fix with
patchelf
(openmpi=2.1.1):#!/bin/sh prefix="/usr/lib/x86_64-linux-gnu/openmpi" for filename in $(ls $prefix/lib/openmpi/*.so); do patchelf --add-needed libmpi.so.20 $filename patchelf --set-rpath "\$ORIGIN/.." $filename done
MacOS
For some versions of the MacOS, maybe you will has error:
Illegal Instruction: 4...
Try to add
-mmacosx-version-min=10.14
to the FFLAGS.clang: error: no input files...
Redefine CPP as CPP=gcc -E in make.inc.
changing install names or rpaths can't be redone for...
Add
-headerpad_max_install_names
to the LDFLAGS.
QE
compilation aborted for mbd_c_api.F90
ifx not works for mbd until #60. The easiest way to fix is running the following before make
export LIBMBD_C_API=0
Abandon
Read old format XML file
The old format (-D__OLDXML) has been deprecated since version 6.4.
oldxml
allows you to read the output (wavefunctions, etc) from an old XML file. Last version to support it is qepy==6.5.0.