- 积分
- 0
- 注册时间
- 2008-3-23
- 仿真币
-
- 最后登录
- 1970-1-1
|
看到有人可以用编译好的.obj 文件在Abaqus 下运行,
Abaqus job=job.inp user=umat.obj
那样的话,可以用Fortran 77 固定格式或者Fortran 90 自由格式写UMAT, 然后生成.obj文件。最后直接在Abaqus 下运行 (不必再编译)。 这样就大大拓展了编写UMAT的灵活性。如果可行,理论上,C++ 也可以编子程序来生成.obj, 然后运行。
但是本人遇到了生成.obj文件的问题.
调试的是手册上的问题User subroutine for isotropic Mises plasticity model
http://abaqusdocs.ecn.purdue.edu:2080/v6.7ef/books/ver/default.htm
input 文件是umatmst3.inp, 子程序文件是umatmst3.f。 先把umatmst3.f 改为umatmst3.for。 然后在Abaqus 6.7.1 上运行如下命令,
abaqus job=umatmst3 user=umatmst3.for
一切运行正常。
但是想通过先生成.obj 文件在运行。参照了论坛上下面的方法
---------------------------------------------------------------
Q: 自己编写子程序需要哪些工作步骤
A: 1.建立工作目录
2.将abaqus安装目录\6.4-pr11\site下的aba_param_dp.inc 或 aba_param_sp.inc拷贝到工作目录,并改名为aba_param.inc ;
3.将编好的fortran程序拷贝到工作目录;
4.编译fortran程序,将.obj文件拷贝到工作目录;
5.建立好输入文件.inp;
6.运行abaqus job=inp file name user=fortan name即可。
我的要运行
abq64pr11 job=inp file name user=fortan name
我也学了没多久,按照这个过程成功了一个!你们试一下吧!
---------------------------------------------------------------
先做了前面1,2,3 步,然后在intel Fortran 9.1下运行
ifort umatmst3.f
出现问题
1)umatmst3.obj : error LNK2019: unresolved external symbol _XIT referenced in function _AHARD
2)libifcoremt.lib(libifcoremain.obj) : error LNK2019: unresolved external symbol _MAIN__ referenced in function _main
请问这个是什么原因引起的,如何解决?
当然 尽管有问题,umatmst3.obj文件还是生成了,拷贝到Abaqus工作目录,运行
abaqus job=umatmst3 user=umatmst3.obj
出现了问题。 当然这个应该是由于前面Fortran 生成.obj不对引起的。
不知道正确得到.obj要用什么软件包,什么版本,什么文件要拷贝到工作目录(aba_param.inc 已经修改拷贝)。 上面出现的问题是什么原因引起的?
如前面所说,这个问题意义比较大。
望高人指教!
附:运行Fortran 和Abaqus 的过程
(1) try to get umatmst3.obj
Intel(R) Visual Fortran Compiler 9.1.037 Build Environment for 32-bit applications
Copyright (C) 1985-2007 Intel Corporation. All rights reserved.
Setting environment for using Microsoft Visual Studio 2005 x86 tools.
C:\Documents and Settings\sunking\My Documents\e4>ifort umatmst3.f
Intel(R) Fortran Compiler for 32-bit applications, Version 9.1
Build 20070322
Z Package ID: W_FC_C_9.1.037
Copyright (C) 1985-2007 Intel Corporation.
All rights reserved.
Microsoft (R) Incremental Linker Version 8.00.50727.42
Copyright (C) Microsoft Corporation.
All rights reserved.
-out:umatmst3.exe
-subsystem:console
umatmst3.obj
umatmst3.obj : error LNK2019: unresolved external symbol _XIT referenced in function _AHARD
libifcoremt.lib(libifcoremain.obj) : error LNK2019: unresolved external symbol _MAIN__ referenced in function _main
umatmst3.exe : fatal error LNK1120: 2 unresolved externals
C:\Documents and Settings\sunking\My Documents\e4>
(2)
run in Abaqus
E:\temp\t9>abaqus job=umatmst3
user=umatmst3.obj
INT
Abaqus JOB umatmst3
Abaqus Version 6.7-1
Begin Linking Abaqus/Standard User Subroutines
3/23/2008 2:39:08 PM
Creating library standardU.lib and object standardU.exp
standardU_static.lib(umat.obj) : error LNK2005: _UMAT already defined in umatmst
3.obj
umatmst3.obj : error LNK2019: unresolved external symbol _XIT referenced in function _AHARD
standardU.dll : fatal error LNK1120: 1 unresolved externals
Abaqus Error: Problem during linking - Abaqus/Standard User Subroutines.
This error may be due to a mismatch in the Abaqus user subroutine arguments.
These arguments sometimes change from release to release, so user subroutines
used with a previous version of Abaqus may need to be adjusted.
Abaqus/Analysis exited with errors
[ 本帖最后由 sunkingf 于 2008-3-24 03:37 编辑 ] |
|