本帖最后由 ujjzxc 于 2012-11-17 11:50 编辑
师老师您好,
首先非常感谢您付出的努力,您出版的书对我学习ansys二次开发帮助很大。
关于ANSYS编译连接有几个问题请教:
我的系统环境是XP SP3 32位,ANSYS 12.1,VS2005专业版
1.关于fortran 10.1的问题
ansys12.1的帮助文件中推荐的是vs2005专业版+fortran 10.1(在帮助文件中搜索关键词“Visual studio”就能找到),我按照要求装好了,编译的第八章“linear elastic”这个例子的时候没有问题,可以成功连接,也可以计算,结果和书上一致。
但是编译第八章“damage”这个例子的时候,编译成功,但是计算结果中的损伤为一个定值,云图一片红色。
编译第八章"usercreep"这个例子也能成功,但是在计算的过程中出错,有刚体位移,这个约束绝对是没有问题的(方块的底部全约束)。
所以我怀疑是Fortran版本的问题,但是帮助文件里推荐的版本应该可以用才对,这个我搞不懂。
2.升级到fortran 11.1.038
vs2005专业版+fortran 11.1.038这个组合对于上述的3个例子都可以编译成功,也可以计算成功,结果和书上一致。
师老师您书上提到的11.0.38的函数更新包我在http://software.intel.com/en-us/articles/redistributable-libraries-of-the-intel-c-and-FORTRAN-compiler-for-windows/
这个网站上没有找到,所以就没有装
但是在编译过程中有报警
LINK : warning LNK4199: /DELAYLOAD:UserMatLib.dll ignored; no imports found from
UserMatLib.dll
LINK : warning LNK4199: /DELAYLOAD:UserCreepLib.dll ignored; no imports found fr
om UserCreepLib.dll
关闭编译的DOS窗口以后出错,这个在Fortran10.1里面也出错,可能是ANSYS软件的问题
C:\Program Files\ANSYS Inc\v121\ansys\custom\user\intel>^C
C:\Program Files\ANSYS Inc\v121\ansys\custom\user\intel>^C
while executing
"exec cmd /K cmd /K anscust.bat"
(procedure "anscc" line 8)
invoked from within
"anscc"
invoked from within
".anscb invoke"
("uplevel" body line 1)
invoked from within
"uplevel #0 [list $w invoke]"
(procedure "tk::ButtonUp" line 24)
invoked from within
"tk::ButtonUp .anscb"
(command bound to event)
在选择好ansys.exe路径,启动ansys的时候报警
non-compatable version of fortran libfcore dll wa loaded to process assress space
虽然最终的计算成功,结果也和书上一致,但是这些报警总是让人觉得不放心。
书上的p127-129的环境变量有几处小错误
正确的应该是
Path C:\Program Files\Intel\Compiler\11.1\038\bin\ia32 C:\Program Files\Microsoft Visual Studio 8\Common7\IDE C:\Program Files\Microsoft Visual Studio 8\VC\bin C:\Program Files\Microsoft Visual Studio 8\Common7\Tools C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin C:\Program Files\Microsoft Visual Studio 8\VC\vcpackages C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\Bin C:\Program Files\ANSYS Inc\v121\ansys\bin\INTEL
Lib C:\Program Files\Intel\Compiler\11.1\038\lib\ia32 C:\Program Files\Microsoft Visual Studio 8\VC\lib C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\Lib C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Lib
Include C:\Program Files\Intel\Compiler\11.1\038\include C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\Include C:\Program Files\Microsoft Visual Studio 8\VC\include 如果改好路径后还是出现“不能打开DLL文件”的报错,重启一下计算机就可以了 3.再次升级到fortran 11.1.051 计算能成功,编译计算过程中出现的错误和11.1.038版本完全一样。 经过这几次调试,我想可能是Fortran10的语法和11有小区别,导致编译出来的ansys.exe有错误,进一步导致计算错误。 师老师您能否指教一下如何修改11的代码,能在10上正确编译,或者怎么样设置,能使Fortran11在编译计算过程中不发生报警。
非常感谢!!!! |