Instalando o SIESTA no Linux automaticamente
Publicado por Iago Lira (última atualização em 10/10/2017)
[ Hits: 7.187 ]
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 contra ataques de Brutal Force por SSH.
Script recolher log's servidor
Bashblog v1.0 0 - cria um microblog em HTML5
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Como renomear arquivos de letras maiúsculas para minúsculas
Imprimindo no formato livreto no Linux
Vim - incrementando números em substituição
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Vou voltar moderar conteúdos de Dicas e Artigos (1)
SysAdmin ou DevOps: Qual curso inicial pra essa área? (3)
É cada coisa que me aparece! - não é só 3% (3)
Melhorando a precisão de valores flutuantes em python[AJUDA] (5)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta