ANSYS调用FORTRAN(UPF)

https://www.360docs.net/doc/431474638.html,/blog/static/533943032008109102443738/

一ANSYS调用FORTRAN(UPF)

基于ANSYS57和Visual Fortran 6.1先详细讲一下

ANSYS调用FORTRAN的步骤:

1.首先,安装ANSYS时选择custom安装;

2.建立一个新的用户目录,如upf,把custom\user\intel目录下的anscust.bat,makefile和user01.f (当然也可以用你自己的fortran文件啦)这三个文件拷贝到upf下;

3.打开makefile文件,在第一行指定ANSYS的安装路径,如:

ANSYS57_DIR=d:\ANSYS57保存退出;

对于ANSYS7.0:

ANSYS70_DIR=d:\ansys7\v70\ANSYS

4.复制dfport.lib,dformd.lib, dfconcol.lib(这三个文件在fortran安装目录下的

df98\lib目录中可以找到,注意不要用ANSYS自己所带的,因为ANSYS自己所带的版本可能不够高,而导致连接失败)和ansysex.def(在custom\user\intel 中)到upf57目录中,以避免连接时找不到这几个文件;

5.准备工作已经完成,运行“anscust.bat”进行编译连接。要确信你的Visual Fortran 与ANSYS版本的兼容性,如果编译连接不成功,出现诸如“Fatal error link 1120: 8 unresolved externals”的错误,则表示你的Fortran版本需要升级。如用Vfor

6.1编译连接ansys

7.0,就会出现这样的错误信息。解决的方法是安装Vfor6.6B。对于你自己写的FORTRAN程序,先用FORTRAN编译一遍,保证没有错误。编译连接成功之后,在upf目录下会生成ansys.exe;

6.现在你就可以运行这个新的ANSYS了。有两个方法:

第一个方法,就象“二次开发培训练习题”中所说:

在dos命令行,先敲入ansys -p ansysul,指定ansys产品特征代码运行ansys, 然后OK,接着/show,win32和/menu,on启动ANSYS;第二个方法,干脆用新生成的ansys.exe 代替ANSYS安装目录(如d:\ansys57\bin\intel)中的原ansys.exe,建议将原ansys.exe改名或备份,然后就象你平常启动ANSYS那样(如用Ansys Interactive 方式)启动ANSYS。

7.启动并进入ANSYS交互界面之后,在命令输入行输入命令usr1(或者用/ucdm 定义为你指定的名称, 如/ucmd,aaa,1)就实现了ANSYS对Fortran程序

user01.f的调用。

二将ANSYS作为子程序调用

对于优化或参数化设计,可以在VC或FORTRAN中将ANSYS作为子程序调用。具体调用方法如下:

1.在VC中调用ANSYS

VC调用ANSYS的示例程序。

//Test.cpp

#include "stdio.h"

#include"process.h"

void main()

{

int result;

printf("Solving...");

result=system("d:/ANSYS57/BIN/INTEL/ANSYS57 -b -p ansysul -i test.txt -o test.out");

printf("Solution finished...");

}

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产品特征代码。

https://www.360docs.net/doc/431474638.html,/archiver/tid-699880.html

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)。激光从左向右移动。

ANSYS与FORTRAN的相互调用 [精华] (整理,装载)

ANSYS与FORTRAN的相互调用 [精华]

=====================

ANSYS调用FORTRAN(UPF)

基于ANSYS57和Visual Fortran 6.1先详细讲一下ANSYS调用FORTRAN的步骤:

1. 首先,安装ANSYS时选择custom安装;

建立一个新的用户目录, 如upf,把custom\user\intel目录下的anscust.bat,makefile 和user01.f (当然也可以用你自己的fortran文件啦)这三个文件拷贝到upf下;打开makefile文件,在第一行指定ANSYS的安装路径,如:ANSYS57_DIR=d:\ANSYS57 保存退出;对于ANSYS7.0:ANSYS70_DIR=d:\ansys7\v70\ANSYS

4.复制 dfport.lib,dformd.lib, dfconcol.lib(这三个文件在fortran安装目录下的df98\lib目录中可以找到,注意不要用ANSYS自己所带的,因为ANSYS自己所带的版本可能不够高,而导致连接失败)和ansysex.def(在custom\user\intel中)到upf57目录中,以避免连接时找不到这几个文件

5. 准备工作已经完成,运行“anscust.bat”进行编译连接。要确信你的Visual Fortran 与ANSYS版本的兼容性,如果编译连接不成功,出现诸如“Fatal error l ink 1120: 8 unresolved externals”的错误,则表示你的Fortran版本需要升级。如用Vfor

6.1 编译连接ansys

7.0,就会出现这样的错误信息。解决的方法是安装Vfor6.6B。对于你自己写的FORTRAN程序,先用FORTRAN编译一遍,保证没有错误。编译连接成功之后,在upf目录下会生成ansys.exe;

6. 现在你就可以运行这个新的ANSYS了。有两个方法:第一个方法,就象“二次开发培训练习题”中所说:在dos命令行,先敲入 ansys -p ansysul,指定ansys产品特征代码运行ansys, 然后OK,接着 /show,win32和/menu,on启动ANSYS,

第二个方法,干脆用新生成的ansys.exe 代替ANSYS安装目录(如d:\ansys57\bin\intel)中的原ansys.exe,建议将原ansys.exe改名或备份,然后就象你平常启动ANSYS那样(如用Ansys Interactive 方式)启动ANSYS。

7. 启动并进入ANSYS交互界面之后,在命令输入行输入命令usr1(或者用/ucdm定义为你指定的名称, 如 /ucmd, aaa,1)就实现了ANSYS对Fortran程序user01.f的调用

二将ANSYS作为子程序调用

对于优化或参数化设计,可以在VC或FORTRAN中将ANSYS作为子程序调用。具体调用方法如下:

1.在VC中调用ANSYS

调用ANSYS的示例程序。

//Test.cpp

#include "stdio.h"

#include"process.h"

void main()

{

int result;

printf("Solving...");

result=system("d:/ANSYS57/BIN/INTEL/ANSYS57 -b -p ansysul -i test.txt -otest.out");

printf("Solution finished...");

}

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产品特征代码。

===================

我用的是ansys5.7和VF6.5,完全按照楼主提供的步骤,对ansys提供的usercr.f进行编译连接,产生了usercr.obj和f_comp.err两个文件,并未有ansys.exe,f-comp.err的内容就一行:usercr.i。请问如何处理。是否必须先安装vf.5,或者版本不兼容?希望楼主或其他有经验的老兄提供帮助。

===============

问题解决了,我对user001.f进行编译连接,已经成功,说明软件没问题。问题只是在usercr.f程序里,对其在fortran里单独编译,出现如我的求助贴说的故障:https://www.360docs.net/doc/431474638.html,/cgi-bin/bbs/topic_show.cgi?id=52646&h=1&bpg=1&age=0请问如何解决?我想对该程序进行改编,但对fortran不是太熟,希望大侠能给解释一下。问题也许很幼稚,让您见笑了。谢谢!

==============

楼主,可否实现这样的ansys中调用fortran程序呀!想算热应力,用fortran已经算出温度场来,想用ansys计算接下来的应力分布,可否将fortran程序作为子程序处理呀?如果可以,不知这样的在ansys里调用的fortran的结果是什么形式呀?

顺便问一句,何为ansys的批处理文件?有何用途亚??

=================

你这种情况只需在Fortran中按照ANSYS的格式输出温度场数据文件,然后用ANSYS读入温度场数据, 进行热应力计算就可以了。Zrc提到的ansys批处理文件应该是进行ANSYS编译连接的批处理文件ANSCUST.bat,执行此文件可以调用Fortran编译连接用户编写的Fortran 程序,并生成ansys.exe执行文件。

==================

楼主真是高手呀!不过,我还是不是很明白如何在fortran中写出ansys的格式的!我所知道的ansys可读的热相关文件是~。rth的,不知fortran如何实现的???还有,我的fortran文件从划分网格到求解,有两个程序的,四个数据文件的!这些都可以引入ansys 吗???

楼主,可否将ansys中将fortran作为子程序,大概的流程说一下!如何,编译,连接呀??????

==============

假设在ANSYS中指定节点1的温度值为20℃,热应力分析时作为体力加载,其APDL命令格式为 bf,1,temp,20,那么在Fortran中就可以按照ANSYS的命令格式写出 bf,1,temp,20 这条语句到一个文件中,最后在ANSYS中输入这个文件。网格可按同样的办法处理。如何在ANSYS中将Fortran作为子程序的具体方法就在第一贴里。

===================

哦!可否这样理解的!ansys中的apdl设计语言是基于fortran的!在ansys编写命令流的时候,只要按照fortran的一些思路即可啦!是否呀??对于,楼主举的例子,我仍然有不明白的地方,就是如bf命令,在fortran中,for tran语言承认这种格式嘛??也就是在ansys中的,bf是施加载荷的意思,而在fortran中,这样的语句到底是什么作用呀??另外,我感觉这样还不如在文本文档中输入命令流,而直接在ansys中调用的!本人,水平太低啦,楼主见笑啦!

最好的方法,楼主可否将引入的一些界面之类的发上来呀!???

==============

你的问题是自己编了Fortran程序计算温度场,然后转到ANSYS中计算热应力。这中间有个数据传递过程。如果仅在文本文档中输入命令流,然后在ansys中调用?那么这个文本文档中bf语句所需要的温度数据从哪里来呢?显然温度数据是由你的Fortran程序算出来并输出的,可是如果不按ANSYS的APDL命令格式输出,ANSYS又怎么能认识呢?Fortran中当然没有ANSYS的bf命令,你这么问表示你的思路还不清楚。只需要用Fortran的write语句按照ANSYS的命令格式写出ANSYS的APDL语句,如bf,1,temp,20; node,1,10,20,3;e,1,2,3,4等,然后用于ANSYS的输入。你这个问题的数据接口不难,从网格到温度加载,几条Fortran循环write语句就够了。

======================

楼主的意思,就是,fortran和ansys中的命令中的数据对应就可以啦!比如,n,node,x,y,z,~~~~只要在fortran中输出节点号还有节点的坐标值就可以啦嘛?还有,用这个接口,是否就得重新安装ansys呀??可否,一个装ansys6.0 的typical,一个装ansys 7.0的custom的!不好意思!我实在是菜鸟得!

=================

Fortran用自己的write命令按ANSYS的APDL语言格式写出ANSYS的命令,不要任何接口!===============

呵呵!楼上的误会我的意思拉!我是说安装接口的问题!而不是fortran的接口的!也就是我应该把ansys安装为custom的!还有,楼上的觉得我对fortran和ansys命令对应关系理解的如何亚????

===================

当然应该按照custom安装。你对fortran和ansys命令对应关系的理解似乎是对的。Have a try by yourself.

==============

多谢楼主鼓励!可是,这样做,我还是将其作为没有办法的办法的!首先,我觉得ansys 本身不好安装,再次,就是,周围没有做类似的例子的,还是有点不敢冒这个险的!个人觉得与其钻研这个接口问题,还不如,把ansys的热分析好好学一下的!毕竟,我是学热出身的~!虽然,个人,觉得ansys的热分析还是做的非常粗劣的!尤其是辐射非常繁琐的!也许,没学到ansys热分析的实质的!不过,还是非常感谢楼主的渊博和热心的!麻烦这么多次!真的非常感谢的!!

ANSYS调用FORTRAN(UPF)

基于ANSYS57和Visual Fortran 6.1先详细讲一下ANSYS调用FORTRAN的步骤:

1. 首先,安装ANSYS时选择custom安装;

2. 建立一个新的用户目录, 如upf,把custom\user\intel目录下的anscust.bat,makefile和user01.f (当然也可以用你自己的fortran文件啦)这三个文件拷贝到upf下;

3. 打开makefile文件,在第一行指定ANSYS的安装路径,如:

ANSYS57_DIR=d:\ANSYS57 保存退出;

对于ANSYS7.0:

ANSYS70_DIR=d:\ansys7\v70\ANSYS

4. 复制dfport.lib,dformd.lib, dfconcol.lib(这三个文件在fortran安装目录下的df98\lib目录中可以找到,注意不要用ANSYS自己所带的,因为ANSYS自己所带的版本可能不够高,而导致连接失败)和ansysex.def(在custom\user\intel 中)到upf目录中,以避免连接时找不到这几个文件;

5. 准备工作已经完成,运行“anscust.bat”进行编译连接。要确信你的Visual Fortran 与ANSYS版本的兼容性,如果编译连接不成功,出现诸如“Fatal error link 1120: 8 unresolved externals”的错误,则表示你的Fortran版本需要升级。如用Vfor

6.1 编译连接ansys

7.0,就会出现这样的错误信息。解决的方法是安装Vfor6.6B。

对于你自己写的FORTRAN程序,先用FORTRAN编译一遍,保证没有错误。编译连接成功之后,在upf目录下会生成ansys.exe;

6. 现在你就可以运行这个新的ANSYS了。有两个方法:

第一个方法,就象“二次开发培训练习题”中所说:

在dos命令行,先敲入ansys -p ansysul,指定ansys产品特征代码运行ansys, 然后OK,接着/show,win32和/menu,on启动ANSYS;

第二个方法,干脆用新生成的ansys.exe 代替ANSYS安装目录(如d:\ansys57\bin\intel)中的原ansys.exe,建议将原ansys.exe改名或备份,然后

就象你平常启动ANSYS那样(如用Ansys Interactive 方式)启动ANSYS。

7. 启动并进入ANSYS交互界面之后,在命令输入行输入命令usr1(或者用/ucdm 定义为你指定的名称, 如/ucmd, aaa,1)就实现了ANSYS对Fortran程序user01.f的调用。

我在二次开发中遇到的问题

1.上面帖子提到的dfconcol.lib文件应该为dfconsol.lib

2.除了ansysex.def外,还要将ansysmall.def和ansylarge.def这两个文件拷到upf目录中

3.进入ansys.exe之后,先用usrcal,all允许自定义命令应用于各个阶段,再用/ucmd, stat可以列出自定义命令USR1-USR10,但是输入USR1-USR10中任何一个系统都说这个命令不认识,这是为什么???快急死了!

请赐教,谢谢!

是不是我用的是Silverfrost FIN95才不行,用IVF就可以了么?

又或者我要在fortran中调用ansys,ansys的产品特征代码怎么找啊?

着急啊!

本人最近做userpl的二次开发,在ansys与fortran编译连接方面多走了不少弯路,所以跟大家共享下经验

首先是版本对应问题,本人使用ansys9.0,刚开始以为compiler visual fortran 6.6可以,就一直拿这个调试,可是用了很久也不成功,出了ansys.exe然后会没掉,后来升级到6.6B,总算见到ansys.exe了

将anscust.bat,makefile和userpl.f拷贝到UPF文件夹中

复制dfport.lib,dformd.lib, dfconcol.lib和ansyslarge.def,ansyssmall.def到UPF文件夹中

在UPF文件夹中运行“anscust.bat”进行编译连接。。。。就OK了,然后拿生成的ansys.exe替换安装目录下的ansys,运行,就可以使用自己的fortran 语句了,

二次开发资料甚少,大家有经验多多分享

Ps:谁有傲雪论坛邀请码发个给我吧,谢谢wangliubing@https://www.360docs.net/doc/431474638.html,

这两天试着使用了一下upfs功能,谈一点体会

首先按照前人所说的那样保证有/custom目录。

fortran编译器版本够高。

1、保证fortran程序没问题,然后随便找个user01-user10,比如user01。

将自己的主体程序,插入到user01,确保其没有错误。

2,ANSCUST.BAT,MAKEFILE,ANSYSEX.DEF,user01,以及dfport.lib,dformd.lib, dfconcol.lib(这三个文件在fortran安装目录下的df98\lib目录中可以找到)copy到自己的一个目录,然后执行anscust.bat,就可以生成ansys.exe 了。)

3,接着双击snsys.exe,输入/show,win32回车,再输入/menu,on回车。

进入正常界面,然后,你就可以定义自己的各种参数,再使用*cfopen,配合*vwrite 命令,将自己关心的参数,写入data.txt文件

4,用/ucmd,(your order name),1

命令调用自己的user01程序,这样,我们在user01加入读写命令,就可以从data.txt读入参数了,然后可以进行自己的计算,然后返回给ansys。' 实现数据的相互传递。

需要指出得是:我觉得我这样实现的参数传递比较麻烦,不知道大家有没有好的方法,还有就是user01中的自身参数没有用到,应该有用才对啊!!

看了以前各位编译UPFs的贴子,也试验了一下,和大家分享一下经验。Ansys UPFs 的编译在Windows平台下需要Fortran编译器或C编译器,而且不同Ansys版本对于编译器的版本有要求。以Ansys 8.0 为例,在WindowXP 下,需要Compaq Visual Fortran 6.6B,低版本的CVF不能编译成功。

在Ansys8.0,WindoxXP,CVF6.6B环境下,介绍编译过程。

首先确定Ansys安装了custom支持,在我的计算机上就是C:/Program Files/Ansys Inc/V80/ANSYS/custom/,在这个目录下,可以看到include,lib,misc,user四个子目录,其中user目录下包含了各种用户子程序,misc 目录下包含一些读取文件的工具程序,include包含编译需要的头文件,lib包含编译需要的库文件。

例如,我们需要加入一个用户单元,那么可以改写UEC100~UEC105,UEL100~UEL105。以UEC100,UEL100为例,改写后,

将UEC100,UEL100,ANSCUST.BAT,MAKEFILE,ANSYSEX.DEF,ansyslarge.def,ansyssmall.def拷贝到你的工作目录下,运行ANSCUST.BAT,不出意外的话就可以在工作目录下得到ANSYS.exe(大约49MB),Ansys.exp,Ansys.lib,Ansys.map。Ok,有了这四个文件就可以运行重新编译后的Ansys了。

在工作目录下打开CMD,运行"ansys.exe -g -p STRUCT",就以Product StructureU 进入Ansys GUI界面。

输入命令:

/prep7 ' E! E9

et,1,user100

Ansys会提示你使用了USER100单元,此时,所有单元参数的设置只能使用命令方式,而没有用户界面(至少在我的计算机上打开用户界面输入参数没有任何反应)。随后,可以用各种命令建立模型,进行分析。

本人最近在用ANSYS调用FORTRAN子程序过程中,碰到了如下情况,还请高人指导,不胜感激.我的具体操作过程入下:

本人安装的是ANSYS8.0,编译器用的是Visual Fortran 6.6a

2.在C:\Program Files\Ansys Inc\v80\ANSYS\custom\user建立了一个UPF文件夹

将anscust.bat,makefile和user01.f拷贝到UPF文件夹中,

4.复制dfport.lib,dformd.lib, dfconcol.lib和ansysex.def到UPF文件夹中

5. 在UPF文件夹中运行“anscust.bat”进行编译连接

结果生成了ANSYS.EXE,f_comp.err以及usercreep.obj3个文件,但是ANSYS.EXE出现不超过10秒就自动消失了,运行“anscust.bat”过程中没有出现错误,搞不清楚是怎么会事情了,还请高人指导,多谢了!

知道原因了,再把ansyssmall以及ansyslarge两个文件拷贝到UPF文件夹中,然后运行“anscust.bat”进行编译连接,就能生成ANSYS.EXE文件了.终于迈出了第一步!

本人在用ANSYS调用FORTRAN子程序过程中,怎么也无法得到ansys.exe文件,还请各位高人指导,不胜感激.我的具体操作过程入下

1.本人安装的是ANSYS8.1,编译器前后从Visual Fortran 6.5,6.6,6.6a,6.6b直到6.6c都试过了;

2.按照xujiang520TX提供的方法在E:\建立了一个UPF文件夹,并将anscust.bat,

makefile,user01.f,dfport.lib,dformd.lib, dfconsol.lib,ansysex.def,ansyssmall 以及ansyslarge都拷贝到UPF文件夹中;

结果生成了ANSYS.EXE,f_comp.err,user01.obj,ansysy.map,ansys.lib,ansys.exp共6个文件,但是ANSYS.EXE出现一会就自动消失了,运行“anscust.bat”过程中出现错误提示为“Fatal error link 1120: 7 unresolved externals”,还请各位高人指导,多谢了!

结合自己和他人的经验,介绍一下ansys 8.0连接、调用用户自定义单元UEC101.F 和UEL101.F 方法:

1. 将\Program Files\Ansys Inc\v80\ANSYS\custom\user\intel 目录下的UEC101.F,UEL101.F,ANSCUST.BAT,MAKEFILE,ansysex.def,ansyslarge.def,ansyssmall.def 文件拷贝到你的工作目录下,运行ANSCUST.BAT,不出意外的话,可在工作目录下得到ANSYS.exe,ANSYS.exp,ANSYS.lib,ANSYS.map 四个文件;

2. 将\Program Files\Ansys Inc\v80\ANSYS\bin\intel 目录下的jpeg62.dll, libguide40.dll, mkl_lapack64.dll, png.dll, tcl84.dll, tk84.dll, zlib.dll 文件复制到新生成的ANSYS.exe所在的工作目录;

3. 运行ansys程序,有多种方法:

⑴. 点击开始菜单的运行输入“cmd”,用DOS命令进入你的工作目录,然后输入“ansys.exe -g -p ane3fl”命令(ane3fl为multiphysics版ansys对应的feature name,其它版本需更换),即可进入ansys的GUI界面;

⑵. 直接双击生成的ANSYS.exe,在跳出的ANSYS 8.0 Output Window 中依次输入“/show,win32”和"/menu,on",即可进入ansys的GUI界面;

⑶. 打开"开始\所有程序\ANSYS 8.0" 中的Configure ANSYS Products,在其界面上有一个Customization 菜单,上面有Custom ANSYS Exe 选项,通过Browse 设定用户生成的ANSYS.exe文件的绝对路径后,运行的ansys程序就包括了用户自定义的单元。如果此项不设定,那么运行的将是标准的ansys 程序;

4. 调用用户单元:

UPF单元在GUI下看不到,只能通过命令流方式添加使用。

进入/prep7,用命令et,1,user101(et,1,uec101 或et,1,uel101 均可)添加用

户单元后,ansys会提示你使用了自定义单元。接下来用菜单定义实常数时,在跳出的对话框内能看到所定义的user101单元,但是不能选中添加实常数,否则程序就死掉不再响应,所以只能用命令方式定义。其它如建模、求解、后处理等操作和普通单元一样都可以使用菜单。

以上就是ansys 8.0连接和调用用户单元的全部过程。

其实,单元的连接调用过程都是比较简单的,难的是编写自己的单元,因为ansys 要求FORTRAN按照它所定义的参数变量进行编写。

正在利用UPFs开发自己的单元的同行,可以和我联系,我们可以共同讨论讨论。

相关文档
最新文档