Exciting
Nesta seção:
Descrição
De acordo com a página do Exciting, exciting é um pacote de teoria do funcional da densidade (DFT) de potencial completo, all-electron, que implementa as famílias de métodos de ondas planas aumentadas linearizadas. Pode ser aplicado a todos os tipos de materiais e permite explorar a física de elétrons do núcleo, com foco particular em estados excitados dentro da teoria de perturbação de muitos corpos.
Versões Disponíveis
exciting/carbon (default)
exciting/neon-21
Submissão de Jobs MPI
#!/bin/bash
#SBATCH -J exciting_mpi
#SBATCH -N 2
#SBATCH --ntasks-per-node=28
#SBATCH -t 30-00:00:00
#SBATCH --mem-per-cpu=2G
ulimit -s unlimited
export INPUT="input.xml"
export OUTPUT="*.out *.xml"
export WAIT_CHECKPOINT="300"
module load exciting/carbon
job-nanny srun -n $SLURM_NTASKS excitingmpi
Importante
O comando ulimit -s unlimited é necessário para evitar problemas de pilha em cálculos grandes.
Submissão de Jobs Seriais
#!/bin/bash
#SBATCH -J exciting_serial
#SBATCH -N 1
#SBATCH -n 1
#SBATCH -t 7-00:00:00
#SBATCH --mem=8G
ulimit -s unlimited
export INPUT="input.xml"
export OUTPUT="*.out *.xml"
module load exciting/carbon
job-nanny excitingmpi
Exemplo de Arquivo de Entrada XML
<?xml version="1.0" encoding="UTF-8"?>
<input>
<title>Exciting calculation for silicon</title>
<structure speciespath="/opt/gridunesp/dist/exciting/carbon/species">
<crystal scale="10.20">
<basevect> 0.5 0.5 0.0 </basevect>
<basevect> 0.5 0.0 0.5 </basevect>
<basevect> 0.0 0.5 0.5 </basevect>
</crystal>
<species speciesfile="Si.xml">
<atom coord="0.00 0.00 0.00" />
<atom coord="0.25 0.25 0.25" />
</species>
</structure>
<groundstate
ngridk="4 4 4"
rgkmax="7.0"
gmaxvr="20.0"
xctype="GGA_PBE_SOL"
epsengy="1.0e-6"
maxiter="200"
/>
<properties>
<dos nsmdos="2" ngridk="10 10 10" />
<bandstructure>
<plot1d>
<path steps="100">
<point coord="0.5 0.5 0.5" label="L" />
<point coord="0.0 0.0 0.0" label="G" />
<point coord="0.5 0.0 0.0" label="X" />
<point coord="0.5 0.5 0.5" label="L" />
</path>
</plot1d>
</bandstructure>
</properties>
</input>
Cálculo de Propriedades Específicas
#!/bin/bash
#SBATCH -J exciting_props
#SBATCH -N 2
#SBATCH --ntasks-per-node=28
#SBATCH -t 48:00:00
#SBATCH --mem-per-cpu=2G
ulimit -s unlimited
export INPUT="input_properties.xml"
export OUTPUT="*.out *.xml"
module load exciting/carbon
# Calcular estado fundamental primeiro
job-nanny srun -n $SLURM_NTASKS excitingmpi
# Depois calcular propriedades (se necessário em outro job)
Job Array para Varredura de Parâmetros
#!/bin/bash
#SBATCH -J exciting_array
#SBATCH --array=1-5
#SBATCH -N 1
#SBATCH --ntasks-per-node=28
#SBATCH -t 24:00:00
#SBATCH --mem-per-cpu=2G
ulimit -s unlimited
export INPUT="template.xml"
export OUTPUT="run_${SLURM_ARRAY_TASK_ID}/"
module load exciting/carbon
RGKMAX_VALUES=(5.0 6.0 7.0 8.0 9.0)
RGKMAX=${RGKMAX_VALUES[$SLURM_ARRAY_TASK_ID-1]}
mkdir -p run_${SLURM_ARRAY_TASK_ID}
cd run_${SLURM_ARRAY_TASK_ID}
# Modificar rgkmax no arquivo de entrada
sed "s/RGKMAX_VALUE/$RGKMAX/g" ../template.xml > input.xml
job-nanny srun -n $SLURM_NTASKS excitingmpi
Referências
Documentação: http://exciting-code.org/documentation
Tutoriais: http://exciting-code.org/tutorials
Ver também
Quantum ESPRESSO - Alternativa para DFT
CP2K - Alternativa para simulações atomísticas
Processando Simulações - Como submeter jobs