Abinit

Abinit是一个软件套件,用于计算材料的光学,机械,振动和其他可观察的属性。从密度泛函理论的量子方程出发,可以用于建立基于DFT的扰动理论和多体格林函数(GW和DMFT)的高级应用。Abinit可以计算任何化学成分的分子,纳米结构和固体,并附带几个完整而可靠的原子势表。

关于Abinit的更多信息请访问Abinit官网**

一、作业提交参数说明

用户可通过公共模板提交Abinit作业,与Abinit相关的作业参数如下:

``
参数 描述
abinit formatted input formatted_input文件
abinit formatted output formatted_output文件
abinit psp file 赝势文件

二、Abinit作业运行参考

1.执行命令

[root@c2 Work]# mpirun -np 64 abinit tgspw_01.files
[root@c2 Work]# ll
-rw-r--r-- 1 root root    272 Oct 22 18:02 482.err
-rw-r--r-- 1 root root  76196 Oct 22 18:02 482.out
-rw-r--r-- 1 root root    828 Oct 22 18:01 abinit.slurm
-rw-r--r-- 1 root root 840772 Oct 22 18:01 Au.xml
-rw-r--r-- 1 root root  10438 Oct 22 18:01 tgspw_01.abi
-rw-r--r-- 1 root root  42672 Oct 22 18:01 tgspw_01.abo
-rw-r--r-- 1 root root  42676 Oct 22 18:01 tgspw_01.abo0001
-rw-r--r-- 1 root root     62 Oct 22 18:01 tgspw_01.files
-rw-r--r-- 1 root root  33767 Oct 22 18:01 tgspw_01o_OUT.nc

2.执行文件

tgspw_01.abi

tgspw_01.abo

Au.xml

3.input文件

job_name=abinit
#run_time=24:00:00
partition=dell_intel
node_num=3
task_per_node=32
tmp_dir=/home/wushiming/abinit
abinit_formatted_input=tgspw_01.abi
abinit_formatted_output=tgspw_01.abo
abinit_psp_file=Au.xml
#work_dir=/home/wushiming/namd

4.执行脚本

#!/bin/sh
source /home/wushiming/abinit/abinit_input
##check input var
time=`date +%m%d_%H%M%S`
if [ "x$job_name" == "x" ];then
sbatch_job_name="YHPC_$time "
else
sbatch_job_name=$job_name
fi
if [ "x$partition" == "x" ];then
sbatch_partition=""
else
sbatch_partition=$partition
fi
if [ "x$work_dir" == "x" ];then
mkdir -p /home/yhpc/YHPC_$time
sbatch_work_dir=/home/yhpc/YHPC_$time
else
sbatch_work_dir=$work_dir
fi
if [ "x$run_time" == "x" ];then
sbatch_run_time=03:00:00
else
sbatch_run_time=$run_time
fi
if [ "x$abinit_formatted_input" == "x" ];then
echo "The abinit_formatted_input cannot be empty."
exit 1
else
cp $tmp_dir/$abinit_formatted_input $sbatch_work_dir
sbatch_abinit_file=$abinit_formatted_input
fi
if [ "x$abinit_formatted_output" == "x" ];then
echo "The abinit_formatted_output cannot be empty."
exit 1
else
cp $tmp_dir/$abinit_formatted_output $sbatch_work_dir
sbatch_abinit_file=$abinit_formatted_output
fi
if [ "x$abinit_psp_file" == "x" ];then
echo "The abinit_psp_file cannot be empty."
exit 1
else
cp $tmp_dir/$abinit_psp_file $sbatch_work_dir
sbatch_abinit_file=$abinit_psp_file
fi
sbatch_node_num=$node_num
sbatch_task_per_node=$task_per_node
sbatch_err_log=$sbatch_work_dir/%j.err
sbatch_out_log=$sbatch_work_dir/%j.out
abint_formatted_noindex=`echo $abinit_formatted_input | cut -d . -f 1`
cat > $sbatch_work_dir/$abint_formatted_noindex.files <<EOF
$abinit_formatted_input
$abinit_formatted_output
${abint_formatted_noindex}i
${abint_formatted_noindex}o
$abint_formatted_noindex
$abinit_psp_file
EOF
### Write basic job infomations


#echo -e "The start time is: `date +"%Y-%m-%d %H:%M:%S"` \n"
#echo -e "My job ID is: $SLURM_JOB_ID \n"
#echo -e "The total cores is: $total_cores \n"
#echo -e "The hosts is: \n"
#srun -np $node_num -nnp 1 hostname
cat > $sbatch_work_dir/abinit.slurm <<EOF
#!/bin/bash
#SBATCH --ntasks-per-node=$sbatch_task_per_node
#SBATCH --job-name $sbatch_job_name
#SBATCH --nodes=$sbatch_node_num
#SBATCH --mail-type=ALL
#SBATCH --partition $sbatch_partition
#SBATCH --chdir=$sbatch_work_dir
#SBATCH -e $sbatch_err_log
#SBATCH -o $sbatch_out_log
# 导入运行环境
ulimit -s unlimited
ulimit -l unlimited
module purge
source /opt/ohpc/pub/apps/intel/setvars.sh
module load intel/mpi-2021.1.1
module load gnu8/8.3.0
module load abinit/9.4.2
echo -e "The start time is: \`date +"%Y-%m-%d %H:%M:%S"\`"
echo -e "My job ID is: \$SLURM_JOB_ID"
echo -e "The total cores is: \$SLURM_NPROCS"
echo -e "The \$SLURM_JOB_ID Job info:"


scontrol show job \$SLURM_JOB_ID
cd $sbatch_work_dir
mpirun -genv I_MPI_FABRICS ofi abinit < $abint_formatted_noindex.files
echo -e "The end time is: \`date +"%Y-%m-%d %H:%M:%S"\`"
EOF
#sed -i 's/SLURM*/\$SLURM/g' $sbatch_work_dir/abinit.slurm
/usr/bin/sbatch $sbatch_work_dir/abinit.slurm

results matching ""

    No results matching ""