Skip to main content

Common errors

This guide lists frequent problems, their causes and solutions.

Summary table​

SymptomLikely causeSolution
pw.x not foundQE not installed or not in PATHpw.x not found
mpirun not foundMPI not installedMPI
error while loading shared librariesMissing FFTW/MPI libsLibraries
Very slow runsOpenMP + MPI misconfiguredMPI performance
No terminal plotsMissing plotext/matplotlib or stale cacheMissing plots
pw.x exit code 1 (Docker)Incomplete QE in imageDocker
Identical energy between iterationsStale QE outputConvergence
unknown chemical symbolInvalid chemical formulaInvalid formula

pw.x not found​

Symptom:

ERROR: ❌ pw.x executable not found

Solutions:

python3 qe_runner.py input.in --qe-path /path/to/qe-7.0
export PATH="/path/to/qe-7.0/bin:$PATH"
python3 qe_runner.py input.in --pw /path/to/qe-7.0/bin/pw.x

Invalid chemical formula​

Symptom:

❌ Erreur: symbole chimique inconnu 'Bo' dans 'BBo'.

Cause: The string passed to fetcher.py or qe-bridge is not a valid chemical formula. Each segment must be a periodic-table element symbol (Si, C, Ge…).

Triggering example:

python3 fetcher.py BBo # 'Bo' is not a valid element symbol

Solution: Check spelling and use only recognized element symbols:

python3 fetcher.py B # Boron
python3 fetcher.py Si # Silicon
python3 fetcher.py SiGe # Silicon-germanium alloy

MPI not found​

Symptom:

WARNING: ⚠️ mpirun not found in PATH, running on single core

Solution:

sudo apt-get install -y libopenmpi-dev openmpi-bin

Missing libraries​

Symptom:

pw.x: error while loading shared libraries: libfftw3f.so.3: cannot open shared object file

Solution:

export LD_LIBRARY_PATH="/home/user/qe-7.0/lib:$LD_LIBRARY_PATH"

MPI performance​

export OMP_NUM_THREADS=1
python3 qe_runner.py input.in --nproc 4

Missing plots​

pip install plotext matplotlib
rm -rf __pycache__ *.pyc
python3 plotter.py epsilon_out/Si_epsr.dat

Docker​

If pw.x fails inside the container:

  • Pull the latest image: docker pull lauryneelv/qe-to-tcad:latest
  • Check mounted volume permissions: docker run -v "$PWD:/data" ...
  • Pass --epsilon empiric (no Y/N prompt without -it)
  • With sudo docker, pass the key explicitly: -e MP_API_KEY="your_key"
  • On Mac Apple Silicon: add --platform linux/amd64 if the image does not start
Older images (< 0.2.7)

Since 0.2.7, OpenMPI allows mpirun as root in the image. Only use -e OMPI_ALLOW_RUN_AS_ROOT=1 when troubleshooting older images.


Convergence​

If energy is identical between iterations, delete stale files in out/ and rerun.

See also​