SIESTA - lncc-sered/manual-sdumont2nd GitHub Wiki
EM CONSTRUÇÃO
Página oficial do SIESTA Documentação da versão 5.2.2 e tutoriais disponíveis em: Tutoriais Oficiais SIESTA 5.2.2
Tutorial utilizado: "First Encounter"
Testes utilizando os exemplos disponíveis no tutorial oficial do SIESTA: "First Encounter" (recomenda-se executar primeiro o exemplo da simulação do metano (CH₄) validação)
Baixar o exemplo e preparar diretório de execução:
mkdir tutorial-siesta
cd tutorial-siesta
wget https://docs.siesta-project.org/projects/siesta/en/latest/_downloads/3464afe3f42797391af6e111a8236ed6/C.psml
wget https://docs.siesta-project.org/projects/siesta/en/latest/_downloads/5fa9d566d83ab853fd44ad4ddbe50301/H.psml
wget https://docs.siesta-project.org/projects/siesta/en/latest/_downloads/2f652982c8b59f848fbf0c63b6f9a2c8/ch4.fdf
Ou copie o arquivo "C.psml", "H.psml" e "ch4.fdf" que estão disponível no caminho "/scratch/app/anaconda_module/envs/siesta_5.2.2_openmpi/Tutorial" para sua pasta de execução do teste com os comando abaixo:
mkdir tutorial-siesta
cd tutorial-siesta
cp /scratch/app/anaconda_module/envs/siesta_5.2.2_openmpi/Tutorial/C.psml .
cp /scratch/app/anaconda_module/envs/siesta_5.2.2_openmpi/Tutorial/H.psml .
cp /scratch/app/anaconda_module/envs/siesta_5.2.2_openmpi/Tutorial/ch4.fdf .
Todos os exemplos abaixo utilizam 1 nó e apenas CPU.
Instalação do SIESTA 5.2.2 via ambiente Conda, localizada em: "/scratch/app/anaconda_module/envs/siesta_5.2.2_openmpi/"
e carregada como um módulo do Enviromental Modules com o comando abaixo:
module load siesta/5.2_openmpi-5.0
Instalação localizada em: /scratch/app/anaconda_module/envs/siesta_5.2.2_openmpi/ e carregada com o módulo do Enviromental Modules:
Versão do exemplo: 5.2.2 (lançada em fevereiro de 2025) Exemplos de uso com MPI:
# Execução em serial
siesta < ch4.fdf > ch4.out
# Execução paralela em 4 tarefas MPI (utilizando OpenMPI)
mpirun -np 12 siesta < ch4.fdf > ch4.out
Para sua comodidade, o exemplo abaixo mostra um script SLURM para execução paralela com SIESTA em CPU modificando somente as variáveis "INPUT" e "OUTPUT" é possível executar o script sem modificar a última linha, facilitando a execução do programa em larga escala.
#!/bin/bash
#SBATCH --nodes=1
#SBATCH --ntasks-per-node=12
#SBATCH --ntasks=12
#SBATCH -p lncc-cpu
#SBATCH -J siesta+graphene+cpu
# Exibe os nós alocados para o Job
echo $SLURM_JOB_NODELIST
nodeset -e $SLURM_JOB_NODELIST
cd $SLURM_SUBMIT_DIR
module load siesta/5.2_openmpi-5.0
EXEC=siesta
INPUT=graphene.fdf
OUTPUT=graphene.out
# Executa com OpenMPI utilizando CPUs
srun -n $SLURM_NTASKS $EXEC < $INPUT > $OUTPUT
# Substitua as variáveis de execução pelo comando explicito abaixo:
srun mpirun -np 4 $SLURM_NTASKS $EXEC < $INPUT > $OUTPUT
Após executar o comando siesta o programa ira executar a simulação e criar os seguintes arquivos dentro da pasta de execução.
Abaixo temos 3 tabelas explicativas dos arquivos que serão visto em sua pasta de teste de simulação do metano (CH₄):
Arquivo | Descrição Tabela 1 |
---|---|
ch4.out | Saída padrão do SIESTA (tudo que foi impresso na tela). Contém informações de energia total, convergência SCF, forças, etc. É o arquivo mais importante da execução. |
ch4.EIG | Contém os autovalores dos orbitais moleculares (níveis de energia). Útil para análise eletrônica. |
ch4.XV | Posições finais dos átomos (coordenadas) e velocidades. Pode ser usado como ponto de partida para outra simulação. |
ch4.FA | Contém as forças sobre cada átomo. Útil para análises de relaxação e dinâmica. |
ch4.BONDS, ch4.BONDS_FINAL | Informações sobre ligações químicas identificadas automaticamente. |
ch4.ORB_INDX | Índices dos orbitais utilizados por átomo. Informação interna para análises específicas. |
ch4.DM | Matriz de densidade (Density Matrix). Útil para cálculos posteriores como projeções ou análise da densidade eletrônica. |
ch4.HSX | Arquivo binário intermediário com estrutura e matriz hamiltoniana. Pode ser usado por programas como transiesta. |
ch4.STRUCT_OUT | Estrutura final otimizada (com coordenadas). Formato similar ao de entrada. |
Arquivo | Descrição |
---|---|
C.psml, H.psml | Pseudopotenciais PSML usados para carbono "C" e hidrogênio "H". |
C.ion, H.ion | Pseudopotenciais convertidos internamente pelo SIESTA. |
C.ion.nc, H.ion.nc | Versões NetCDF dos pseudopotenciais convertidos. |
C.ion.xml, H.ion.xml | Metadados (informações sobre os dados) dos pseudopotenciais convertidos. |
Arquivo | Descrição |
---|---|
INPUT_TMP.XXXXX | Arquivo temporário de entrada usado na execução. |
OUTVARS.yml | Todas as variáveis internas da simulação no formato YAML (útil para análise com scripts). |
fdf.YYYYMMDDTHHMMSS.log | Log do parser do arquivo .fdf. |
MESSAGES | Mensagens gerais de log (inclusive erros). |
CLOCK | Tempo de execução por etapa da simulação. Útil para benchmarking (analise de performance). |
PARALLEL_DIST | Distribuição paralela das tarefas (relevante para execuções MPI). |
BASIS_ENTHALPY, BASIS_HARRIS_ENTHALPY | Informações sobre energias associadas à base utilizada. |
ch4.bib | Arquivo de referências citáveis com base nos métodos e dados usados (útil para publicações). |
Observações para este exemplo: Os pseudopotenciais usados estão no formato PSML (C.psml, H.psml).
Para usar outros exemplos, consulte os demais tutoriais oficiais: https://docs.siesta-project.org/projects/siesta/en/latest/tutorials/index.html
Um resumo deste tutorial está disponível também no modo ajuda interno do módulo. No terminal e com o módulo do siesta carregado digite o comando abaixo:
module help siesta/5.2_openmpi-5.0
-------------------------- Module Specific Help for "siesta/5.2_openmpi-5.0" ---------------------------
SIESTA 5.2.2 com suporte a OpenMPI
Configura o ambiente para o SIESTA instalado via Conda
Caminho dos binarios: /scratch/app/anaconda_module/envs/siesta_5.2.2_openmpi/bin
Uso básico:
1. Crie seu diretório de trabalho com os arquivos:
- Input principal: nome.fdf
- Pseudopotenciais: *.psml (ex: C.psml, H.psml)
2. Execute o programa:
siesta < nome.fdf > nome.out
3. Apos a execução, arquivos gerados incluem:
- nome.out ............. Saída principal (log)
- nome.XV .............. Posições finais dos átomos
- nome.FA .............. Forças sobre os átomos
- nome.EIG ............. Autovalores (níveis de energia)
- *.ion / *.psml ....... Pseudopotenciais utilizados
Exemplo de execução disponível em /scratch/app/anaconda_module/envs/siesta_5.2.2_openmpi/Tutorial/:
siesta < ch4.fdf > ch4.out
Referencia oficial e tutoriais:
https://docs.siesta-project.org/