1、ABAQUS

#!/bin/bash 
#SBATCH -J abaqus_test   #作业名
#SBATCH -p wzhctest    #队列
#SBATCH -n 120   #总进程数
#SBATCH -N 4    #节点数
#SBATCH --ntasks-per-node=30 #每节点进程数
#SBATCH --cpus-per-task=1    ##每进程占用核心数
#SBATCH --exclusive    ##独占节点
#SBATCH -o out.%j    
#SBATCH -e err.%j

export EXEC="/work/home/username/app/ABAQUS/abq2020"     #软件安装路径

WORK_DIR=`pwd`     #当前目录
INPUT_FILE=Job-PerforationExplosion.inp   #输入文件
job_name=`echo ${INPUT_FILE} | awk -F. '{print $1}'`
#USER_FILE=exa_fml_ortho_damage_umat.for   #fortran子程序
LOG_FILE=abaqus-test.log   
#########################################################

cd $WORK_DIR  
PROCS=$SLURM_NPROCS

export HOST_FILE=$(/opt/gridview/slurm/bin/generate_pbs_nodefile)
cat ${HOST_FILE} > nodelist

NODELIST=""
for i in `cat $PWD/nodelist | sort | uniq`
do
NUM_PROC=`cat $PWD/nodelist | grep $i | wc -l`
if [ "$NODELIST" = "" ]; then
   NODELIST="['$i',$NUM_PROC]"
else
   NODELIST="$NODELIST,['$i',$NUM_PROC]"
fi
done

cat > abaqus_v6.env << !
mp_host_list=[$NODELIST]
mp_mpirun_options = (" ")
max_history_requests=0
mp_mpi_implementation=IMPI
!

echo The start time is: `date +"%Y-%m-%d %H:%M:%S"` | tee $LOG_FILE  
echo My job ID is: $SLURM_JOB_ID | tee -a $LOG_FILE 
echo The total cores is: $PROCS | tee -a $LOG_FILE 
echo The hosts is: | tee -a $LOG_FILE 
cat $HOST_FILE | tee -a $LOG_FILE

############程序主命令
#source /work/home/username/intel/composer_xe_2013/bin/compilervars.sh intel64
module load compiler/intel/2017.5.239
#which ifort

#$EXEC job=${job_name} input=${INPUT_FILE} user=$USER_FILE cpus=${PROCS} mp_mode=MPI double int
$EXEC job=${job_name} input=${INPUT_FILE}  cpus=${PROCS}  mp_mode=MPI  scratch=$HOME/CATSettings/tmp double int

#ssh $HOSTNAME "cd $WORK_DIR;$EXEC job=${job_name} input=${INPUT_FILE} user=$USER_FILE cpus=${PROCS} mp_mode=MPI int

echo The end time is: `date +"%Y-%m-%d %H:%M:%S"` | tee -a $LOG_FILE

results matching ""

    No results matching ""