找回密码
 注册
Simdroid-非首页
查看: 166|回复: 7

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

[复制链接]
发表于 2017-1-6 09:27:11 | 显示全部楼层 |阅读模式 来自 加拿大
悬赏20仿真币已解决
本帖最后由 yanxy1130 于 2017-1-6 09:35 编辑

新人,第一次发帖,不知道格式对不,请慢删。
如题,我用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
#$EXEC  mp_mode=threads cpus=$NP job=$ARGS input=$ARGS.inp user=Yamada
$EXEC  mp_mode=mpi cpus=$NP job=$ARGS input=$ARGS.inp user=Yamada interactive

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

最佳答案

查看完整内容

abaqus job=input user=子程序 memory= cpus=#
发表于 2017-1-6 09:27:12 | 显示全部楼层 来自 江苏
Simdroid开发平台
本帖最后由 chenxians 于 2017-1-6 20:58 编辑

abaqus job=input  user=子程序 memory= cpus=#
回复

使用道具 举报

 楼主| 发表于 2017-1-6 14:56:22 | 显示全部楼层 来自 加拿大
自己顶一下,求大神们指教一二
回复

使用道具 举报

发表于 2017-1-7 20:32:04 | 显示全部楼层 来自 上海长宁区
要看你是什么版本,以及abaqus的安装目录。把相关信息提供给我,能帮你整出来
回复

使用道具 举报

 楼主| 发表于 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"

$EXEC  mp_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,
}
回复

使用道具 举报

发表于 2017-10-18 23:30:45 | 显示全部楼层 来自 美国
你好 楼主。我也在用PBS编写 脚本 用HPC计算,请问可以教下我嘛 谢谢
我的qq 87488293
非常感谢
回复

使用道具 举报

 楼主| 发表于 2017-10-20 00:29:54 | 显示全部楼层 来自 加拿大
geniuslove 发表于 2017-10-18 23:30
你好 楼主。我也在用PBS编写 脚本 用HPC计算,请问可以教下我嘛 谢谢
我的qq 87488293
非常感谢 ...

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

使用道具 举报

发表于 2018-1-29 21:22:14 | 显示全部楼层 来自 中国
楼主想问问您如何调用.obj格式的子程序呢?现在集群能调用.for的子程序但不能调用.obj的,谢谢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-3-29 20:12 , Processed in 0.033709 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表