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

[3. Fortran] 【分享】vc/fortran与ansys(转自猎手)

[复制链接]
发表于 2004-5-7 22:27:15 | 显示全部楼层 |阅读模式 来自 美国
大家都想看mulin的关于ansys编程的帖子,我始终没有联系上他/她,如果获得同意,我会开放那篇帖子。如下是我从猎手转载来的,谢谢。本人不会ansys,因此对相关技术问题无法回答。
  
原作者hunter
将ANSYS作为子程序调用  
对于优化或参数化设计,可以在VC或FORTRAN中将ANSYS作为子程序调用。具体调用方法如下:  
1.在VC中调用ANSYS  
::WinExec("d:/ANSYS57/BIN/INTEL/ANSYS57 -b -p ansys_product_feature -i input_file -o output_file",SW_SHOWNORMAL);  
  
2.在FORTRAN中调用ANSYS  
LOGICAL(4) result  
RESULT=SYSTEMQQ('d:\ANSYS57\BIN\INTEL\ANSYS57 -b -p  
ansys_product_feature -i input_file -o output_file')  
  
3.说明  
1和2中,input_file为用APDL语言编写的ANSYS输入文件。  
ansys_product_feature为你的ANSYS产品特征代码。  
需要注意的是,在VC中调用ANSYS时,需要加一条判断语句,以确定ANSYS  
已经执行完毕。  
  
在ANSYS中当然也可以以VC或FORTRAN作为子程序调用。可以参看有关ANSYS二次开发方面的资料。 这个方法应该是与系统无关的。  
  
在FORTRAN中不需要判断,FORTRAN会等ANSYS执行完毕才继续执行下一条语句。  
在VC中,我没有找到与FORTRAN类似的函数,只好加一条循环判断语句。  
如果谁能找着这样的函数,请告诉我,谢谢!  
  
判断方法很简单,只需判断错误文件file.err是否可写就可以了。  
因为当ANSYS在运行时,file.err是不可写的,只有当它运行完毕,此文件才可写。  
  
原作者webycn
VC中调用Ansys的方法如下,具体过程就不写了。  
: 1 利用Ansys建立一个通用有限元模型,并进行计算求解。注意:根据模型中所有可变  
的参数定义相应的参数,利用参数化建模。将生成的log 文件拷贝成另一文件,即宏命  
令文件。当然可以直接用APDL编写此文件。  
:2 VC编写界面:  
    (1) 要实现前处理参数输入功能;  
     (2) 根据用户输入的参数修改刚才得到的ansys宏命令文件中,参数对于的参数值 ;  
     (3) 将生成的宏命令文件文件提交给Ansys程序进行批处理操作;  
          在VC++ 中可利用CreateProcess函数创建一个进程,去执行其他程序,并且可以设置改进程的优先级。  
      Ansys提供了一种批处理方式的格式:"Ansys. bat-I InputName- O OutNam  
e. 其中InputName和OutName分别为输入输出文件名。  
     (4)程序需要判断Ansys的批处理操作何时结束。  
         在Window NT 操作系统中当一个进程运行完毕后,窗口的标题会有 "已完成"这几个字。如当Ansys批处理完成后,窗口标题会显示 "Ansys已完成”。可以利用这  
一个特点来判断进程是否运行完毕。  
: 3 利用结果文件(out文件,或者由你在宏命令中指定输出的文件)进行后处理  
  
自评:其实这种方法不能是真正意义上的开发,只不过用vc创建一个进程,vc与ansys并没有真正意义上的结合.如果自己开发程序,你永远都无法脱离ansys这个软件环境.二次开发应该是DLL或ActiveX,或者其它的COM对象形式,可以离开开发软件的运行环境.不过,实现一定的批处理功能也不错.  
希望多讨论
发表于 2004-5-8 13:46:41 | 显示全部楼层 来自 湖北武汉

回复: 【分享】vc/fortran与ansys(转自猎手)

Simdroid开发平台
来自猎手的好东西啊
发表于 2004-5-11 18:56:49 | 显示全部楼层 来自 黑龙江哈尔滨

回复: 【分享】vc/fortran与ansys(转自猎手)

ansys本身提供了大量的用户子程序,包括了前处理, 求解器, 后处理的开发.  在这些程序上面多下点功夫, 对有限元的理解有很大帮助.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Simapps系列直播

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

GMT+8, 2024-11-2 05:33 , Processed in 0.043777 second(s), 13 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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