ansys技巧总结_将ANSYS作为子程序调用
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
将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是不可写的,只有当它运行完毕,此文件才可写。
2)
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文件,或者由你在宏命令中指定输出的文件)进行后处理