文档库 最新最全的文档下载
当前位置:文档库 › ANSYS二次开发

ANSYS二次开发

ANSYS二次开发
ANSYS二次开发

ANSYS二次开发手册

UIDL解析

APDL解析

目录

第二章解析UIDL篇 (1)

2.1结识UIDL (1)

2.2看看UIDL的模样 (1)

2.3 Ansys调用UIDL的过程 (4)

第三章UIDL实例解析一 (6)

3.1问题描述: (6)

3.2环境准备: (6)

3.3添加菜单: (7)

3.4结束语 (9)

第四章UIDL实例解析二 (10)

4.1问题描述: (10)

4.2环境准备及构建对话框: (10)

4.3参数提取杂谈 (12)

4.4结束语 (13)

附录 (13)

第五章UIDL实例解析三 (15)

5.1问题描述 (15)

5.2环境准备及构建联机帮助: (15)

5.3几点说明 (18)

5.4 结束语 (19)

第六章解析APDL (20)

6.1 熟悉新朋友—APDL (20)

6.2 二次开发工具之间的比较 (20)

6.3 结束语 (20)

第七章APDL综合实例 (21)

7.1 问题说明 (21)

7.2 解题思想 (22)

7.3 构建步骤 (22)

7.4 几点说明 (26)

7.5 结束语 (26)

第二章解析UIDL篇

2.1结识UIDL

UIDL是什么?Ansys二次开放语言的一种。

OK,那么它能带给我们什么?很多很多,如果你想让你在Ansys中制作的用户界面具有专业水准的话,请来结识一下我们的UIDL把。

●全称:

UIDL的全名是User Interface Design Language,是Ansys中二次开发工具方面的三大金刚之一。GUI方面几乎全部的二次开发功能都

将由它运筹帷幄。

●功用:

?组织我们自己强大的菜单系统。想象一下我们在Ansys中也能轻

松做出可以和VC,VB之类主流GUI开发工具媲美的菜单响应效

果,Ansys的世界将是多么的亲切、友好。

?构建功能繁复的对话框。Ansys中美观易用的ContactWizard对话

框级联界面一定让你印象很深把,有了它,即使是最菜鸟的门外

汉也能构建一流的工程算例,Ansys5.7中的DesignSpace应该就是

无可争辩的例证之一。虽然从UNIX内核上讲(Windows下的东

西是Ansys的后期移植,很多技术还不成熟,这里就不加讨论了),

它们多构建在繁复的TCL编程基础上,但我们利用强大的UIDL

工具,也能轻松架构起我们自己的实用对话框向导。

?建立自己的联机帮助

Ansys中的联机帮助(尤其是UNIX下的搜索引擎)非常实用,可

以说是我所接触过许多有限元平台中最为好用的几种帮助平台之

一。UNIX下的关键字查询简直是帅呆了,想构建自己完善的帮助

系统吗?UIDL同样是这方面不可或缺的理想开发工具。

2.2看看UIDL的模样

认识了这位Ansys二次开发中的大侠了巴,现在我们就来进一步和它交流交流,把我们的感性认识上升到理性层次中。

2.2.1 UIDL控制文件总结构

一个完整的UIDL控制文件大致如一下结构:

说明:

任何一个UIDL控制文件开头都是一个控制文件头,其后接一个或多个结构块结构。

2.2.2控制文件头结构

为避免鄙人在这里滔滔不绝,而读者在台下不知所云的尴尬,我们在以后的讲解中都将从一些典型结构例子入手,剖析清楚其各个部分的详细结构,当然这里从例子入手的剖析手段只能做到抛砖引玉,要想熟悉的了解各个命令的详细信息,请参阅UIDL手册:

一个典型的控制文件头如下所示:

--------------------------------------------------------------------------------------------- :F UIMENU.GRN

:D Modified on %E%, Revision (SID) = 5.181.1.67 - For use with ANSYS

5.5

:I 0, 0, 0

:!

--------------------------------------------------------------------------------------------- 几点说明:

1.filename是UIDL控制文件

名。

2.description是对本文件的

一些说明。注意到扩展,但只有当你拥有

类似SCCS的系统(含一源码控制系统),ANSYS才能有效的进

行%E%中。

3.各个0必须

出现在第9、18、27行。在调

GUI界面的位置信息。

4.UIDL控制文件中做分隔标记的,可有可

2.2.3结构块结构

结构块结构是一个UIDL控制文件的核心,它涵盖了菜单信息,命令信息,以及帮助文件信息,按照其不同的类型可划分为菜单结构块,命令结构块和帮助结构块。一般来说函数结构块还都伴随着构建一个对话框结

构。

1.结构块结构基本框架

麻雀虽小,五脏俱全,让我们先看一看结构块的基本结构:

2.例子说明

这里基于一个菜单结构块描述一下这些基本结构的细节,让大家有一个感性认识:

-------------------------------------------------------------------------------------- 头部分

:N Men_Add

:S 0, 0, 0

:T Menu

:A Add

:C

:D Add

数据控制部分

Fnc_V ADD

Fnc_AADD

Fnc_LCOMB

尾部分

:E END

分隔

:!

---------------------------------------------------------------------------------------- 几点说明:

◆9、16、23

0即可,ANSYS在调用该文件中将自动为这些域

◆Menu、Cmd

Help。

◆在Menu块

GUI菜单上的名字。

◆ANSYS内部命令

等,这里就不详述了,我们将在例子中看到其具体用法。

●数据控制部分

数据控制部分根据不同的结构控制块有不同的写法,但必须至少有一个数据控制行。例如在菜单结构块中我们可以在其

中使用Men_String来调用其他菜单项,还可以使用Fnc_String

命令调用一些命令。String对应于特定的菜单名部分或者命令

名部分。其他具体细节这里就不详述了。我们将在具体实例中

看到他们是如何构建实现的。

一般说来,(可选)。

2.3 Ansys调用UIDL的过程

上面我们已经熟悉了整个UIDL控制文件的结构,可惜我们还是空有武器,鲜有用武之地,Ansys到底是怎么使用UIDL的呢?搞清楚这一点,我们才能够游刃有余的控制整个GUI界面的定制,在这部分里我们将描述一下Ansys控制UIDL文件的过程。

下面的一些设置情况都是基于工作站版本的ANSYS5.5,其他版本的ANSYS的设置处理也类似,这里就不加赘述了。

ANSYS在调用GUI界面时会自动调用menulist55.ans文件,该文件中描述了UIDL前处理器到哪里去寻找UIDL控制文件。ANSYS在其docu/目录中有一个基本的menulist55.ans文件和对应的基本UIDL控制文件。默认情况下,ANSYS就调用这一menulist55.ans文件。

下面是这一基本menulist55.ans文件的内容:

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

/ansys55/docu/UIMENU.GRN

/ansys55/docu/UIFUNC1.GRN

/ansys55/docu/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

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

可见,正是因为这一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实例解析一

3.1问题描述:

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

3.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.编辑该子目录下文件menulist5

5.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.3添加菜单:

ANSYS的浮动根菜单名字叫MenuRoot,我们将在根菜单下添加一个菜单项MyProject,点击这个菜单项自动调用MyProject子菜单。MyProject子菜单中我们将放入一个命令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

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 )的情形。

3.4结束语

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

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

(a ) (b )

第四章UIDL 实例解析二

4.1问题描述:

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

为了使得孔边缘应力集中最小,这里拟调整α的大小(α∈[-π/2, π/2]),以便在固定的H 情况下达到长圆孔周围应力集中最小。 本章中,我们将仅仅限于UIDL 部分完成这个问题,即实现如下功能:通过菜单和对话框,用户输入参数H 的大小,我们让Ansys 自动生产整个分析模型。 4.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

图1 (b)

H

r 图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 Prm_ Please Input the H for Analysis(100~200) Typ_INT Def_*PAR (MY_H ) Cmd_)/Go Cmd_)fini Cmd_)/clear Cmd_)*GET,My_H,CPAR,1 Cmd_)/Input,create,inp :E END :! ------------------------------------------------------------------

出现在调用该函数的菜单项中,如图2

在我们定制的对话框标题上。 几点说明:

,在任何

入,动态刷新因此我们设定为

◆ Fld_2什么的都是一个个对话框域。不同的数

据输入域,比方说:输入框、多选框、列表框的都必须有独立

的域号,象本例中一个数值输入框域代号为2。但所有静态文

本都可以写在Fld_0域内,因为不会出现我们调用时的冲突。

这里,我们的Fld_0域内是Typ_Lab 的静态文本,内容书写在

Prm_后。Fld_2域是一个整数输入对话框域(Typ_INT ),前面

Prm_后有一段文字说明,并设定默认值(Def_)。

图3

下面的几行Cmd_)后跟的都是针对这一数值输入域处理的Ansys命令,主要功能是先清数据库,再取到域2内用户输入

的H参数值,然后进行基于该参数的模型构建。

3.输出结果:

这是α=

π/4,H=150

情况下自动

生成的几何

模型。虽然例子比较简单,但我们从中可以掌握一种GUI定制参数并

运用到脚本建模中的技巧,掌握了这种技巧,我们就不难轻松的构建

各种更加复杂的模型。

4.3参数提取杂谈

上面我们看到了一种比较简单有效的对话框参数提取、传递的技巧,其实在Ansys中参数的提取有好些方法。

通常的用户命令中(比方说设定实常数等),Ansys中由于有固定的命令与其对应,在GUI函数命令中Ansys是这样定制的,在对话框起始处给出一个Cmd_R命令(这里以提取实常数命令R为例),其后对应的Fld_2、Fld_3等域Ansys将自动拾取之并对应R命令的第二个参数、第三个参数等。但我们初学二次开发时不可能拥有自己的命令,因此这里我们弃而不用。等以后我们学习了UPF二次开发工具,能够定制自己的命令后,我们再来回顾一下这种参数话方法。

这里我们使用的是CSET

一变量My_H,初值为150,并用

的初值。然后用Cmd_)*CSET,1,1命令把第一个数值域的内容指定存储到*CSET命令对应的一矢量数值中,其次在数值域中指定用

Cmd_)*GET,My_H,CPAR,1命令让参数My_H再把用户输入的数值域内容从该矢量数组中读回来,这样我们就有了一个用户输入的参数值My_H,最后就可以直接调用脚本文件,生成需要得到的参数化建模结果。

在UIFUNC2.GRN中我们还可以看到其他一些参数化提取方式,比如说利用系统参数_z1~_z9…,用命令*GET,PAR,CMD,0,FIELD,2来拾取命令中域2中的内容到自己设定的参数中。以后我们可以对各种方法都练练手,这里就不再赘述了。

4.4结束语

上面我们用UIDL对话框的技术轻松实现了有用户化界面的参数化建模,在以后的例子中我们将对这个实例进行完善,并融入APDL和UPF 的内容。

附录

create.inp清单:

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

!This is a script which can create the modal with a parameter sita.

!Clear the workspace

!fini

!/clear,nostart

!Setup the Parameters

PI=4*atan(1)

sita=PI/4

r=200

!H=150

H=My_H

!Customize the Material Property

keyw,pr_struc,1

/prep7

et,1,shell63

r,1,120,120,120,120

uimp,1,ex,dens,nuxy,2400,1.2,0.375

!Modeling

!Create plate

k,1,0,0

k,2,2000,0

k,3,2000,2000

k,4,0,2000

k,5,1800,0

k,6,1000,1000

l,1,5

l,5,2

l,2,3

l,3,4

l,4,1

al,1,2,3,4,5

!Create hole

!Create my coordinate

k,7,1000+H*cos(sita),1000+H*sin(sita)

k,10,1000+H*cos(sita),1000+H*sin(sita),100

k,8,1000+r*cos(sita+PI/2),1000+r*sin(sita+PI/2)

cskp,11,0,6,7,8

csys,11

!Create Hole

k,9,H,r

l,7,9

l,7,6

adrag,6,,,,,,7

arotat,6,,,,,,7,10,-90

arsys,y,2,3,1

arsym,x,2,5,1

aadd,2,3,4,5,6,7,8,9

asba,1,10

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

第五章UIDL实例解析三

5.1问题描述

本章我们我们将描述UIDL的最后一个功能—构建我们自己的联机帮助文档。

诚然联机帮助在一般的开发过程中有点无足轻重,但如果你想让你的工作更加完善、更加专业的话,建立起自己强大的帮助系统是必不可少的,这一个实例中我们将对UIDL实例二构建我们自己的联机帮助文档。构建完联机帮助文档后,在菜单中点击DoProject菜单项将显示如下对话框:

看到了把,现在这个对话框中增加了一个Help按钮,点击这个Help按钮看看效果把,显示结果如下:

这里的文字可以任意,轻松写入任何泥想写入的帮助信息巴。下面我们就详细的说明如何建立这样的一个联机帮助。

5.2环境准备及构建联机帮助:

Ansys中的联机帮助一般有三种形式:ASCII形式,ZBitmap形式,PostScript

形式。PostScript形式的联机帮助多是在Unix下和打印功能有关的,我们这里就不加详述了。ZBitmap形式的联机文档应该是功能最强大的,应该类似于Windows下的PDF格式帮助文档把,可以在帮助文档中有图形或者文字的超级链接,构建这样的帮助文件我们得需要构建744pixels×925pixels的XWD 格式图像,xwd格式是UNIX中用xwd工具抓图所得的一种图像格式,可惜的是这里我们崭时缺少这样能够生成固定尺寸格式的XWD图像文件的工具,所以这里我们也不准备仔细对它的构建方法进行描述(你可以试验用任意尺寸的XWD格式构建ZBitmap格式的帮助文档,正常情况下Ansys系统应该不加显示任何图片)。

这里我们在上一个实例的基础上描述一下如何建立ASCII形式的帮助文档。

1.在Unix下,构建你的帮助文档文字信息,把它存成文件hlp_other2:

―――――――――――――――――――

ZengP Work Group

This Project is designed by Heling.

Enjoy it!

―――――――――――――――――――

2.检查hlp_other2文件字节数:

Unix下可以用命令ls hlp_other2或者wc –c hlp_other2命令查看该文件

的字节数,这里得出的字节数为63

3.构建帮助文件的数据控制部分,把它存成hlp_other1

―――――――――――――――――――

Customized Help

Hlp_

Hlp_

ASCII 63

END_OF_HYPERLINKS

―――――――――――――――――――

这里的数据控制部分是有固定格式的,第一行表示帮助对话框的标题。

第二行和第三行是描述该帮助文件的前端链接和后端链接。这里由于

是我们自己定义的帮助文档,没有前端链接和后端链接,因此我们都

把它写成Hlp_就可以了,第四行是描述帮助文件格式、字节信息的,

这里我们是ASCII格式,字节数是上一步中得到的字节数63(对

ZBitmap格式后面需要提供压缩后字节数和压缩前字节数两个信息,

具体做法请自己参看UIDL帮助手册)。以下到最后一行的

END_OF_HYPERLINKS之间是定义帮助文档之间超级链接的,由于

我们这里是做ASCII的帮助信息,不是ZBitmap格式的,因此没有任

何超级链接需要定义。

4.把hlp_other1和hlp_other2合成一个文件hlp_other

%cat hlp_other1 hlp_other2 >hlp_other

5.检查一下文件hlp_other的字节数

%wc –c hlp_other

这个例子中得到的字节数是116

6.构建帮助文件的头信息,把它存储为head_other:

―――――――――――――――――

:N Hlp_0_Contents

:S 0, 0, 0

:T HELP 116

―――――――――――――――――

7.构建帮助文件尾信息,把它存储为end:

―――――――――――――――――

:E End

―――――――――――――――――

8.构建帮助文件的控制文件头,把它存储为control_other:

―――――――――――――――――

:F OTHER.HLP

:D Modified on 1/17

:I 0, 0, 0

:!

―――――――――――――――――

9.构建总的帮助文件OTHER.HLP

%cat control_other head_other hlp_other end >OTHER.HLP

10.把我们构建好的帮助文件OTHER.HLP加入menulist55.ans中去。

最后menulist55.ans显示内容如下:

―――――――――――――――――

./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

./OTHER.HLP

―――――――――――――――――

11.在我们的函数定义DoProject中加入联机帮助信息.

编辑UIFUNC2.GRN中的DoProject函数定义,由于我们定制的帮助

文件名为Hlp_0_Contents,我们把它加入到函数定义中去,编辑完后

该函数定义内容结果如下:

―――――――――――――――――――――

:N Fnc_DoProject

:S 396, 147, 242

:T Command

:A Optimize my Project

:D Please Input Custom Information

:C )*Set,My_H,150

:H Hlp_0_Contents

Inp_NoApply

Cmd_)*Cset,1,1

Fld_0

Typ_Lab

Prm_Custom the Geographic Information

Fld_2

Prm_ Please Input the H for Analysis(100~200)

Typ_INT

Def_*PAR(My_H)

Cmd_)/Go

Cmd_)fini

Cmd_)/clear

Cmd_)*GET,My_H,CPAR,1

Cmd_)/Input,create,inp

:E END

:!

――――――――――――――――――――――――-

12.万事具备,测试一下你自己构建的帮助文档把。

5.3几点说明

从前面可以看到,一个帮助文件一般有文件控制头和若干帮助文件结构块组成,对帮助文件结构块来说,其包含四个部分:头部分,数据控制部分,帮助内容部分和尾部分。与函数说明不同的是它增加了帮助内容部

基于ANSYS的二次开发技术的实现方法

第24卷第5期辽宁工学院学报V o l.24 N o.5 2004年10月JOU RNAL O F L I AON I N G I N ST ITU T E O F T ECHNOLO GY O ct.2004① 基于AN SYS的二次开发技术的实现方法 吴 鹏1,曾 红1,韩 迈2 (1.辽宁工学院,辽宁锦州 121001;2.鞍山广播电视大学,辽宁鞍山 114000) 摘 要:基于大型通用有限元分析软件AN SYS8.0环境,对AN SYS二次开发技术进行了探讨,并对AN SYS 三种开发工具进行了详细的介绍。论述了采用二次开发方法设计产品的必要性和重要性,证实了以AN SYS为平台开发专业模块的可行性,提高了工作效率,缩短了产品的开发研制周期。 关键词:AN SYS;二次开发;A PDL;U I DL;U PF s 中图分类号:T P391.72 文献标识码:B 文章编号:100521090(2004)0520025205 Realization of Secondary D evelop m en t of Technology Based on ANS Y S W U Peng1,ZEN G Hong1,HAN M ai2 (1.L iaoning Institute of T echno logy,J inzhou121001,Ch ina;2.A nshan R adi o&TV U niversity,A nshan114000,Ch ina) Key words:AN SYS;Secondary developm en t;A PDL;U I DL;U PF s Abstract:T he m ethod of secondary developm en t of techno logy on the basis of large-scale fin ite elem en t analysis softw are—AN SYS is described and app roached,w h ich details th ree k inds of de2 velop ing too ls of AN SYS.It dem on strates the necessity and i m po rtance of the m ethod of sec2 ondary developm en t of techno logy.T he feasib ility of develop ing p rofessi onal m odu le on the AN2 SYS p latfo r m is verified,w o rk ing efficiency i m p roved,and the developm en t cycle of the p roducts sho rtened. 从20世纪70年代以来,随着计算技术的飞速发展,结构分析有了很大的突破,国外相继出现了许多大型通用有限元分析程序,如AN SYS, ABAQU S,M A RC和M SC NA STRAN等,这些程序具有良好的界面、方便的前后处理和强大的计算分析功能以及开放的二次开发系统。 AN SYS软件是融热、电、磁、流体、结构、声学于一体的大型通用有限元分析软件。具有强大的求解器和前、后处理功能,为解决复杂、庞大的工程项目提供了一个强有力的工具。然而,正是由于AN2 SYS的通用性特点,使其对不同行业的专业性模块的分析不具有针对性,复杂的英文界面和繁琐的分析步骤都给从事有限元分析的技术人员造成了很大的障碍。另外,虽然AN SYS有较强大的前、后处理功能,但使用者必须具有较高的相关力学知识和丰富的分析经验,在几何建模简化和力学建模等前处理方面需要花费很多时间和精力。因此,基于这些不便因素,在熟练应用AN SYS软件的基础上,结合具体各行业的实践经验,利用AN SYS内部提供的二次开发工具,用户可在AN SYS系统中开发出具有中文界面的、特定功能的专用模块,可以有效地提高设计的效率和质量,充分体现了专业化、用户化、便 ①收稿日期:2004206228 基金项目:辽宁省教育厅科研资助项目(20032086)作者简介:吴鹏(19792),男,辽宁盘锦人,硕士生。

a于ANSYS二次开发的管系结构应力分析系统

万方数据

第3期张庆峰等:基于ANSYS二次开发的管系结构应力分析系统—-79—.大,计算结果可靠。但它要求使用者具有一定的有限元知识背简单。 景,并同时具有较强专业知识水平、较强的结构分析能力和扎实 的英语基础。鉴于上述特点,使其对压力管系的有限元分析不 具有针对性。复杂的英文界面和繁琐的分析步骤都给从事压力 管系有限元分析的技术人员造成了很大的障碍。因此,基于这 些不便因素,为适用不同层次的用户使用,利用ANSYS内部提 供的二次开发工具。把ANSYS作为结构分析工具,建立了特别 适用于结构应力分析的中文界面环境、菜单和工具杆的管系结 构分析系统模块。此模块以向导的方式来进行每一步骤,各步 骤附有帮助文件,充分体现了专业化、用户化、便捷化的特点。 如图1所示。 图3管系图 图1绘制管系图 4应用实例 利用在役压力管道系统的应力分析模块对某厂核反应器再循环装置管线进行应力分析,如图2所示。 图2核反应器再循环装置回路管线图 4.1核反应器再循环装置回路管线概况 下面是一个应用该软件对在役核压力回路管线进行应力结构分析的简例。如图3所示,假定核反应器再循环装置的回路管线中发现了二处裂纹。这些裂纹可能是由于在生产或制造过程没有操作经验或某种晶间应力腐蚀所引起的。这两个裂纹,①和②,存在于旁路与核反应再循环装置回路管线主管路相连的焊接部位,它们可认为是复合缺陷。旁路管线的内径是282mm,主管路的内径是450ram,厚度是31.76mm。这些管路和弯管是SA333GR6型材料,弹性模量是188GPa。 4.2管系的结构分析 借助ANSYS的二次开发功能,在开发“含缺陷压力管系风险分析系统”时。在结构应力分析模块中,选择了国际著名的ANSYS有限元分析软件作为结构应力分析工具,并为适用不同层次的用户的需要,针对ANSYS的管路系统模块的特征,对ANSYS进行了二次开发,建立了专用程序的同时建立起对应的图形驱动界面,使得前处理建模、计算和后处理操作等变得十分 图4管系应力分布云图 5结论 通过开发以ANSYS为平台的管系应力分析系统,证实了运用ANSYS内部提供的APDL语言和UIDL语言进行开发专业模块的可行性,并且达到了界面简洁、易操作的预期功能。 利用建立在ANSYS二次开发基础上强大的管道结构应力分析模块,可以在制定管道的检修计划时,方便地确定出管道高度应集中部位,有针对性地选择焊缝并进行射线探伤,使管线的安全状况分析更加准确。有针对性地选择焊缝并进行射线探伤,使得管道的安全状况分析更为准确。同时,也可以利用该系统为分析工具,制定出旨在降低失效风险的管道结构改进措施,优化管道结构。以较低的成本提高管道的完整性水平。 因此,该系统的推广应用,对提高企业的压力管道管理水平,保障安全生产和技术进步具有重要意义。 参考文献 1ANSYSAPDLProgrammer’sGuideRelease5.5.ANSYS。Ine. 2TheUIDLProgrammer’sGuideRelease5.5.ANSYS.Ine. 3谢禹钧,蔺永诚,等.含缺陷压力关系失效风险分析系统(I)【J】.石油化工设备,2002,31(4):4—6. 4谢禹钧,蔺永诚等.含缺陷压力关系失效风险分析系统(n)【J】.石油化工设备,2002,31(5):4~6. 5程进,江见鲸等.基于ANSYS的程序界面设计及应用。四川建筑科学研究。2002,28. 6沈士明,在役压力管道安全评定研究的现状与发展。中国机械工程。 1997.8. 7APDL参数化有限元分析技术及其应用实例,中国水利水电出版社, 2003. 万方数据

ANSYS的二次开发技术

ANSYS的二次开发技术 ANSYS 的二次开发技术 ANSYS 提供的二次开发工具有三个:参数化设计语言(ANSYS Parametric Design Language,APDL),用户界面设计语言(User Interface Design Language,UIDL)以及用户可编程特性(User Programmable Features,UPFs)。其中,前两种可归类为标准使用特性,后一种为非标准使用特性。 ANSYS 参数化设计语言(APDL)APDL 扩展了传统有限元分析范围之外的能力,提供了建立标准化零件库、序列化分析、设计修改、设计优化以及更高级 的数据分析处理能力,包括灵敏度研究等。ANSYS 用户可编程特性(UPFs)利 用UPFs,用户可以开发下列方面的功能程序:(1) 开发用户子程序实现从ANSYS 数据库中提取数据或将数据写入ANSYS 数据库。该种子程序可以编译 连接到ANSYS 中,此时ANSYS 提供了10 个数据库操作命令;如果作为外部 命令处理,可以在ANSYS 的任何模块中运行;(2) 利用ANSYS 提供的子程序 定义各种类型的载荷,其中包括BF 或BFE 载荷、压力载荷、对流载荷、热通 量和电荷密度等;(3) 利用ANSYS 提供的子程序定义各种材料特性,包括塑性、蠕变、膨胀、粘塑性、超弹、层单元失效准则等;(4) 利用ANSYS 提供 的子程序定义新单元和调整节点方向矩阵,ANSYS 最多可以有6 个独立的新 单元USER100-USER105;( 5) 利用ANSYS 提供的子程序修改或控制ANSYS 单元库中的单元;(6) 利用UEROP 创建用户优化程序,可以用自己的算法和 中断准则替换ANSYS 优化过程。(7) ANSYS 程序作为子程序在用户程序中调用,如用户自定义的优化算法。ANSYS 软件本身是通过FORTRAN 和C 语言 开发的。使用UPFs 进行二次开发,在安装ANSYS 的基础上,还需要Compaq Visual FORTRAN 和MS Visual C++的支持。

有限元ansys静力分析的一个小例子

有限元 学院:机电学院 专业: 姓名: 学号:

一、问题描述 如图所示的平面,板厚为0.01m,左端固定,右端作用50kg的均布载荷,对其进行静力分析。弹性模量为210GPa,泊松比为0.25. 二、分析步骤 1.启动ansys,进入ansys界面。 2.定义工作文件名 进入ANSYS/Multiphsics的的程序界面后,单击Utility Menu菜单下File中Change Jobname的按钮,会弹出Change Jobname对话框,输入gangban为工作文件名,点击ok。 3.定义分析标题 选择菜单File-Change Title在弹出的对话框中,输入Plane Model作为分析标题,单击ok。 4.重新显示 选择菜单Plot-Replot单击该按钮后,所命令的分析标题工作文件名出现在ANSYS 中。 5.选择分析类型 在弹出的对话框中,选择分析类型,由于此例属于结构分析,选择菜单Main Menu:Preferences,故选择Structural这一项,单击ok。 6.定义单元类型 选择菜单Main Menu-Preprocessor-Element Type-Add/Edit/Delete单击弹出对话框中的Add按钮,弹出单元库对话框,在材料的单元库中选Plane82单元。即在左侧的窗口中选取Solid单元,在右侧选择8节点的82单元。然后单击ok。 7.选择分析类型 定义完单元类型后,Element Type对话框中的Option按钮被激活,单击后弹出一个对话框,在Elenment behavior中选择Plane strs w/ thk,在Extra Element output 中,选择Nodal stress,单击close,关闭单元类型对话框。 8.定义实常数 选择菜单Main Menu-Preprocessor-Real Constants Add/Edit/Delete执行该命令后,在弹出Real Constants对话框中单击Add按钮,确认单元无误后,单击ok,弹出Real Constants Set Number 1,for Plane 82对话框,在thickness后面输入板的厚度0.01单击ok,单击close。 9.定义力学参数 选择菜单Main Menu-Preprocessor-Material Props-Material Model 在弹出的对

ansys二次开发及实例

ansys二次开发教程+实例 第3章ANSYS基于VC++6.0的二次开发与相互作用分析在ANSYS中的实现 3.1 概述 ANSYS是一套功能十分强大的有限元分析软件,能实现多场及多场耦合分析;是实现前后处理、求解及多场分析统一数据库的 一体化大型FEA软件;支持异种、异构平台的网络浮动,在异种、异构平台上用户界面统一、数据文件全部兼容,强大的并行计算功能 支持分布式并行及共享内存式并行。该软件具有如下特点: (1) 完备的前处理功能 ANSYS不仅提供了强大的实体建模及网格划分工具,可以方便地构造数学模型,而且还专门设有用户所熟悉的一些大型通用有 限元软件的数据接口(如MSC/NSSTRAN,ALGOR,ABAQUS等),并允许从这些程序中读取有限元模型数据,甚至材料特性和边 界条件,完成ANSYS中的初步建模工作。此外,ANSYS还具有近200种单元类型,这些丰富的单元特性能使用户方便而准确地构建出 反映实际结构的仿真计算模型。 (2) 强大的求解器 ANSYS提供了对各种物理场量的分析,是目前唯一能融结构、热、电磁、流体、声学等为一体的有限元软件。除了常规的线性、 非线性结构静力、动力分析外,还可以解决高度非线性结构的动力分析、结构非线性及非线性屈曲分析。提供的多种求解器分别适用于 不同的问题及不同的硬件配置。 (3) 方便的后处理器 ANSYS的后处理分为通用后处理模块(POST1)和时间历程后处理模块(POST26)两部分。后处理结果可能包括位移、温度、应力、应变、速度以及热流等,输出形式可以有图形显示和数据列表两种。 (4) 多种实用的二次开发工具 ANSYS除了具有较为完善的分析功能外,同时还为用户进行二次开发提供了多种实用工具。如宏(Marco)、参数设计语言(APDL)、用户界面设计语言(UIDL)及用户编程特性(UPFs),其中APDL(ANSYS Parametric Design Language)是一种非常类似于Fortran77的参数化设计解释性语言,其核心内容为宏、参数、循环命令和条件语句,可以通过建立参数化模型来自动完成一些通用性强的任务;UIDL(User Interf ace Design Language)是ANSYS为用户提供专门进行程序界面设计的语言,允许用户改变ANSYS的图形用户界面(GUI)中的一些组项,提供了一种允许用户灵活使用、按个人喜好来组织设计ANSYS图形用户界面的强有力工具;UPFs(User Programmable Features)提供了一套Fortran77函数和例程以扩展或修改程序的功能,该项技术充分显示了ANSYS的开放体系,用户 不仅可以采用它将ANSYS程序剪裁成符合自己所需的任何组织形式(如可以定义一种新的材料,一个新的单元或者给出一种新的屈服 准则),而且还可以编写自己的优化算法,通过将整个ANSYS作为一个子程序调用的方式实现。 鉴于上述特点,近几年来,ANSYS软件在国内外工程建设和科学研究中得到了广泛的应用。但这些应用大多局限于直接运用ANSYS软件进行实际工程分析,对利用ANSYS提供的二次开发工具进行有限元软件设计却很少涉及。本文首次利用ANSYS软件的二次开发功能,以VC++6.0为工具,运用APDL语言,对ANSYS进行二次开发,编制框筒结构-桩筏基础-土相互作用体系与地震反应分析程序。 3.2 程序设计目标 针对某一实际工程问题,ANSYS所提供的APDL语言可对ANSYS软件进行封装。APDL语言即ANSYS软件提供的参数化设计 语言,它的全称是ANSYS Parametric Design Language。使用APD L语言可以更加有效地进行分析计算,可以轻松地进行自动化工作(循环、分支、宏等结构),而且,它是一种高效的参数化建模手段。使用APDL语言进行封装的系统可以只要求操作人员输入前处理 参数,然后自动运行ANSYS进行求解。但完全用APDL编写的宏还存在弱点。比如用APDL语言较难控制程序的进程,虽然它提供了 循环语句和条件判断语句,但总的来说还是难以用来编写结构清晰的程序。它虽然提供了参数的界面输入,但功能还不是太强,交互性 不够流畅。针对这种情况,本文用VC++6.0开发框筒结构-桩筏基础-土相互作用有限元分析程序(简称LW S程序)。

ANSYS模拟大体积混凝土浇筑过程的参数分析_赵英菊

1.ANSYS分析的原理和步骤 ANSYS的热分析[1]包括稳态和瞬态两种,如果系统的温度场与时间无关,则称该系统处于稳定的热状态,简称稳态;如果系统的温度场随时间发生变化,则称系统处于瞬态。显然,大体积混凝土的浇筑过程属于瞬态分析,也属于非线性分析。 我们不仅要进行混凝土温度场的模拟还要进行应力场的模拟,所以要用到ANSYS中耦合分析,ANSYS提供了两种分析耦合场的方法:直接耦合与间接耦合。 直接耦合法的耦合单元包含所有必须的自由度,仅仅通过一次求解就能得出耦合场分析结果;间接耦合法是以特定的顺序求解单个物理场的模型,通过把第一次场分析的结果作为第二次场分析的载荷来实现两种场的耦合。如我们用到的热-应力耦合分析就是将热分析得到的节点温度作为载荷施加在后序的应力分析中来实现耦合的。基本步骤如下: 第一步:进行热分析,可选择SOLID70单元; 第二步:重新进入前处理器,转换单元类型;将热单元转换为相应的结构单元,原来的SOLID70单元将自动转换为SOLID45单元,其对应的命令是ETCHG,TTS。 第三步:设置结构分析中的材料属性; 第四步:读入热分析结果并将其作为载荷;可采用命令LDREAD读入热分析的节点温度,或点击MainMenu>Solution>LoadApply>Temperature>FromThermalAnalysis。注意,结果文件的扩展名为*.rth。 第五步:指定参考温度;在参考温度处,热应力值为零。 第六步:求解及后处理。 2.温度场的求解 2.1三种基本传热方式 (1)热传导,遵循傅里叶定律(导热基本定律):q″=-λdT dx ,式中q″为热流密度(W/m2),λ为导热系数(W/m?℃),“-”表示热量流向温度降低的方向。 (2)热对流,用牛顿冷却方程来描述:q″=β(TS-TB),式中β为对流换热系数,TS为固体表面的温度,TB为周围流体的温度。 (3)热辐射,指物体发射电磁能,并被其它物体吸收转变为热的热量交换过程。 2.2边界条件 (1)第一类边界条件是指混凝土表面温度T是时间τ的已知函数,即 T(x,y,z,τ)=Tb(τ) (2)第二类边界条件是指混凝土表面的热流量是时间的已知函数,即 -λ$T $n =T′(τ) 式中λ—— —导热系数,W/m?℃或kJ/m?h?℃,W/m?℃=3.6kJ/m?h?℃; n—— —表面外法线方向,若表面是绝热的,有:$T $n =0。 (3)第三类边界条件假定经过混凝土表面的热流量与混凝土表面温度T和气温Ta之差成正比,即 -λ$T $n =β(T-Ta) 式中β—— —表面放热系数,也称对流系数,W/m2?℃。其数值与风速va(m/s)有密切的关系,固体表面在空气中的放热系数可用以下两式计算,单位是kJ/m2?h?℃。 粗糙表面:β=23.9+14.50va(1)光滑表面:β=21.8+13.53va(2)当有模板和保温层时,可按下式计算:β=1 ∑ δ i λ i +1 β q (3)式中δi—— —各种保温材料的厚度(m); λi—— —各种保温材料的导热系数(W/m?K),可按表1取值[2]; βq—— —空气的传热系数,可取23(W/m2?K)。 表1各种保温材料的导热系数λ值(W/m?K) (4)当两种条件不同的固体接触时,如接触良好,则在接触面上温度和热流量都是连续的,即T1=T2,λ1( !T 1 !n )=λ2(!T2 !n )。 混凝土与空气接触(包括有养护条件)的边界可按照第三类边界条件处理: NSEL,,,!选择与空气接触的表面节点 SF,ALL,CONV,β,Tair,!加载表面散热系数和环境温度 混凝土与地基或基岩的边界可以按照第四类边界条件处理,通过定义两种材料的导热系数和初始温度即可。 2.3热学参数取值基本参数较容易获得,也可参考下表: 表2材料的基本热学参数 2.3.1水化热的施加在ANSYS中,混凝土的水化热是通过生热率HGEN来施加的。顾名思义,生热率就是单位时间内混凝土的生热量,即所产生的热量对时间的导数,用表达式表示为: hgen=dQ dt (4)式中:Q—— —混凝土中产生的热量; hgen—— —混凝土生热率。 混凝土的水化热放热过程与混凝土的绝热温升过程具有一致性,若取指数经验式: ANSYS模拟大体积混凝土浇筑过程的参数分析 赵英菊王社良康宁娟 (西安建筑科技大学土木工程学院陕西西安710055) 摘要:建筑工程中的大体积混凝土结构越来越多,利用有限元程序ANSYS进行施工过程的模拟仿真可以形象地给出温度场和应力场的分布情况,同时能考虑各参数随时间的变化。时变参数的选取及其在程序中的实现是仿真分析中的重点和难点,特总结归纳,并给出解决的方法供参考。 关键词:ANSYS;混凝土;浇筑;时变参数 材料名称λ材料名称λ 木模0.23黏土砖0.43 钢模58油毡0.05 草袋0.14沥青矿棉0.09~0.12 木屑0.17沥青玻璃棉毡0.05 矿渣0.47泡沫塑料制品0.03~0.05 黏土1.38~1.47泡沫混凝土0.10 干砂0.33水0.58 湿砂1.31空气0.03 名称数值单位名称数值单位 混凝土的密度2400kg/m3混凝土的导热系数2.710W/m?℃ 土壤的密度1750kg/m3土壤的导热系数0.586W/m?℃ 混凝土的比热0.963kJ/kg?℃混凝土的线膨胀系数10×10-6℃ 土壤的比热1.005kJ/kg?℃混凝土的导温系数0.0042m2/h96

基于VB语言的EXCEL和CST以及AutoCAD与ANSYS等的二次开发

基于VB语言的EXCEL、CST以及HFSS等的二次开发 代码1:vb创建xls表,并写入内容 Set ExcelApp = CreateObject("Excel.Application") '创建EXCEL对象Set ExcelBook = ExcelApp.Workbooks.Add Set ExcelSheet = ExcelBook.Worksheets(1) '添加工作页ExcelSheet.Activate '激活工作页 ExcelApp.DisplayAlerts = False https://www.wendangku.net/doc/539099879.html,="sheet1" ExcelSheet.Range("A1").Value = 100 '设置A1的值为100 ExcelBook.SaveAs "d:\test.xls" '保存工作表 msgbox "d:\test.xls创建成功!" ExcelBook.close set excelApp=nothing set ExcelBook=nothing set ExcelSheet=nothing 将以上代码copy到记事本存为"writexls.vbs"文件,可运行测试 代码2:读execel文件 Set ExcelApp = CreateObject("Excel.Application") '创建EXCEL对象Set ExcelBook = ExcelApp.Workbooks.open("d:\test.xls") Set ExcelSheet = ExcelBook.Worksheets(1) msgbox ExcelSheet.Range("A1").Value 将以上代码copy到记事本存为"readxls.vbs"文件,可运行测试 代码3:上述代码联合调试 Dim ExcelApp,ExcelBook,ExcelSheet Set ExcelApp = CreateObject("Excel.Application") '创建EXCEL对象Set ExcelBook = ExcelApp.Workbooks.Add Set ExcelSheet = ExcelBook.Worksheets(1) '添加工作页ExcelSheet.Activate '激活工作页 ExcelApp.DisplayAlerts = False https://www.wendangku.net/doc/539099879.html,="sheet1" ExcelSheet.Range("A1").Value = 100 '设置A1的值为100 ExcelBook.SaveAs "D:\Study\VBS\Book1.xls" '保存工作表 msgbox "d:\Book1.xls创建成功!" ExcelBook.close set excelApp=nothing set ExcelBook=nothing set ExcelSheet=nothing 'ExcelApp.WorkBooks.Close 'ExcelApp.Quit

七个ansys经典入门实例

“有限元分析及应用”课程有限元分析软件ANSYS6.xed 上机指南 清华大学机械工程系 2002年9月

说明 本《有限元分析软件ANSYS6.1ed:上机指南》由清华大学机械工程系石伟老师组织编写,由助教博士生孔劲执笔, 于2002年9月完成,基本操作指南中的所有算例都在相应的软件系统中进行了实际调试和通过。 本上机指南的版权归清华大学机械工程系所有,未经同意,任何单位和个人不得翻印。

目录 Project1 简支梁的变形分析 (1) Project2 坝体的有限元建模与受力分析 (3) Project3 受内压作用的球体的应力与变形分析 (5) Project4 受热载荷作用的厚壁圆筒的有限元建模与温度场求解 (7) Project5 超静定桁架的有限元求解 (9) Project6 超静定梁的有限元求解 (11) Project7 平板的有限元建模与变形分析 (13)

Project1 梁的有限元建模与变形分析 计算分析模型如图1-1 所示, 习题文件名: beam。 NOTE:要求选择不同形状的截面分别进行计算。 梁承受均布载荷:1.0e5 Pa 图1-1梁的计算分析模型 梁截面分别采用以下三种截面(单位:m): 矩形截面:圆截面:工字形截面: B=0.1, H=0.15 R=0.1 w1=0.1,w2=0.1,w3=0.2, t1=0.0114,t2=0.0114,t3=0.007 1.1进入ANSYS 程序→ANSYSED 6.1 →Interactive →change the working directory into yours →input Initial jobname: beam→Run 1.2设置计算类型 ANSYS Main Menu: Preferences →select Structural →OK 1.3选择单元类型 ANSYS Main Menu: Preprocessor →Element Type→Add/Edit/Delete… →Add… →select Beam 2 node 188 →OK (back to Element Types window)→Close (the Element Type window) 1.4定义材料参数 ANSYS Main Menu: Preprocessor →Material Props →Material Models →Structural→Linear→Elastic→Isotropic→input EX:2.1e11, PRXY:0.3→OK 1.5定义截面 ANSYS Main Menu: Preprocessor →Sections →Beam →Common Sectns→分别定义矩形截面、圆截面和工字形截面:矩形截面:ID=1,B=0.1,H=0.15 →Apply →圆截面:ID=2,R=0.1 →Apply →工字形截面:ID=3,w1=0.1,w2=0.1,w3=0.2,t1=0.0114,t2=0.0114,t3=0.007→OK

附代码基于C 的ANSYS二次开发

ansys二次开发 1概述 ANSYS是一套功能十分强大的有限元分析软件,能实现多场及多场耦合分析;是实现前后处理、求解及多场分析统一数据库的一体化大型FEA软件;支持异种、异构平台的网络浮动,在异种、异构平台上用户界面统一、数据文件全部兼容,强大的并行计算功能支持分布式并行及共享内存式并行。该软件具有如下特点:(1)完备的前处理功能 ANSYS不仅提供了强大的实体建模及网格划分工具,可以方便地构造数学模型,而且还专门设有用户所熟悉的一些大型通用有限元软件的数据接口(如MSC/NSSTRAN,ALGOR,ABAQUS等),并允许从这些程序中读取有限元模型数据,甚至材料特性和边界条件,完成ANSYS中的初步建模工作。此外,ANSYS还具有近200种单元类型,这些丰富的单元特性能使用户方便而准确地构建出反映实际结构的仿真计算模型。 (2)强大的求解器 ANSYS提供了对各种物理场量的分析,是目前唯一能融结构、热、电磁、流体、声学等为一体的有限元软件。除了常规的线性、非线性结构静力、动力分析外,还可以解决高度非线性结构的动力分析、结构非线性及非线性屈曲分析。提供的多种求解器分别适用于不同的问题及不同的硬件配置。 (3)方便的后处理器 ANSYS的后处理分为通用后处理模块(POST1)和时间历程后处理模块(POST26)两部分。后处理结果可能包括位移、温度、应力、应变、速度以及热流等,输出形式可以有图形显示和数据列表两种。 (4)多种实用的二次开发工具 ANSYS除了具有较为完善的分析功能外,同时还为用户进行二次开发提供了多种实用工具。如宏(Marco)、参数设计语言(APDL)、用户界面设计语言(UIDL)及用户编程特性(UPFs),其中APDL(ANSYS Parametric Design Language)是一种非常类似于Fortran77的参数化设计解释性语言,其核心内容为宏、参数、循环命令和条件语句,可以通过建立参数化模型来自动完成一些通用性强的任务;UIDL(User Interface Design Language)是ANSYS为用户提供专门进行程序界面设计的语言,允许用户改变ANSYS的图形用户界面(GUI)中的一些组项,提供了一种允许用户灵活使用、按个人喜好来组织设计ANSYS图形用户界面的强有力工具;UPFs(User Programmable Features)提供了一套Fortran77函数和例程以扩展或修改程序的功能,该项技术充分显示了ANSYS的开放体系,用户不仅可以采用它将ANSYS程序剪裁成符合自己所需的任何组织形式(如可以定义一种新的材料,一个新的单元或者给出一种新的屈服准则),而且还可以编写自己的优化算法,通过将整个ANSYS作为一个子程序调用的方式实现。 鉴于上述特点,近几年来,ANSYS软件在国内外工程建设和科学研究中得到了广泛的应用。但这些应用大多局限于直接运用ANSYS软件进行实际工程分析,对利用ANSYS提供的二次开发工具进行有限元软件设计却很少涉及。本文首次利用ANSYS软件的二次开发功能,以VC++6.0为工具,运用APDL语言,对ANSYS进行二次开发,编制框筒结构-桩筏基础-土相互作用体系与地震反应分析程序。2程序设计目标 针对某一实际工程问题,ANSYS所提供的APDL语言可对ANSYS软件进行封装。APDL语言即ANSYS软件提供的参数化设计语言,它的全称是ANSYS Parametric

ansys工程实例(4经典例子)解析

输气管道受力分析(ANSYS建模) 任务和要求: 按照输气管道的尺寸及载荷情况,要求在ANSYS中建模,完成整个静力学分析过程。求出管壁的静力场分布。要求完成问题分析、求解步骤、程序代码、结果描述和总结五部分。所给的参数如下: 材料参数:弹性模量E=200Gpa; 泊松比0.26;外径R?=0.6m;内径R?=0.4m;壁厚t=0.2m。输气管体内表面的最大冲击载荷P为1Mpa。 四.问题求解 (一).问题分析 由于管道沿长度方向的尺寸远大于管道的直径,在计算过程中忽略管道的端面效应,认为在其长度方向无应变产生,即可将该问题简化为平面应变问题,选取管道横截面建立几何模型进行求解。 (二).求解步骤 定义工作文件名 选择Utility Menu→File→Chang Jobname 出现Change Jobname对话框,在[/FILNAM] Enter new jobname 输入栏中输入工作名LEILIN10074723,并将New log and eror file 设置为YES,单击[OK]按钮关闭对话框 定义单元类型 1)选择Main Meun→Preprocessor→Element Type→Add/Edit/Delte命令,出现Element Type 对话框,单击[Add]按钮,出现Library of Element types对话框。 2)在Library of Element types复选框选择Strctural、Solid、 Quad 8node 82,在Element type reference number输入栏中出入1,单击[OK]按钮关闭该对话框。 3. 定义材料性能参数 1)单击Main Meun→Preprocessor→Material Props→Material models出现Define Material Behavion 对话框。选择依次选择Structural、Linear、Elastic、Isotropic选项,出现Linear Isotropic Material Properties For Material Number 1对话框。 2)在EX输入2e11,在Prxy输入栏中输入0.26,单击OK按钮关闭该对话框。 3)在Define Material Model Behavion 对话框中选择Material→Exit命令关闭该对话框。 4.生成几何模型、划分网格 1)选择Main Meun→Preprocessor→Modeling→Create→Areas→Circle→Partail→Annulus出现Part Annulus Circ Area对话框,在WP X文本框中输入0,在WP Y文本框中输入0,在Rad1文本框中输入0.4,在Theate-1文本框中输入0,在Rad2文本框中输入0.6,在Theate-2文本框中输入90,单击OK按钮关闭该对话框。 2)选择Utility Menu→Plotctrls→Style→Colors→Reverse Video,设置显示颜色。 3)选择Utility Menu→Plot→Areas,显示所有面。 4) 选择Main Menu→Preprocessor→Modeling→Reflect→Areas,出现Reflect Areas拾取菜

ANSYS 中使用函数加载的一个简单例子

ANSYS 中使用函数加载的一个简单例子 本文将通过一个具体实例说明在ANSYS 中如何使用函数加载,后续将通过该实例在分析过程中遇到的一个问题提出自己的一点看法。 实例的具体说明: 一个1/4 圆柱,内半径30 mm,外半径42 mm,长度100mm,如图1 所示: 所用材料为双线性弹塑性材料,其机械性能为: 弹性模量 E = 201000 Mpa;泊松比μ=0.3

屈服应力σ= 200 Mpa;切线模量Et = 2010使用单元类型solid185 (8 节点六面体单元)。 取整体单元边长4 mm,然后可以直接对该几何模型划分MAP 网格,划分网格结果如图2: 约束条件为: 轴向两个截面为对称边界条件;一个端面约束轴向位移Uz。 载荷条件为: 在外表面施加变化的压力载荷,载荷函数为: P (y) = 8e7 + 7E7 * (Y/42)

即: X = 0 ,Y = 42 (最高点) 时,P = 15E7; X = 42,Y = 0 (最低点)时,P = 8E7。 我们采用函数方式来施加这一压力载荷,首先定义函数: 在Solution 模块中,点击菜单路径: Solution > Define Loads > Apply > Functions > Define/Edit 将会弹出一个函数编辑器,可以在其中定义所需的函数。 在函数编辑器中,函数类型选择为Single equation,即单值函数;计算函数值时使用的插值坐标系( (x,y,z) interpreted in CSYS) 选择0,即总体直角坐标系,如图3 所示:

然后,在函数编辑器中间位置的“Result = “ 小窗口中输入要定义的函数表达式,如果表达式中有x, y, z, time 等变量(供定义函数时使用的“自变量”),可以用{X},{Y},{Z},{TIME} 等的形式输入;或者点击下面一个小窗口右边的小箭头,会出现一个下拉列表,列出可以选择的变量,然后从该列表中选择某个自变量,则该自变量会按照上述格式写入函数中,如图5 所示:

几个ansys经典实例(长见识)

平面问题斜支座的处理 如图5-7所示,为一个带斜支座的平面应力结构,其中位置2及3处为固定约束,位置4处为一个45o的斜支座,试用一个4节点矩形单元分析该结构的位移场。 (a)平面结构(b)有限元分析模型 图5-7 带斜支座的平面结构 基于ANSYS平台,分别采用约束方程以及局部坐标系的斜支座约束这两种方式来进行处理。 (7) 模型加约束 左边施加X,Y方向的位移约束 ANSYS Main Menu: Solution →Define Loads →Apply →-Structural→Displacement On Nodes →选取2,3号节点→OK →Lab2: All DOF(施加X,Y方向的位移约束) →OK 以下提供两种方法处理斜支座问题,使用时选择一种方法。 ?采用约束方程来处理斜支座 ANSYS Main Menu:Preprocessor →Coupling/ Ceqn →Constraint Eqn :Const :0, NODE1:4, Lab1: UX,C1:1,NODE2:4,Lab2:UY,C2:1→OK 或者?采用斜支座的局部坐标来施加位移约束 ANSYS Utility Menu:WorkPlane →Local Coordinate System →Create local system →At specified LOC + →单击图形中的任意一点→OK →XC、YC、ZC分别设定为2,0,0,THXY:45 →OK ANSYS Main Menu:Preprocessor →modeling →Move / Modify →Rotate Node CS →To active CS → 选择4号节点 ANSYS Main Menu:Solution →Define Loads →Apply →Structural →Displacement On Nodes →选取4号节点→OK →选择Lab2:UY(施加Y方向的位移约束) →OK 命令流; !---方法1 begin----以下的一条命令为采用约束方程的方式对斜支座进行处理 CE,1,0,4,UX,1,4,UY,-1 !建立约束方程(No.1): 0=node4_UX*1+node_UY*(-1) !---方法1 end --- !--- 方法2 begin --以下三条命令为定义局部坐标系,进行旋转,施加位移约束 !local,11,0,2,0,0,45 !在4号节点建立局部坐标系 !nrotat, 4 !将4号节点坐标系旋转为与局部坐标系相同 !D,4,UY !在局部坐标下添加位移约束 !--- 方法2 end

关于ansys与VC++Fortran程序的接口资料! [精华]

将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是不可写的,只有当它运行完毕,此文件才可写。 好贴,请教如何在VB中调用ansys? 这是我早期的帖子,请参考: https://www.wendangku.net/doc/539099879.html,/dispbb ... ID=2923&ID=2923 在第二页中已经对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"); //不用::WinExec,就用不着等待语句,可以实现用FORTRAN调用一样的效果。 printf("Solution finished..."); }

一个经典的ansys热分析实例(流程序)

/PREP7 /TITLE,Steady-state thermal analysis of pipe junction /UNITS,BIN ! 英制单位;Use U. S. Customary system of units (inches) ! /SHOW, ! Specify graphics driver for interactive run ET,1,90 ! Define 20-node, 3-D thermal solid element MP,DENS,1,.285 ! Density = .285 lbf/in^3 MPTEMP,,70,200,300,400,500 ! Create temperature table MPDATA,KXX,1,,8.35/12,8.90/12,9.35/12,9.80/12,10.23/12 ! 指定与温度相对应的数据材料属性;导热系数;Define conductivity values MPDATA,C,1,,.113,.117,.119,.122,.125 ! Define specific heat values(比热) MPDATA,HF,2,,426/144,405/144,352/144,275/144,221/144 ! Define film coefficient;除144是单位问题,上面的除12也是单元问题 ! Define parameters for model generation RI1=1.3 ! Inside radius of cylindrical tank RO1=1.5 ! Outside radius Z1=2 ! Length RI2=.4 ! Inside radius of pipe RO2=.5 ! Outside pipe radius Z2=2 ! Pipe length CYLIND,RI1,RO1,,Z1,,90 ! 90 degree cylindrical volume for tank WPROTA,0,-90 ! 旋转当前工作的平面;从Y到Z旋转-90度;;Rotate working plane to pipe axis CYLIND,RI2,RO2,,Z2,-90 ! 角度选择在了第四象限;90 degree cylindrical volume for pipe WPSTYL,DEFA ! 重新安排工作平面的设置;另外WPSTYL,STAT to list the status of the working plane;;Return working plane to default setting BOPT,NUMB,OFF ! 关掉布尔操作的数字警告信息;Turn off Boolean numbering warning VOVLAP,1,2 ! 交迭体;Overlap the two cylinders /PNUM,VOLU,1 ! 体编号打开;Turn volume numbers on /VIEW,,-3,-1,1

相关文档
相关文档 最新文档