Instalando o SIESTA no Linux automaticamente
Publicado por Iago Lira (última atualização em 10/10/2017)
[ Hits: 7.610 ]
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
Geração de gráfico em shell script
Manutenção básica em partições Windows
Envia e-mails periodicamente com back-up do servidor
NetScan - o seu scanner de rede!
Fluxbox: Wallpapers aleatórios
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Como impedir exclusão de arquivos por outros usuários no (Linux)
Cirurgia no Linux Mint em HD Externo via USB
Anúncio do meu script de Pós-Instalação do Ubuntu
Formas seguras de instalar Debian Sid (2)
Duas Pasta Pessoal Aparecendo no Ubuntu 24.04.3 LTS (12)
Alguém pode me indicar um designer freelancer? [RESOLVIDO] (5)
Alguém executou um rm e quase mata a Pixar! (3)
Por que passar nas disciplinas da faculdade é ruim e ser reprovado é b... (6)









