SIESTA - lncc-sered/manual-sdumont2nd GitHub Wiki

Table of Contents

SIESTA

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.

🗂️ Local da Instalação e Carregando Module

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:

💻 Execução dos comando básico.

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

➡️ Execução via script SLUMR (srun ou .sbatch)

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

📩 Arquivos principais da saída do SIESTA

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₄):

⚛️Tabela 1 - Arquivos de saída básicos

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.

🎆 Tabela 2 - Pseudopotenciais e orbitais

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.

⚙️ Tabela 3 - Arquivos internos e de controle

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/

Início


⚠️ **GitHub.com Fallback** ⚠️