ANSYS程序的二次开发(2)

2019-03-16 21:42

/ansys55/docu/UICMDS.HPS /ansys55/docu/UIELEM.HLP /ansys55/docu/UIELEM.HPS /ansys55/docu/UIGUID.HLP /ansys55/docu/UIGUID.HPS /ansys55/docu/UITHRY.HLP /ansys55/docu/UITHRY.HPS /ansys55/docu/UIOTHR.HLP /ansys55/docu/UIOTHR.HPS

----------------------------------------------------------

可见,正是因为这一menulist55.ans文件的指定,ANSYS系统将默认调用对应的基本UIDL控制文件。

由此,我们可以产生一个想法:只要我们改变这一基本menulist55.ans中的指定,就能使用我们自己的UIDL控制文件。

但其实我们有更加好的方法,一般来说我们不建议改变系统ansys55目录里任何文件内容,以避免不必要的失误。ANSYS本身在调用menulist55.ans文件的方式上就提供了便于进行UIDL开发的机制:

通常ANSYS按照以下顺序寻找menulist55.ans文件: 用户工作目录(可以在Interactive启动方式中设定)->用户根目录->/ansys/docu目录,可见只要我们在用户工作目录中编辑自己的menulist55.ans文件,ANSYS将优先使用我们自己的menulist55.ans文件。如果生成了自己的UIDL控制文件,并在我们自己的menulist55.ans文件中指向它们,我们就能实现对UIDL的全控制。以后的实例中我们将看到通用的UIDL开发过程。

最后要指出的是,UIDL前处理器在处理UIDL控制文件后,将自动在:I行(控制文件头部分)和:S行(结构块的头部分)中填入相应的位置信息,并在整个文件最后写入一系列:X行(索引行)。

UIDL实例解析一

1问题描述:

任何一个级联菜单的最底级总是调用命令,在这个实例里我们试着添加一个菜单联结,指向一个我们自己构建的命令。这个命令的构建方式我们将在实例二中给出。为方便起见,我们将在主菜单下添加一个MyProject菜单项,调用MyProject子菜单。MyProject子菜单中含有一个DoProject命令,该命令对一个实际问题进行优化设计,我们将在以后的实例中实现它。

6

2环境准备:

1. 配置好ANSYS环境,这里略过。

2. 在当前用户目录下建立一个子目录UIDL

---------------------------- %mkdir ~/UIDL ----------------------------

3. 拷贝相应文件进入该子目录

------------------------------------------------------- %cp /ansys55/docu/menulist55.ans . %cp /ansys55/docu/UIMENU.GRN . %cp /ansys55/docu/UIFUNC1.GRN . %cp /ansys55/docu/UIFUNC2.GRN .

------------------------------------------------------- 4. 编辑该子目录下文件menulist55.ans

前面我们已经看到了这个基本menulist55.ans的内容,这里我们想使用自己的UIDL控制文件,而不用默认目录/ansys55/docu下的UIDL控制文件,因此我们把该文件修改成如下内容: -------------------------------------------------------

./UIMENU.GRN ./UIFUNC1.GRN ./UIFUNC2.GRN

/ansys55/docu/UICMDS.HLP /ansys55/docu/UICMDS.HPS /ansys55/docu/UIELEM.HLP /ansys55/docu/UIELEM.HPS /ansys55/docu/UIGUID.HLP /ansys55/docu/UIGUID.HPS /ansys55/docu/UITHRY.HLP /ansys55/docu/UITHRY.HPS /ansys55/docu/UIOTHR.HLP /ansys55/docu/UIOTHR.HPS

--------------------------------------------------- 5. 运行测试是不是能够正常启动ANSYS

以Interactive方式启动,设置工作目录为刚刚创建的UIDL目录,并设置初始工作名为uidl,启动ANSYS,这是ANSYS的GUI界面应该和默认情况下启动,只不过不同的是调用的UIDL控制文件是当前UIDL目录下的了(只不过两者内容相同而已)。

3添加菜单:

ANSYS的浮动根菜单名字叫MenuRoot,我们将在根菜单下添加一个菜单项MyProject,

点击这个菜单项自动调用MyProject子菜单。MyProject子菜单中我们将放入一个命令

7

DoProject,点击这个命令,将进入我们的问题处理。

1. 定制DoProject命令

这里我们把DoProject命令的定义写入UIFUNC2.GRN中,编辑UIFUNC2.GRN文件,在其中两个结构块之间加入一个DoProject命令结构块:

-------------------------------------------

:N Fnc_DoProject

:S 86, 73, 6 :T Cmd

:A DoProject :D Let's go Inp_P :E END :!

-------------------------------------------

当然这样一个结构块什么也不干,只是一个虚块,在以后的实例中我们将完成这个命令的功能。 2. 定制MyProject子菜单

这一步中我们把MyProject子菜单的定制写入UIMENU.GRN中,编辑UIMENU。GRN文件,在其中两个结构块之间加入一个MyProject菜单结构块:

-------------------------------------------

:N Men_MyProject

:S 120, 88, 25 :T Menu :A MyProject

:D Optimize the structure -Optimize- Fnc_DoProject :E END :!

--------------------------------------------

这里-Optimize-是出现在菜单上的静态文本,Ansys对任何寻找不到定义的调用均当做静态文本处理。如果某子菜单中只有静态文本的话,Ansys一般情况下将不显示这个子菜单。

3. 将MyProject子菜单加到根菜单下

这里我们再次编辑UIMENU.GRN文件,在MenuRoot菜单结构块中添加到MyProject的链接。最后UIMENU.GRN的MenuRoot菜单结构块定义类似如下写法:

--------------------------------------------

:N MenuRoot

:S 433, 76, 350 :T Menu

:A Main Menu

:D ANSYS ROOT MENU Men_UVBA_Main_T1

8

Men_UVBA_Main_T2 Men_UVBA_Main_T3 Fnc_Preferences Sep_

Men_Preproc Men_Solution Men_GenlPost Men_TimePost Sep_

Men_MyProject

Sep_

K_LN(alpha) Men_DesOpt ……

----------------------------------------------

可见我们把Men_MyProject子菜单链接加入到基于时间历程后处理的菜单项后。当我们重新启动ANSYS时看到的主菜单应该如下图(a)所示,点击MyProject菜单项将出现图(b)的情形。

(a)

(b)

4结束语

上面我们看到了怎么在浮动菜单中简单添加自己定制子菜单的方法,但这个时候我们点击DoProject命令什么也不发生,因为我们在命令定制中就是这么设定的。以后我们将完善这个命令,让它逐渐强大起来。

大家也许会问,既然定义的这个命令是空命令,那能不能索性不定义呢。答案应该是不可以,大家可以试一试删去UIFUNC2.GRN中DoProject函数的定义,当你点击根菜单中的MyProject菜单链接,MyProject应该都不会弹出。

9

UIDL实例解析二

1问题描述:

r

α 图1

H

如图1(a)一所示,一带孔薄板,长4000mm,宽2000mm,顶部中心部分1800mm处承受42MP的压力,左右两个长圆孔中心分别踞四周1000mm,长圆孔的具体形式如图1(b)所示,上下分别为半圆,中部用直线衔接。这里假设长圆长轴与水平方向夹角为α。

为了使得孔边缘应力集中最小,这里拟调整α的大小(α∈[-π/2, π/2]),以便在固定的H情况下达到长圆孔周围应力集中最小。

本章中,我们将仅仅限于UIDL部分完成这个问题,即实现如下功能:通过菜单和对话框,用户输入参数H的大小,我们让Ansys自动生产整个分析模型。

(a) (b)

2环境准备及构建对话框:

1. 基于上一个实验的环境,在~/UIDL目录下构建一个输入脚本,这里我们权且称其

为create.inp,该脚本能针对固定的r、H、α来构建出分析模型。Create.inp脚本文件可以参看附录。

2. 在文件UIFUNC2.GRN中任意两个结构块之间添加函数DoProject的定义:

-------------------------------------------------------------- :N Fnc_DoProject

:S 0, 0, 0 :T Command

:A Optimize My Project 图2 :D Please Input the Custom Information :C )*SET,My_H,150 Inp_NoApply Cmd_)*Cset,1,1 Fld_0 Typ_Lab

Prm_Custom the Geographic Information Fld_2

10


ANSYS程序的二次开发(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:农产品电子商务交易平台建设可行性实施方案 - 图文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: