Instalando o SIESTA no Linux automaticamente
Publicado por Iago Lira (última atualização em 10/10/2017)
[ Hits: 7.005 ]
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
Script para acertar hora e data do sistema no linux.
Pra quem não usa WhatsUp e Nagios mas tem um *inx.
INSTALA TAR GZ COM MENU GRÁFICO ZENITY
Melhorando o tempo de boot do Fedora e outras distribuições
Como instalar as extensões Dash To Dock e Hide Top Bar no Gnome 45/46
E a guerra contra bots continua
Tradução do artigo do filósofo Gottfried Wilhelm Leibniz sobre o sistema binário
Conheça o firewall OpenGFW, uma implementação do (Great Firewall of China).
Instalando o FreeOffice no LMDE 6
Anki: Remover Tags de Estilo HTML de Todas as Cartas
Colocando uma opção de redimensionamento de imagem no menu de contexto do KDE
Gentoo bane contribuições de código feitas com IA (7)
Todo erro sempre gera um acerto... (11)
[Shell Script] Script para desinstalar pacotes desnecessários no OpenSuse
[Shell Script] Script para criar certificados de forma automatizada no OpenVpn
[Shell Script] Conversor de vídeo com opção de legenda
[C/C++] BRT - Bulk Renaming Tool
[Shell Script] Criação de Usuarios , Grupo e instalação do servidor de arquivos samba