Instalando o SIESTA no Linux automaticamente
Publicado por Iago Lira (última atualização em 10/10/2017)
[ Hits: 7.669 ]
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 compilação manual do nessus
olhaMeuDesktop 0.1 - Aplicativo para gravar Área de Trabalho
Gentoo: detectando impressoras de rede e como fixar uma impressora por IP
Como o GNOME conseguiu o feito de ser preterido por outras interfaces gráficas
Gentoo binário em 2026: UEFI, LUKS, Btrfs e Systemd
Trabalhando Nativamente com Logs no Linux
Jogando Daikatana (Steam) com Patch 1.3 via Luxtorpeda no Linux
Por que sua empresa precisa de uma PKI (e como automatizar EMISSÕES de certificados via Web API)
Instalando NoMachine no Gentoo com Systemd (acesso Remoto em LAN)
Gentoo: Trocando wpa_supplicant pelo iwd no NetworkManager (Systemd)
O que houve com slackware ??? (12)
Alterar conteúdo de dica [RESOLVIDO] (3)
Vou destruir sua infância:) (5)









