Instalando o SIESTA no Linux automaticamente
Publicado por Iago Lira (última atualização em 10/10/2017)
[ Hits: 7.389 ]
Homepage: https://notabug.org/iagolira/
Download 1481214382.install-siesta.sh (versão 2)
Download 1482896417.install-siesta.sh (versão 3)
Download 1501031893.install-siesta.sh (versão 4)
Download 1504456979.install-siesta.sh (versão 5)
Resolvi criar um script para instalação automatizada do programa SIESTA, pois para um iniciante, a mesma é muito complicada. Além disso, esse script proporciona que o usuário aprenda a compilar o SIESTA com o mesmo.
O SIESTA é um pacote para realizar cálculos de Estrutura Eletrônica, cálculos Ab Initio e de Dinâmica Molecular.
Em outras palavras, é um Software de Modelagem Molecular, desenvolvido por uma equipe envolvendo várias Universidades e Centros de Pesquisa, e chefiada pelo Prof. Dr. Emilio Artacho, da Universidade de Cambridge:
http://www.phy.cam.ac.uk/directory/artachoe
http://departments.icmab.es/leem/siesta/
http://departments.icmab.es/leem/siesta/About/team.html
https://psc.edu/index.php/user-resources/software/siesta
http://flex.phys.tohoku.ac.jp/texi/siesta-2.0.2-manual.pdf
Versão 2 - Enviado por maxshu em 08/12/2016
Changelog: O "script" anterior tinha uma linha com o diretório das "libraries" errada.
Download 1481214382.install-siesta.sh
Versão 3 - Enviado por Iago Lira em 28/12/2016
Changelog: Corrigi alguns bugs e fiz algumas melhorias (instalação do executável no diretório /usr/bin). Com esta correção basta digitar no terminal:
siesta < file.fdf > file.out
Download 1482896417.install-siesta.sh
Versão 4 - Enviado por Iago Lira em 25/07/2017
Changelog: Nesta nova edição incluí a atualização das novas versões do SIESTA (in Launchpad).
Download 1501031893.install-siesta.sh
Versão 5 - Enviado por Iago Lira em 03/09/2017
Changelog: Adicionei "--enable-mpi" para execução em paralelo com o mpi.
Download 1504456979.install-siesta.sh
#!/bin/bash #+-----------------------------------+ #| Autor: Francisco Iago Lira Passos | #| Data: 02-08-2016 | #| Modificado em: 25-07-2017 | #+-----------------------------------+ #================================================================================================== export site="http://departments.icmab.es/leem/siesta/CodeAccess/Code/downloads.html" export newsite="https://launchpad.net/siesta/+download" export sited="https://departments.icmab.es/leem/siesta/CodeAccess/Code" export user=$(users | sed 's/^.\{7\} //') export dirs clear echo " =================================================================================================== = ______ __ ___ ______ _______ _____ ___ ___ ______ __ ___ ________ = = |_ _| | \ | | | __ | |__ __| | _ | | | | | |_ _| | \ | | | ______| = = | | | \ | | | | |_| | | | |_| | | | | | | | | \ | | | | = = | | | | \ | | | |____ | | | _ | | | | | | | | | \ | | | | ____ = = | | | |\ \| | |____ | | | | | | | | | | | | | | |\ \| | | | |__ | = = _| |_ | | \ | ____| | | | | | | | | |____ | |____ _| |_ | | \ | | |____| | = = |______| |_| \__| |______| |_| |_| |_| |______| |______| |______| |_| \__| |________| = = ______ ______ ______ ______ _______ _____ = = | __ | |_ _| | __| | __ | |__ __| | _ | = = | | |_| | | | | | | |_| | | | |_| | = = | |____ | | | |_ | |____ | | | _ | = = |____ | | | | _| |____ | | | | | | | = = ____| | _| |_ | |___ ____| | | | | | | | = = |______| |______| |______| |______| |_| |_| |_| = =================================================================================================== " read -p "Enter the installation directory (ex: /usr/local/lib): " dirs read -p "Enter the compiler (ex: gfortran): " compiler read -p 'Enter the "liblapack.a/librefblas.a" directory: ' dirl echo "========================================" #================================================================================================== ################# NEW FILES ################## KEYWORDS=("siesta-" "tgz") IFS=$'\n' #dir1 #sed 's/.*siesta-//g; s/.tar.*//g; s/.tgz//; s/-.*//' #dir2 #sed 's/.*siesta-//g; s/.tar.*//g; s/.tgz//' # https://launchpad.net/siesta/$pasta1/$pasta2/+download wget $newsite --no-check-certificate -q -O - | grep "${KEYWORDS[*]}" |\ sed 's/">.*//g; s/.*\///g; /pdf/d; /html/d; s/.*="//g; /change/d; /json/d' > lista2 #Account cnt=0 #cleaning echo "" > lista while read x do dir1[$cnt]=$(echo $x | sed 's/.*siesta-//g; s/.tar.*//g; s/.tgz//; s/-.*//') dir2[$cnt]=$(echo $x | sed 's/.*siesta-//g; s/.tar.*//g; s/.tgz//') char[$cnt]=$x export dir1 export dir2 echo $x ${dir1[$cnt]} ${dir2[$cnt]} >> lista let cnt=$cnt+1 done < lista2 #================================================================================================== ################ OLD FILES ################## KEYWORDS=("siesta" "tgz") IFS=$'\n' wget $site --no-check-certificate -q -O - | grep "${KEYWORDS[*]}" |\ sed 's/">.*//g; s/.*\///g; /pdf/d; /html/d; s/.*="//g' >> lista2 ############################################## echo "=========== SIESTA VERSION =============" c1=0 while read x do let cnt=$cnt+1 let c1=$c1+1 char[$cnt]=$x echo " ($c1) --> $x" done < lista2 read -p "Type with your choose:" choose #number of lines of lista2 nlista2=$(($(cat lista | wc -l)-1)) #================================================================================================== #Siesta instalation c1=1 while read x do if [ $c1 == $choose ] then echo "========== EXTRACTING FILES... ===========" #OLD files [ -e $dirs/$x ] && [ $choose -gt $nlista2 ] && echo "Existing file!" ||\ wget --no-check-certificate -c -P $dirs $sited/$x #NEW files newsited="https://launchpad.net/siesta/${dir1[$c1]}/${dir2[$c1]}/+download" [ -e $dirs/$x ] && [ $choose -le $nlista2 ] && echo "Existing file!" ||\ wget --no-check-certificate -c -P $dirs $newsited/$x cd $dirs tar -xzvf $dirs/$x if [ $? == 0 ]; then echo "========== SUCCESSFULLY EXTRACTED! ===========" echo echo "========== INSTALLING SIESTA... ===========" cd $dirs/$(echo $x | sed 's/.tgz//g; s/.tar.gz//g')/Obj sh ../Src/obj_setup.sh cd ../Src ./configure --with-blas=$dirl/librefblas.a --with-lapack=$dirl/liblapack.a --prefix=/usr/local/bin/ FC=$compiler cp arch.make ../Obj cd ../Obj make cp siesta /usr/local/bin fi fi let c1=$c1+1 done < lista2
Configurando Adaptador USBSerial no Ubuntu usando udev
Firewall do mikrotik, limitando icmp (ping)
Antivírus no Linux para usuários de domínio
Aprenda a Gerenciar Permissões de Arquivos no Linux
Como transformar um áudio em vídeo com efeito de forma de onda (wave form)
Como aprovar Pull Requests em seu repositório Github via linha de comando
Quebra de linha na data e hora no Linux Mint
Organizando seus PDF com o Zotero
tentando instalar em um notebook antigo o Linux LegacyOS_2023... [RESO... (9)
Problema com Conexão Outlook via Firewall (OpenSUSE) com Internet Fibr... (5)