LSDYNA

LS-DYNA是由前 Livermore Software Technology Corporation (LSTC) 开发的高级通用多物理场仿真软件包,该公司于 2019年被Ansys收购。 该软件包继续包含越来越多的计算可能性许多复杂的现实世界问题,其起源和核心竞争力在于使用显式时间积分的高度非线性瞬态动态有限元分析(FEA)。LS-DYNA用于汽车、航空航天、建筑和土木工程、军事、制造和生物工程行业。
请自行购买LSDYNA license许可,下载和安装。如需协助安装或使用,请联系我们,附上课题组拥有LSDYNA license的证明。

一、脚本模板

#!/bin/bash
#SBATCH --nodes=1                   # 节点数量
#SBATCH --ntasks-per-node=56        # 每个节点核心数
#SBATCH --ntasks=56                 # 总核心数
#SBATCH --partition=g3_share        # 队列分区且必须指定正确分区
#SBATCH --job-name=hello            # 作业名称
#SBATCH --output=hello.%j.out       # 正常日志输出 (%j 参数值为 jobId)
#SBATCH --error=hello.%j.err        # 错误日志输出 (%j 参数值为 jobId)

##############################################
#          Software Envrironment             #
##############################################
unset I_MPI_PMI_LIBRARY                        # 取消默认mpi库,使用intel自带
export I_MPI_JOB_RESPECT_PROCESS_PLACEMENT=0   # intel 多节点作业所需修改参数 
# module load intel/2022 intelmpi/2022           # intel 环境加载

##############################################
#               Run job                      #
##############################################
nameflag=`scontrol show hostname $SLURM_JOB_NODELIST`
for line in $nameflag
do
tempflag="$line:56:"
beginflag=$beginflag$tempflag
done
eflag=`echo $beginflag | sed 's/.\{0\}.$//'`
endflag=$eflag$endflag
echo $endflag > test.log

# JOBNAME=`ls | grep inp | sed 's/.\{3\}.$//'`
JOBNAME=000_Master.k
# change scratch to the actual directory
lsdyna -dis -machines $endflag i=$JOBNAME memory=800m memory2=200m
# mpirun  -hosts `scontrol show hostname $SLURM_JOB_NODELIST |tr '\n' ',' | head -c-1` lsdyna_dp_mpp.e   i=$JOBNAME memory=1200m memory2=400m

二、命令行各个参数的含义如下:

  • lsdyna:LS-DYNA是一个通用的有限元分析软件,用于模拟各种物理现象和工程问题。
  • -dis:这是一个选项,表示将输出发送到显示器上。
  • -machines $endflag:这是另一个选项,用于指定计算机的名称或IP地址。在这个例子中,$endflag是一个变量,可能是在脚本中定义的。
  • i=$JOBNAME:这是一个参数,用于指定输入文件的名称。在这个例子中,$JOBNAME是一个变量,可能是在脚本中定义的。
  • memory=800m:这是一个选项,用于指定内存限制。在这个例子中,限制为800兆字节。
  • memory2=200m:这是另一个选项,用于指定第二个内存限制。在这个例子中,限制为200兆字节。

三、备份

#!/bin/bash
#SBATCH --nodes=1                   # 机器节点数量
#SBATCH --ntasks-per-node=56        # 每个机器上的核心数量
#SBATCH --partition=g1_share          # 队列分区且必须指定正确分区(会被告知)
#SBATCH --job-name=hello           # 作业名称(推荐修改一下,以便区分)
#SBATCH --output=hello.%j.out       # 正常日志输出 (%j 参数值为 jobId)
#SBATCH --error=hello.%j.err        # 错误日志输出 (%j 参数值为 jobId)
export LSTC_LICENSE=network
export LSTC_LICENSE_SERVER=许可服务器ip
export PATH=$HOME/lsdyna/platform/bin:$PATH
export LD_LIBRARY_PATH=$HOME/lsdyna/platform/lib/linux_amd64:$LD_LIBRARY_PATH
export PATH=$HOME/lsdyna/ls-dyna_mpp_s_R11_2_2_x64_centos610_ifort160_avx2_platformmpi:$PATH
JOBNAME=Master.key
lsdyna=$HOME/lsdyna/ls-dyna_mpp_s_R11_2_2_x64_centos610_ifort160_avx2_platformmpi/ls-dyna_mpp_s_R11_2_2_x64_centos610_ifort160_avx2_platformmpi
mpirun -np 56 -ibv -prot  $lsdyna  i=$JOBNAME   memory=800m memory2=200m
作者:admin  创建时间:2023-03-16 11:03
最后编辑:admin  更新时间:2024-08-21 15:59