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

请教:Fortran语言编写的程序如何调用ansys计算结果?

[复制链接]
发表于 2008-7-8 16:51:16 | 显示全部楼层 |阅读模式 来自 四川成都
具体情况是:最近在用Fortran语言编写磁力计算的程序,涉及到永磁体产生的磁场问题,永磁磁场是三维的,想直接利用ansys的三维静磁场计算模块对永磁磁场进行计算,然后将相应的计算结果调入到我的计算程序中,不知是否可行?如可行,请问具体的体调用方法是怎样的?小弟先谢过了!
发表于 2008-7-9 21:23:06 | 显示全部楼层 来自 韩国
Simdroid开发平台
呵呵,不容易,fortran学好的话 就看看文件写入命令
回复 不支持

使用道具 举报

 楼主| 发表于 2008-7-10 11:16:09 | 显示全部楼层 来自 四川成都
谢谢楼上的师兄!还请大家多提点具体的建议啊,非常感谢!
回复 不支持

使用道具 举报

发表于 2008-7-10 19:44:33 | 显示全部楼层 来自 韩国
fortran有专门的文档读入命令,好像是write命令,用这个命令跳入ANSYS的结果数据,提醒注意文档的输入格式
回复 不支持

使用道具 举报

 楼主| 发表于 2008-7-11 19:30:42 | 显示全部楼层 来自 四川成都
谢谢楼上师兄的建议!
回复 不支持

使用道具 举报

发表于 2008-7-17 19:15:10 | 显示全部楼层 来自 黑龙江哈尔滨

看看这个

【原创】如何在ANSYS中调用其他程序(matlab, C, fortran)和数据交换
ANSYS虽然比较强大,但是不能象Femlab一样自定义模型方程。在某些情况下,必须用当前step的解作为条件,根据某些物理条件来改变单元的材料属性以及载荷,作为下一个step的初始条件。 用ANSYS自带的APDL可用于一般的流程控制,如果要实现特定的复杂物理模型就比较困难,而且速度极慢。可行的办法就是在ANSYS运行中把每一个step的结果传给外部程序,用来计算下一步的载荷和单元属性。

A. 和外部程序交换数据,首先要处理好协同问题,一般可用一下两种方法:
(1)ANSYS 和 外部程序同时运行 -- 需要建立一个flag文件。通过在ANSYS和程序中读其内容来判断对方是否在运行。在ANSYS和外部程序运行完一个step,改变flag,告诉对方自己当前运行结束,对方可以继续运行,否则必须等待。

(2)在ANSYS中调用/SYS命令执行外部程序。 此时ANSYS会暂时停止运行,直到外部程序结束运行,把执行权交还给ANSYS。

(1)适用与matlab等非编译语言。 (2)适用与C和Fortran等编译语言。

B. 如何在外部程序中告诉ANSYS改变单元属性和载荷变化:

在从ANSYS中导入数据后,外部程序一般可以根据具体物理模型来创建.mac文件,然后在此文件中写入MPCHG等APDL命令。例如用C创建一个"MD.mac"文本文件,用fsprintf(fp,"MPCHG %d,%d", element_num, Material_ID). 当程序结束运行,在ANSYS中用*use, MD.mac 来实现加载和单元属性的改变。

C. 如何在ANSYS和外部程序中传递数据。

一般在ANSYS中把当前结果写在数据文件中, 在外部程序中读取。一般常用的命令有*MOPER。*MOPER可以把节点(node)的结果例如T(x,y,z) 自动根据插值计算映射到用户自己定义的网络上。 然后可以用*MWRITE写入数据文件。例如,如果用free mesh, node 的 坐标可能是很混乱的。用MOPER可以把结果映射到特定的有序的网络 (x0->x1,dx;y0->y1,dy;z0->z1,dz).

附上一个例子结果: transient simulation of optical phase change recording.
模拟可擦写光盘的读写过程。用ANSYS模拟激光加热光盘,每一步matlab读取温度场,并用相变模型模拟出写的记录点形状,然后根据记录点形状来修改所对应的单元热属性和加载(激光吸收的能量),反馈给ANSYS做下一部计算。

上图是开始和最后的温度场(ANSYS), 下图是开始和最后光盘上记录的形状(Matlab)。激光从左向右移动。
回复 不支持

使用道具 举报

发表于 2008-7-18 19:42:40 | 显示全部楼层 来自 韩国
楼上,现在我所讲的问题是用ansys分析后,如何调用他的结果文件。
你所讲的问题类似,ansys建模,设定条件,然后利用matlab类软件进行类似分析。不过,学习了!:)
回复 不支持

使用道具 举报

 楼主| 发表于 2008-7-20 21:13:47 | 显示全部楼层 来自 四川成都
谢谢六楼师兄的建议啊!
回复 不支持

使用道具 举报

发表于 2012-4-27 20:02:09 | 显示全部楼层 来自 广西柳州
我做过这方面的工作,需要的话请联系QQ:23902170.注明仿真论坛。
回复 不支持

使用道具 举报

发表于 2012-5-28 19:02:24 | 显示全部楼层 来自 广西柳州
我毕业论文就是做的这方面的工作,需要的话请联系QQ:23902170,请注明仿真论坛。大家可以一起互相切磋,互相学习。下面是我的毕业论文链接,希望对大家有所帮助:
http://www.doc88.com/p-753222908697.html
回复 不支持

使用道具 举报

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

本版积分规则

Simapps系列直播

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

GMT+8, 2024-9-28 12:13 , Processed in 0.056640 second(s), 13 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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