大家好,我非常需要一些专家的帮助
对于使用Abaqus子程序的新手来说,
经过几个月的尝试,终于安装了Abaqus,验证结果全部通过。
(Abaqus 6.13, Microsoft Visual Studio 2010, Intel Parallel Studio XE 2013)
几个问题
1)错误:编译过程中的问题:子例程uhyper下面的代码有什么问题?(一个以前的学生有这个子程序工作,可能在早期版本,但它工作)
2)2)在Abaqus中运行代码之前,有没有一些方法来检查代码(就像在英特尔XE编译器中一样)
3)3)在子程序的文档中提供的例子(由于某种原因不能让它工作,是否有逐步的方法-到处搜索,但我猜这是一个秘密代码或其他东西)
子例程UHYPER (BI1 BI2 AJ, U, UI1, UI2, UI3,临时,诺埃尔,CMNAME,
$ INCMPFLAG NUMSTATEV STATEV NUMFIELDV,
$ FIELDV FIELDVINC NUMPROPS、道具)
C
包括“ABA_PARAM。公司的
字符* 80 CMNAME
维UI2 UI1 (3) (6), UI3 (6), STATEV (*), FIELDV (*),
美元FIELDVINC(*),道具(*)
参数(0 = 0.0d0, 1 = 1.0d0, 2 = 2.0d0, 3 = 3.0d0, 6 = 6.0d0)
如果(CMNAME .EQ(1:6)。“ABC”)然后
C10 = 0.08423
C01 = 0.00505
C11 = 0.76506
C20 = 1.5
C30 = 0.04238
D1 = 0.000008928
U = 10大* (BI1-THREE) + C01 * (BI2-THREE) +(甜2 * (BI1-THREE) * * 2) + C11 *
美元(BI1-THREE) * (BI2-THREE) + (C30 * (BI1-THREE) * * 3) + (((AJ-ONE) * * 2) / D1)
UI1 (1) = C10 + C11 * (BI2-THREE) +甜2 * (2 * BI1-SIX) +
三美元* C30 * (BI1-THREE) * * 2
C01 UI1 (2) = + C11 * (BI1-THREE)
UI1 (3) = (2 * AJ-TWO) / D1
UI2(1) = 2 *甜2 + 3 * C30 * (2 * BI1-SIX)
UI2 (2) = 0
UI2 (3) = 2 / D1
UI2 (4) = C11
UI2 (5) = 0
UI2 (6) = 0
UI3 (1) = 0
UI3 (2) = 0
UI3 (3) = 0
UI3 (4) = 0
UI3 (5) = 0
UI3 (6) = 0
其他的如果(CMNAME .EQ(1:5)。“DEF”)然后
C10 = 0.00355
C01 = 0.00066
C11 = 0.01868
C20 = 0.02154
C30 = 0.01977
D1 = 0.000000421
其他的如果(CMNAME .EQ(1:10)。“全球健康行动计划”)然后
C10 = 0.00714
C01 = 0.00063
C11 = 0.09579
C20 = 0.00803
C30 = 0.09931
D1 = 0.00000077
其他的如果(CMNAME .EQ(1:7)。. JKL)然后
C10 = 0.00753
C01 = 0.00999
甜2 = 0.02063
C11 = 0.00039
C30 = 0.00078
D1 = 0.000001752
U = 10大* (BI1-THREE) + C01 * (BI2-THREE) +甜* * * 2 + C11 * (BI1-THREE)
美元(BI1-THREE) * (BI2-THREE) + C30 * (BI2-THREE) * * 2 + (((AJ-ONE) * * 2) / D1)
UI1 (1) = C10 + C11 * (BI2-THREE) +甜2 * (2 * BI1-SIX)
UI1 (2) = C01 + C11 * (BI1-THREE) + C30 * (2 * BI2-SIX)
UI2(1) = 2 *甜
两个* C30 UI2 (2) =
其他的如果(CMNAME .EQ(1:5)。“MNO”)然后
C10 = 0.00116
C01 = 0.01168
甜2 = 0.00858
C11 = 0.0006
C30 = 0.00022
D1 = 0.000001284
其他的
C10 = 0.001144
C01 = 0.01357
甜2 = 0.06238
C11 = 0.02626
C30 = 0.00761
D1 = 0.0000014714
C123456
如果
返回
结束
对我来说,它看起来像有一个问题,在行开始你的标题的尺寸。根据我的文档(以前从未实际使用过UHYPER子例程),您需要它维U (2) UI1(3)…,上面缺少U(2)。我不认为这将引入如此严重的错误,但最好遵循关于头位的文档。如果您仍然在编译时遇到困难,也许可以检查您的.env文件。这似乎是许多麻烦的根源。它具有执行编译的命令。特别是如果您已经验证了该子例程在另一台计算机上为另一个人工作,那么这可能是您的问题的根源。
维U (2) UI1 (3), UI2 (6), UI3 (6), STATEV (*), FIELDV (*),
谢谢你的回复,但按照你的建议,也就是包括U(2)没有改变,错误仍然一样。
你说检查。env文件-并寻找具体内容
这是我的。env文件(有人能告诉我如何在其他地方检查这段代码,看看它是否像在VS或英特尔编译器中一样工作)
#
# Abaqus系统环境文件
# -------------------------------------
standard_parallel = ALL
mp_mode = MPI
mp_file_system = (DETECT,DETECT)
Mp_num_parallel_ftps = (4,4)
mp_environment_export = ('MPI_PROPAGATE_TSTP',
“ABA_CM_BUFFERING”,
“ABA_CM_BUFFERING_LIMIT”,
“ABA_ITERATIVE_SOLVER_VERBOSE”,
“ABA_DMPSOLVER_BWDPARALLELOFF”,
“ABA_ELP_SURFACE_SPLIT”,
“ABA_ELP_SUSPEND”,
“ABA_HOME”,
“ABA_MEMORY_MODE”,
“ABA_MPI_MESSAGE_TRACKING”,
“ABA_MPI_VERBOSE_LEVEL”,
“ABA_PATH”,
“ABAQUS_CSE_RELTIMETOLERANCE”,
“ABA_RESOURCE_MONITOR”,
“ABA_RESOURCE_USEMALLINFO”,
“ABAQUS_LANG”,
“ABAQUS_CSE_CURRCONFIGMAPPING”,
“ABAQUS_MPF_DIAGNOSTIC_LEVEL”,
“ABAQUSLM_LICENSE_FILE”,
“ABQ_CRTMALLOC”,
“ABQ_DATACHECK”,
“ABQ_RECOVER”,
“ABQ_RESTART”,
“ABQ_SPLITFILE”,
“ABQ_XPL_WINDOWDUMP”,
“ABQ_XPL_PARTITIONSIZE”,
“ABQLMHANGLIMIT”,
“ABQLMQUEUE”,
“ABQLMUSER”,
“CCI_RENDEZVOUS”,
“域”,
“DOMAIN_CPUS”,
“DOUBLE_PRECISION”,
“FLEXLM_DIAGNOSTICS”,
“FOR0006”,
“FOR0064”,
“FOR_IGNORE_EXCEPTIONS”,
“FOR_DISABLE_DIAGNOSTIC_DISPLAY”,
“LD_PRELOAD”,
“MP_NUMBER_OF_THREADS”,
“MPC_GANG”,
“MPI_FLAGS”,
“MPI_FLUSH_FCACHE”,
“MPI_RDMA_NENVELOPE”,
“MPI_SOCKBUFSIZE”,
“MPI_USE_MALLOPT_MMAP_MAX”,
“MPI_USE_MALLOPT_MMAP_THRESHOLD”,
“MPI_USE_MALLOPT_SBRK_PROTECTION”,
“MPI_WORKDIR”,
“MPCCI_DEBUG”,
“MPCCI_CODEID”,
“MPCCI_JOBID”,
“MPCCI_NETDEVICE”,
“MPCCI_TINFO”,
“MPCCI_SERVER”,
“ABAQUS_CCI_DEBUG”,
“NCPUS”,
“OMP_DYNAMIC”,
“OMP_NUM_THREADS”,
“OUTDIR”,
“PAIDUP”,
“PARALLEL_METHOD”,
“RAIDEV_NDREG_LAZYMEM”,
“ABA_SYMBOLIC_GENERALCOLLAPSE”,
“ABA_SYMBOLIC_GENERAL_MAXCLIQUERANK”,
“ABA_ADM_MINIMUMINCREASE”,
“ABA_ADM_MINIMUMDECREASE”,
“IPATH_NO_CPUAFFINITY”,
“MALLOC_MMAP_THRESHOLD_”,
“ABA_EXT_SIMOUTPUT”,
“SMA_WS”,
“SMA_PARENT”,
“SMA_PLATFORM”,
“ABA_PRE_DECOMPOSITION”,
“ACML_FAST_MALLOC”,
“ACML_FAST_MALLOC_CHUNK_SIZE”,
“ACML_FAST_MALLOC_MAX_CHUNKS”,
“ACML_FAST_MALLOC_DEBUG”)
导入driverUtils, os
#-*- mode: python -*-
# #
#编译和链接Windows 64平台的命令设置
# (AMD Opteron / Intel EM64T) #
compile_cpp=['cl', '/c', '/W0', '/MD', '/TP',
“/ EHsc”、“/ DNDEBUG’,‘/ DWIN32’,‘/ DTP_IP’,‘/ D_CONSOLE’,
“/ DNTI”、“/ DFLT_LIC’,‘/ DOL_DOC’,‘/ D__LIB__’,‘/ DHKS_NT’,
/ DABQ_NTI_NET, / DFAR = ', ' / D_WINDOWS ', ' / DABQ_WIN86_64 ',
# '/O1', # <——优化
# '/Zi', # <——调试符号
' /我% ')
compile_fortran = [' ifort ',
‘/ c’,‘/ DABQ_WIN86_64’,‘/ extend-source’,
'/iface:cref', '/recursive', '/Qauto-scalar',
' / QxSSE3 '、' / QaxAVX '
/ heap-arrays: 1,
# '/Od', '/Ob0' # <——优化
# '/Zi', # <——调试
' /包括:%我']
link_sl =(“链接”,
'/nologo', '/NOENTRY', '/INCREMENTAL:NO', '/子系统:控制台','/machine:AMD64',
' / NODEFAULTLIB: LIBC。自由”,'/NODEFAULTLIB:LIBCMT.LIB',
' / DEFAULTLIB: OLDNAMES。自由”,'/DEFAULTLIB:LIBIFCOREMD.LIB', '/DEFAULTLIB:LIBIFPORTMD', '/DEFAULTLIB:LIBMMD.LIB',
' / DEFAULTLIB: kernel32。自由”、“/ DEFAULTLIB: user32。自由”、“/ DEFAULTLIB: advapi32.lib’,
/固定:不,/ dll ',
'/def:%E', '/out:%U', '%F', '%A', '%L', '%B',
“oldnames。自由”、“user32。自由”、“ws2_32。自由”、“netapi32。自由”、“advapi32.lib ']
link_exe =(“链接”,
'/nologo', '/INCREMENTAL:NO', '/子系统:控制台','/machine:AMD64', '/STACK:20000000',
' / NODEFAULTLIB: LIBC。自由”,'/NODEFAULTLIB:LIBCMT.LIB', '/DEFAULTLIB:OLDNAMES.LIB', '/DEFAULTLIB:LIBIFCOREMD.LIB',
' / DEFAULTLIB: LIBIFPORTMD ', ' / DEFAULTLIB: LIBMMD。自由”、“/ DEFAULTLIB: kernel32.lib’,
' / DEFAULTLIB: user32。自由”、“/ DEFAULTLIB: advapi32.lib’,
/固定:不,/ LARGEADDRESSAWARE ',
'/out:%J', '%F', '%M', '%L', '%B', '%O',
#链接命令用于MAKE w/o fortran编译器。
#移除#号,以删除注释并使文件生效。
#link_exe=['LINK', '/nologo', 'INCREMENTAL:NO', '/子系统:控制台','/machine:AMD64', '/NODEFAULTLIB:LIBC。自由”、“/ NODEFAULTLIB: LIBCMT。自由”,
# ' / DEFAULTLIB: OLDNAMES。自由”,'/DEFAULTLIB:MSVCRT.LIB', '/DEFAULTLIB:kernel32.lib', 'DEFAULTLIB:user32.lib', '/DEFAULTLIB:advapi32.lib',
# /固定:不,' / LARGEADDRESSAWARE ', ' /调试',' /:% J ', ' % F ', ' % M ', ' % L ',“% B”,“% O”、“oldnames。自由”、“user32。自由”、“ws2_32。lib',
#“netapi32。自由”、“advapi32.lib]
# MPI配置
mp_mode = THREADS
mp_mpi_implementation = NATIVE
mp_rsh_command = 'dummy %H -l %U -n %C'
Mp_mpirun_path = {}
Mpirun = "
progDir = os.environ。get(“ProgramFiles”,“C: \ \程序文件”)
用于mpiDir(“Microsoft HPC Pack”,“Microsoft HPC Pack 2008 R2”,“Microsoft HPC Pack 2008”,“Microsoft HPC Pack 2008 SDK”):
mpirun = progDir + os。sep + mpiDir + os。Sep + 'bin' + os。Sep + 'mpiexec.exe'
如果os.path.exists (mpirun):
mp_mpirun_path[NATIVE] = mpirun
mp_mpirun_path[MSSDK] = os.path。加入(progDir mpiDir)
打破
如果os.environ.has_key(“CCP_HOME”):
导入queueCCS
queues['default'] = QueueCCS(queueName='share')
queues['share'] = QueueCCS(queueName='share')
queues['local'] = QueueCCS(queueName='local')
queues['genxmlshare'] = QueueCCS(queueName='genxmlshare')
queues['genxmllocal'] = QueueCCS(queueName='genxmllocal')
德尔QueueCCS
Mpirun = os.path.join(os。environ['CCP_HOME'], 'bin', 'mpiexec.exe')
run_mode =批
如果mp_mpirun_path:
del progDir, mpiDir, mpirun
graphicsEnv = driverUtils.locateFile(os.environ['ABA_PATH'],'site','graphicsConfig','env')
如果graphicsEnv:
execfile (graphicsEnv)
其他:
无法找到图形配置环境文件(graphicsConfig.env)'
del driverUtils, os, graphicsEnv
license_server_type = FLEXNET
abaquslm_license_file = "27003 @cronus.hipecc.wichita.edu"
doc_root = "http://EB-203A-E2:2080/v6.13"
doc_root_type =“html”
关于你的编译错误,你有任何进一步的细节或输出吗?这可能有助于找出具体的问题。
看看这个链接
https://en.banumusagr.com/shop/uhyper-subroutine-modelling-porous-elasto..。