Código disponível em: https://elk.sourceforge.io/
Código/Software escrito por: Karl-Franzens-Universität Graz, https://physik.uni-graz.at/ (John Kay Dewhurst, Sangeeta Sharma, Lars Nordström, Francesco Cricchio, Oscar Grånäs, Hardy Gross, et. al.)
@misc{elk,
title = {{The Elk Code}},
howpublished = {\url{http://elk.sourceforge.net/}}
}
Baseado em: https://itsfoss.com/elk-code-ubuntu-setup/
Data de criação deste tutorial: 26/10/2023
Última revisão: 26/10/2023
Primeiramente, atualize o computador:
$ sudo apt update && sudo apt upgrade && sudo apt autoremove
$ sudo apt install build-essential
$ sudo apt install gfortran python3-pip scidavis grace
$ pip install jupyter matplotlib tensorflow scikit-learn larch xraylib
$ pip install numpy pandas scipy seaborn pymatgen xray-vision
$ sudo apt install openmpi-bin
Instale o Intel oneAPI Base Toolkit (2023.2.0.49397):
$ wget https://registrationcenter-download.intel.com/akdlm/IRC_NAS/992857b9-624c-45de-9701-f6445d845359/l_BaseKit_p_2023.2.0.49397.sh
$ sudo bash l_BaseKit_p_2023.2.0.49397.sh
Em seguida, realize as seguintes operações a cada etapa em tela: Clique em "Continue" / Selecione "I accept the terms..." e clique em "Continue" / Clique na seta que aponta para a direita para continuar / Selecione "Skip Eclipse IDE configuration" e clique na seta que aponta para a direita para continuar / Selecione "I do NOT ..." e clique em "Install". Ao finalizar, clique em "Finish".
Instale o Intel oneAPI HPC Toolkit (2023.2.0.49440):
$ wget https://registrationcenter-download.intel.com/akdlm/IRC_NAS/0722521a-34b5-4c41-af3f-d5d14e88248d/l_HPCKit_p_2023.2.0.49440.sh
$ sudo bash l_HPCKit_p_2023.2.0.49440.sh
Em seguida, realize as seguintes operações a cada etapa em tela: Clique em "Continue" / Selecione "I accept the terms..." e clique em "Continue" / Clique na seta que aponta para a direita para continuar / Selecione "Skip Eclipse IDE configuration" e clique na seta que aponta para a direita para continuar / Selecione "I do NOT ..." e clique em "Install". Ao finalizar, clique em "Finish".
Configure os compiladores:
$ source /opt/intel/oneapi/setvars.sh
$ cd /opt/intel/oneapi/mkl/2023.2.0/interfaces
Dentro desta pasta, em cada uma das subpastas (fftw2xc, fftw2x_cd, ftfftw2xf, fftw3xc, fftw3x_cdft, fftw3xf, mklmpi) aplique o seguinte comando:
$ make libintel64 INSTALL_DIR=$HOME
Instalando o ELK no Ubuntu 22.04.3
Quando se tratar de algo do ELK sempre utilize o seguinte comando antes de mais tudo:
$ source /opt/intel/oneapi/setvars.sh
Baixe a última versão do ELK (Para este tutorial, estou utilizando a versão 9.1.15): https://sourceforge.net/projects/elk/files/?ref=itsfoss.com
Descompacte o ELK e acesse no diretório Downloads
Baixe o Wannier90 (Para este tutorial, estou utilizando a versão 3.1.0): http://www.wannier.org/download/?ref=itsfoss.com
Descompacte o Wannier90 e acesse no diretório Downloads e abra o terminal no diretório do Wannier90:
$ cd ~/Downloads/wannier90-3.1.0/
$ source /opt/intel/oneapi/setvars.sh
$ cp ./config/make.inc.ifort ./make.inc
$ make
$ make lib
$ cp libwannier.a ../elk-9.1.15/src/
$ cd ../
Baixe o libxc (Para este tutorial, estou utilizando a versão 6.2.2):
$ wget http://www.tddft.org/programs/libxc/down.php?file=6.2.2/libxc-6.2.2.tar.gz
$ mv down.php\?file\=6.2.2%2Flibxc-6.2.2.tar.gz libxc-6.2.2.tar.gz
$ tar -zxvf libxc-6.2.2.tar.gz
$ cd libxc-6.2.2
$ ./configure CC=icc FC=ifort
$ make
$ make check
$ sudo make install
$ cp /opt/etsf/lib/libxc.a ../elk-9.1.15/src/
$ cp /opt/etsf/lib/libxcf90.a ../elk-9.1.15/src/
Agora, abra o diretório do ELK
$ cd ~/Downloads/elk-9.1.15/
$ source /opt/intel/oneapi/setvars.sh
$ cp /opt/intel/oneapi/mkl/2023.2.0/include/mkl_dfti.f90 src/
Edite o arquivo make.inc disponível no diretório do elk (caso ajude, esta é a configuração em meu computador para o make.inc):
$ gedit ~/Downloads/elk-9.1.15/make.inc
Após tudo ok, aplique um make no diretório do make:
$ cd ~/Downloads/elk-9.1.15/
$ make
O arquivo executável "elk" se encontra no diretório "~/Downloads/elk-9.1.15/src/". Para testar o elk,
$ cd ~/Downloads/elk-9.1.15/
$ source /opt/intel/oneapi/setvars.sh
$ make test