Installation#
Prerequisites#
-
A working
python3.7+
environment, e.g., provided by anaconda. -
A working
fortran
compiler, e.g., obtained by:apt-get install gfortran
in Debian-derived systems, orconda install -c conda-forge fortran-compiler
whenconda
is used.
-
If you want to use
FHI-aims
for running ab initio calculations, make sure you have a recent version that supports the iPi socket communication (this is the default for any version newer than the200112_2
release when using the CMake build system).
Install vibes
#
From the repository#
This way to install fhi-vibes
should always work, it's currently the preferred option:
-
Clone the repository, e.g., via
git clone https://gitlab.com/vibes-developers/vibes.git
-
Change to the folder:
cd vibes
-
Install build requirements
numpy
andpoetry
manually (if you use aconda
environment, you should installnumpy
viaconda
instead):pip install numpy poetry==1.1.12
-
Install
fhi-vibes
without build isolationpip install --no-build-isolation .
If you run into problems, please have a look at our troubleshooting section.
Configuration#
Configure vibes
by creating a ~/.vibesrc
configuration file template in the home directory. To this end, first run
vibes template configuration vibes > ~/.vibesrc
and edit the configuration file as described below:
basissetloc
#
The basissetloc
should point to the folder containing FHI-aims' species defaults, e.g., the /path/to/FHIaims/species_defaults
folder.
aims_command
#
The aims_command
should be an executable script that takes care of setting up the environment and then running FHI-aims, for example a file called /path/to/FHIaims/run_aims.sh
that looks roughly like this (depends on you system!):
#!/bin/bash -l
ulimit -s unlimited
export OMP_NUM_THREADS=1
module purge
module load intel impi mkl
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${MKLROOT}/lib/intel64/
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${INTEL_HOME}/lib/intel64/
srun /path/to/FHIaims/build/aims.x
The script run_aims.sh
has to be marked as executable, e.g., by running chmod +x /path/to/FHIaims/run_aims.sh
.
You're now good to go!
Autocompletion#
To activate autocompletion of vibes
subcommands, add this to your .bashrc
:
eval "$(_VIBES_COMPLETE=source vibes)"
and source it.
If you use the fishshell
, add a file ~/.config/fish/completions/vibes.fish
containing
eval (env _VIBES_COMPLETE=source-fish vibes)
Troubleshooting#
ModuleNotFoundError: No module named 'importlib_resources'
- Solution:
pip install importlib_resources dataclasses
- Solution:
RuntimeError: Click will abort further execution because Python 3 was configured to use ASCII as encoding for the environment. Consult https://click.palletsprojects.com/python3/ for mitigation steps
- Solution:
export LC_ALL=C.UTF-8 ; export LANG=C.UTF-8
- Solution:
-bash: vibes: command not found
- Solution:
export PATH=$PATH:~/.local/bin
- Solution:
ImportError: numpy.core.multiarray failed to import
- Solution:
pip install numpy -U
(orconda update numpy
if you use conda) - Alternative: use
pip install --no-build-isolation
when installing vibes to use consistent numpy versions during build and run time. In that case,poetry
might need to be installed manually viapip install poetry
.
- Solution:
-
Various version conflicts
- Consider using a virtual environment, e.g., via
conda create -n py38 -c anaconda python=3.8 numpy scipy
- Consider using a virtual environment, e.g., via
-
/tmp/pip-build-env-xak_2vfy/overlay/lib/python3.7/site-packages/numpy/core/_multiarray_umath.cpython-37m-x86_64-linux-gnu.so: failed to map segment from shared object: Operation not permitted
- This might happen on HPC systems with limited access rights. The solution is to provide a writable
tmp
folder, e.g. viamkdir ~/condatmp && export TMPDIR=~/condatmp/
- This might happen on HPC systems with limited access rights. The solution is to provide a writable
If your problem is not listed here, please file an issue in our issue tracker.