yanxy1130 发表于 2017-1-6 09:27:11

在cluster上提交ABAQUS文件时如何用Linux指令调用子程序

本帖最后由 yanxy1130 于 2017-1-6 09:35 编辑

新人,第一次发帖,不知道格式对不,请慢删。:P
如题,我用cluster来跑有限元模型,需要调用VUMAT子程序。cluster负责人只告诉了我在上面提交inp文件用的Linux指,关于如何调用VUMAT子程序,他说不知道怎么办,但也给了建议。原文如下:
you can use linux commands on cluster:
§ Submit a ABAQUS job using this command: abaqus job=name input=InputFile.inp cpus=#
Example: abaqus job=test1 input=test1.inp cpus=12
I am not quite sure about VUMAT. You might have to abaqus env file to point to vumat but honestly I am not quite sure. I have not done that.
我在网上查了一些资料,但是尝试了都不对,求大神们赐教,告诉我应该看什么资料也行,难道要学习Linux语言吗?在此先拜谢了!
网上有实例是用sh文件来调用input文件与Fortran语言,内容如下,但是我按照方法尝试时,提示不能识别这个sh文件。
#PBS -V
#PBS -S /bin/bash
#################################################################


EXEC=/export/software/abaqus/Commands/abaqus

##To be modified by users##
ARGS="Strength"

cd$PBS_O_WORKDIR

NP=`cat $PBS_NODEFILE | wc -l`
cat $PBS_NODEFILE > /tmp/nodefile.$$
sed -e 's\c\ibc\g' -i /tmp/nodefile.$$
#$PARA -genv I_MPI_DEVICE ssm-hostfile /tmp/nodefile.$$ -np $NP$EXEC $ARGS

mp_host_list="["
for n in $(sort -u $PBS_NODEFILE);do
      mp_host_list="${mp_host_list}['$n',$(grep -c $n $PBS_NODEFILE)],"
done
mp_host_list=$(echo ${mp_host_list} | sed -e "s/,$/]/")

cat > abaqus_v6.env<<'EOF'
ask_delete=OFF
EOF
echo "mp_host_list=${mp_host_list}" >> abaqus_v6.env

# Run the job
#$EXECmp_mode=threads cpus=$NP job=$ARGS input=$ARGS.inp user=Yamada
$EXECmp_mode=mpi cpus=$NP job=$ARGS input=$ARGS.inp user=Yamada interactive

#del tmp files
rm -rf /tmp/nodefile.$$

chenxians 发表于 2017-1-6 09:27:12

本帖最后由 chenxians 于 2017-1-6 20:58 编辑

abaqus job=inputuser=子程序 memory= cpus=#

yanxy1130 发表于 2017-1-6 14:56:22

自己顶一下,求大神们指教一二:)

firmwave 发表于 2017-1-7 20:32:04

要看你是什么版本,以及abaqus的安装目录。把相关信息提供给我,能帮你整出来

yanxy1130 发表于 2017-1-9 06:25:05

本帖最后由 yanxy1130 于 2017-1-9 06:28 编辑

感谢朋友们的回复。后面我自行解决啦,跟第一位朋友说的比较接近,使用了“user”。
目前用过两个HPC,根据任务提交的不同有所区别。
HPC1. qsub CASTEP.sh来提交脚本,在sh文件中定义的input文件及子程序文件得放在同一个文件夹里。
##To be modified by users##
ARGS="XXX"

$EXECmp_mode=mpi cpus=$NP job=$ARGS input=$ARGS.inp user=XXX interactive

HPC2.无法识别脚本文件,通过以下指令提交:
abaqus job=test3 input=test1.inp user=Hashin2D.f cpus=12
并且在输出日志里有如下信息:(我的理解是只允许定义这些关键词来定义提交的作业)
options = {
    'SIMExt':'.sim',
    'ams':OFF,
    'analysisType':EXPLICIT,
    'applicationName':'analysis',
    'aqua':OFF,
    'beamSectGen':OFF,
    'biorid':OFF,
    'cavityTypes':[],
    'cavparallel':OFF,
    'complexFrequency':OFF,
    'contact':ON,
    'cosimulation':OFF,
    'coupledProcedure':OFF,
    'cpus':12,
    'cse':OFF,
    'cyclicSymmetryModel':OFF,
    'directCyclic':OFF,
    'domains':12,
    'dsa':OFF,
    'dynamic':OFF,
    'filPrt':[],
    'fils':[],
    'finitesliding':ON,
    'foundation':OFF,
    'geostatic':OFF,
    'geotech':OFF,
    'heatTransfer':OFF,
    'importer':OFF,
    'importerParts':OFF,
    'includes':[],
    'initialConditionsFile':OFF,
    'input':'test1',
    'inputFormat':INP,
    'job':'test3',
    'keyword_licenses':[],
    'lanczos':OFF,
    'libs':[],
    'magnetostatic':OFF,
    'massDiffusion':OFF,
    'modifiedTet':OFF,
    'moldflowFiles':[],
    'moldflowMaterial':OFF,
    'mp_mode':MPI,
    'multiphysics':OFF,
    'noDmpDirect':[],
    'noMultiHost':[],
    'noMultiHostElemLoop':[],
    'noStdParallel':[],
    'no_domain_check':1,
    'outputKeywords':ON,
    'parallel': DOMAIN,
    'parallel_odb':SINGLE,
    'parameterized':OFF,
    'partsAndAssemblies':ON,
    'parval':OFF,
    'postOutput':OFF,
    'preDecomposition':OFF,
    'restart':OFF,
    'restartEndStep':OFF,
    'restartIncrement':0,
    'restartStep':0,
    'restartWrite':ON,
    'rezone':OFF,
    'runCalculator':OFF,
    'soils':OFF,
    'soliter':OFF,
    'solverTypes':['DIRECT'],
    'staticNonlinear':OFF,
    'steadyStateTransport':OFF,
    'step':ON,
    'subGen':OFF,
    'subGenLibs':[],
    'subGenTypes':[],
    'submodel':OFF,
    'substrLibDefs':OFF,
    'substructure':OFF,
    'symmetricModelGeneration':OFF,
    'thermal':OFF,
    'tmpdir':'/local/scratch',
    'tracer':OFF,
    'user':'Hashin2D.for',
    'visco':OFF,
}

geniuslove 发表于 2017-10-18 23:30:45

你好 楼主。我也在用PBS编写 脚本 用HPC计算,请问可以教下我嘛 谢谢
我的qq 87488293
非常感谢

yanxy1130 发表于 2017-10-20 00:29:54

geniuslove 发表于 2017-10-18 23:30
你好 楼主。我也在用PBS编写 脚本 用HPC计算,请问可以教下我嘛 谢谢
我的qq 87488293
非常感谢 ...

你在这留言吧。如果我或者其他人知道,自然会为你解答,也能给后来人参考

yppan 发表于 2018-1-29 21:22:14

楼主想问问您如何调用.obj格式的子程序呢?现在集群能调用.for的子程序但不能调用.obj的,谢谢
页: [1]
查看完整版本: 在cluster上提交ABAQUS文件时如何用Linux指令调用子程序