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

【原创】用Visual C调用ansys后台运行求解并实时显示计算进度和结果(附源程序)

[复制链接]
发表于 2008-6-18 13:29:36 | 显示全部楼层 |阅读模式 来自 美国
本帖最后由 iomega 于 2011-4-8 12:04 编辑

以下是偶在ANSYS--前后处理里发的贴,是受到下帖的启发:
利用C++Builder作前台结合ANSYS批处理方式二次开发

************************************************************************************
呵呵,花了点时间做一个所谓ANSYS二次开发的例子,也就是前台用VC在后台调用ANSYS求解并实时显示计算进度和结果。随贴附上源程序和计算的例子,希望大家一起讨论。

思路:

1)首先在VC里根据文本框等控件生成参数文件,和ANSYS主计算程序合并生成ANSYS_RUN.mac,在ANSYS_RUN.mac最后加上用来生成flag.txt文件(内容为0)的APDL代码.  随后在VC里用WinEXEC运行ANSYS batch mode 去调用ANSYS_RUN.mac,并且把屏幕输出到output.txt。同时,建立flag.txt文件(内容为1).


2)在VC里开一个线程, 循环读flag.txt,看其是否为1(运行)或0(结束)。如果是1,则读output.txt内容,显示在主程序状态文本框里。(当然也可以读err文件来判断)。


3ANSYS_RUN.mac 里有生成plots并保存为jpg文件的APDL代码。当ANSYS运行结束后,在主程序里可以browse结果图像文件。


ANSYS主计算程序: VM28.mac. 这是ANSYS的一个例子程序,但是做了一些改动,计算在Time_Start Time_End之间,步长为Time_interval的温度分布。


VM28Transient Heat Transfer in an Infinite Slab


VC程序里,
ANSYS EXE FileANSYS的执行文件的路径名。


MAC Batch File ANSYS主计算程序的路径名。

Working Folder是工作路径,用来存放结果文件和中间过程文件。

Note: how to export image in batch mode
因为在batch mode 没有graphic window,所以一般的图形输出命令无效。但是可以使用/show,jpeg命令。另外,可以用以下命令

!Turn off the automatic increasement of jobnamennn.jpg, so the output file will be jobname.jpg.
/DEV,PSFN,NINC


以上是在VC调用ANSYS的例子,在ANSYS里调用C, Fortran, Matlab的例子可在这里找到:
http://www.simwe.com/forum/viewthread.php?tid=699880&highlight=%2Biomega

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
发表于 2008-6-19 14:56:58 | 显示全部楼层 来自 陕西西安
Simdroid开发平台
好东西,顶下!
回复 不支持

使用道具 举报

发表于 2008-7-3 12:38:15 | 显示全部楼层 来自 甘肃兰州
好,学习一下!
回复 不支持

使用道具 举报

发表于 2008-7-10 21:22:03 | 显示全部楼层 来自 北京
好东西!!  谢谢开发者和版主!
回复 不支持

使用道具 举报

发表于 2008-7-28 10:57:02 | 显示全部楼层 来自 湖北武汉

好东西

能留个qq吗,大家交流一下
回复 不支持

使用道具 举报

发表于 2008-8-26 12:16:02 | 显示全部楼层 来自 上海
很好很强大!!!!
像牛人致敬!!!
回复 不支持

使用道具 举报

发表于 2008-9-22 11:14:01 | 显示全部楼层 来自 四川成都
太厉害了!
回复 不支持

使用道具 举报

发表于 2008-10-2 12:17:41 | 显示全部楼层 来自 江苏南京
正在学习中 :loveliness:
回复 不支持

使用道具 举报

发表于 2008-11-11 20:37:34 | 显示全部楼层 来自 北京
厉害,学习学习了。俺还是新手
回复 不支持

使用道具 举报

发表于 2008-11-18 16:42:06 | 显示全部楼层 来自 上海
恩,谢谢楼主
回复 不支持

使用道具 举报

发表于 2009-1-11 09:09:57 | 显示全部楼层 来自 河南新乡

如何在batch mode下生成动画?

如何在batch mode 下生成动画?


将下列命令 流存成mac文件,在batch mode模式下用matlab调用
但是提示
WARNING
NO segments are defined.Use /seg MuLT to create multiple segments
参王新敏《ansys工程结构数值分析》p.133,原书中少了一条命令

!
!
finish
/clear
/prep7
/view,1,1,1,1
cyl4,,,1,,1.1,220,2
/pnum,area,1
/number,1
/triad,off
/plopts,info,off
aplot

/seg,dele
/seg,multi,name1,1

*do,i,1,24
/ang,1,15,ys,1
/replot
*enddo

/seg,off
/anfile,save,name1,avi
anim,1

!
!

[ 本帖最后由 鼻涕佛 于 2009-1-11 09:21 编辑 ]
回复 不支持

使用道具 举报

发表于 2009-2-22 20:16:10 | 显示全部楼层 来自 江西南昌
谢谢
正在找这个东西
回复 不支持

使用道具 举报

发表于 2009-3-22 09:10:06 | 显示全部楼层 来自 四川成都
谢谢,楼主真是好人啊
回复 不支持

使用道具 举报

发表于 2009-6-29 16:43:24 | 显示全部楼层 来自 江苏南京
谢谢分享!
回复 不支持

使用道具 举报

发表于 2009-7-12 11:38:10 | 显示全部楼层 来自 湖南长沙
谢谢楼主  辛苦了~~~~~
回复 不支持

使用道具 举报

发表于 2009-7-12 11:38:21 | 显示全部楼层 来自 湖南长沙
谢谢楼主  辛苦了~~~~~
回复 不支持

使用道具 举报

发表于 2009-7-12 21:35:13 | 显示全部楼层 来自 浙江杭州
楼主太牛了,正需要这方面的资料,谢谢楼主了
回复 不支持

使用道具 举报

发表于 2009-8-5 09:47:43 | 显示全部楼层 来自 黑龙江大庆
好资料啊,正准备ANSYS的二次开发呢。
回复 不支持

使用道具 举报

发表于 2009-8-5 14:15:55 | 显示全部楼层 来自 四川成都
牛人  狂赞!!
回复 不支持

使用道具 举报

发表于 2009-9-27 12:49:24 | 显示全部楼层 来自 大连理工大学
很好,很强大。
回复 不支持

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-27 04:44 , Processed in 0.059095 second(s), 13 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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