Instalando o SIESTA no Linux automaticamente
Publicado por Iago Lira (última atualização em 10/10/2017)
[ Hits: 7.547 ]
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
Distribuindo arquivos para máquinas em rede
Instalação - Servidor de e-mail
Limpar o lixo das caixas de e-mail dos usuários que usam Maildir...
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Atualizando o Fedora 42 para 43
Como saber se o seu e-mail já teve a senha vazada?
Como descobrir se a sua senha já foi vazada na internet?
Secure boot, artigo interessante, nada técnico. (1)
Preciso recuperar videos *.mp4 corrompidos (1)
\Boot sem espaço em disco (Fedora KDE Plasma 42) (6)









