Crystal

Descrição

De acordo com a página do CRYSTAL, o programa CRYSTAL calcula a estrutura eletrônica de sistemas periódicos dentro das aproximações Hartree-Fock, funcional da densidade ou várias aproximações híbridas. As funções de Bloch são expandidas como combinações lineares de funções Gaussianas centradas nos átomos.

Versões Disponíveis

  • crystal/17_v1.0.2

  • crystal/17_v1.0.2_v2 (default)

Submissão de Jobs Seriais

submit_crystal_serial.sh
#!/bin/bash
#SBATCH -J crystal_serial
#SBATCH -N 1
#SBATCH -n 1
#SBATCH -t 24:00:00
#SBATCH --mem=8G

export INPUT="crystal.inp"
export OUTPUT="*.out *.f9"

module load crystal
job-nanny crystal < crystal.inp

Submissão de Jobs MPI

submit_crystal_mpi.sh
#!/bin/bash
#SBATCH -J crystal_mpi
#SBATCH -N 2
#SBATCH --ntasks-per-node=14
#SBATCH -t 48:00:00
#SBATCH --mem-per-cpu=4G

export INPUT="crystal.inp"
export OUTPUT="*.out *.f9"

module load crystal

# Copiar arquivo de entrada para INPUT (necessário para o executável)
cp crystal.inp INPUT

job-nanny srun -n $SLURM_NTASKS Pcrystal

Submissão de Jobs MPI com Múltiplos Nós

submit_crystal_mpi_large.sh
#!/bin/bash
#SBATCH -J crystal_large
#SBATCH -N 4
#SBATCH --ntasks-per-node=28
#SBATCH -t 72:00:00
#SBATCH --mem-per-cpu=4G

export INPUT="crystal_large.inp"
export OUTPUT="*.out *.f9 *.f28"

module load crystal

cp crystal_large.inp INPUT

job-nanny srun -n $SLURM_NTASKS Pcrystal

Exemplo de Arquivo de Entrada

crystal.inp
Graphene
CRYSTAL
0 0 0
2
6 2.0 1.0 2.0
HEXAGONAL
2.468 2.468 10.0 90.0 90.0 120.0
1
1 0 2 0.0 0.0 0.0
2 0 2 0.667 0.667 0.0
END
DFT
BECKE
END
SHRINK
12 12
TOLDEE
6
END

Nota

O CRYSTAL requer que o arquivo de entrada seja nomeado como INPUT para execução. No script de submissão, copiamos o arquivo original para este nome.

Job Array para Múltiplos Sistemas

submit_crystal_array.sh
#!/bin/bash
#SBATCH -J crystal_array
#SBATCH --array=1-5
#SBATCH -N 1
#SBATCH -n 1
#SBATCH -t 24:00:00
#SBATCH --mem=8G

SYSTEMS=(
    "graphene"
    "bn"
    "mos2"
    "sio2"
    "tio2"
)

SYSTEM=${SYSTEMS[$SLURM_ARRAY_TASK_ID-1]}
export INPUT="${SYSTEM}.inp"
export OUTPUT="${SYSTEM}/"

module load crystal

mkdir -p $SYSTEM
cd $SYSTEM
cp ../${SYSTEM}.inp INPUT

job-nanny crystal < INPUT

Análise de Resultados

Após a execução, o CRYSTAL gera vários arquivos de saída:

# Arquivo principal de saída
crystal.out

# Propriedades eletrônicas
f9 - bandas
f28 - densidade de estados
f31 - propriedades de ligação

# Geometria
f23 - geometria otimizada

Para extrair informações específicas:

# Energia total
grep "TOTAL ENERGY" crystal.out

# Gap de energia
grep "BAND GAP" crystal.out

# Forças
grep "ATOMIC FORCES" crystal.out

Referências

Ver também