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