ANSYS 高级二次开发

时间:2025-01-10

ANSYS 11.0 高级二次开发ANSYS二次开发的三大工具

汇 报 内 容

What are UPFs?How to use?

UPFs 演示算例

1

ANSYS程序二次开发的三大工具标准ANSYS程序是一个功能强大、通用性好的有限元分 析程序,同时它还具有良好的开放性,用户可以根据自身的 需要在标准ANSYS版本上进行功能扩充和系统集成,生成具 有专业分析特点和符合用户需要的用户版本的ANSYS程序。二 次 开 发 的 三 大 工 具

★参数化程序设计语言(APDL)

★用户程序特性(UPFs )

★用户界面设计语言(UIDL)2

参数化程序设计语言(APDL)APDL(ANSYS Parametric Design Language)是由类似于FORTRAN77的 程序设计语言部分和 1000 多条 ANSYS命令组成。其中,程序设计语 言部分与其它编程语言一样,具有参数、数组表达式、函数、流程 控制(循环与分支)、重复执行命令、缩写、宏以及用户程序等。 标准的 ANSYS 程序运行是由 1000 多条命令驱动的,这些命令可 以写进程序设计语言编写的程序,命令的参数可以赋确定值,也可 以通过表达式的结果或参数的方式进行赋值。从 ANSYS命令的功能 上讲,它们分别对应 ANSYS分析过程中的定义几何模型、划分单元 网格、材料定义、添加载荷和边界条件、控制和执行求解和后处理 计算结果等指令。 用户可以利用程序设计语言将 ANSYS命令组织起来,编写出参 数化的用户程序,从而实现有限元分析的全过程,即建立参数化的 模型、参数化的网格划分与控制、参数化的材料定义、参数化的载 荷和边界条件定义、参数化的分析控制和求解以及参数化的后处理。3

参数化程序设计语言(APDL)

4

用户界面设计语言(UIDL)UIDL(User Interface Design Language)是编写或改造 ANSYS图形界 面的专用设计语言。 标准 ANSYS 交互图形界面可以驱动 ANSYS 命令,提供命令的 各类输入参数接口和控制开关,用户在图形驱动的级别上进行有限 元分析,整个过程变得直观轻松。主要完成以下三种图形界面的设 计:主菜单系统及菜单项、对话框和拾取对话框与帮助系统。 通过用户界面设计语言,用户可以在扩充 ANSYS 功能的同时 建立起对应的图形驱动界面,如在主菜单的某位臵增加菜单项,设 计对应的对话框、拾取对话框,实现参数的输入和其它程序运行的 控制,同时提供相应的联机帮助,使操作者能方便地获取系统帮助。

5

用户程序特性(UPFs)

What are UPFs (user ProgrammableFeatures)?

&How to use UPFs(user ProgrammableFeatures)?6

What are UPFs?UPFs是ANSYS 的功能允许用户使用自己编写的FORTRAN 程序。 UPFs允许用户根据需要定制ANSYS 程序,如用户定义的材料性质,用 户单元类型,用户定义的失效准则等。用

户还可以编写自己的优化设计算法 将 整 个 ANSYS 程 序 作 为 子 过 程 来 调 用 。 在 与 ANSYS 版 本 要 求 匹 配 的 FORTRAN或C 编译器上重新编译和连接,生成用户版本的ANSYS程序。用 户可以开发下列方面的功能程序:

★开发用户子程序实现从ANSYS数据库中提取数据或将数据写入ANSYS 数据库。该种子程序可以编译连接到ANSYS中,此时ANSYS提供了10 个数据库操作命令;如果作为外部命令处理,可以在ANSYS的任何模 块中运行;★利用ANSYS提供的子程序定义各种类型的载荷,其中包括BF或BFE载 荷、压力载荷、对流载荷、热通量和电荷密度等; ★利用ANSYS提供的子程序定义各种材料特性,包括塑性、蠕变、膨胀、 粘塑性、超弹、层单元失效准则等;7

What are UPFs?★利用ANSYS提供的子程序定义新单元和调整节点方向矩阵;

★利用ANSYS提供的子程序修改或控制ANSYS单元库中的单元;

★利用USEROP创建用户优化程序;

★ANSYS程序作为子程序在用户程序中调用。

8

How to use UPFs ?UPFs可以从简单的单元输出功能到很复杂的用户单元或用户优 化算法。因此,不进行特定的程序细节描述是很难完成这些子程序 功能的。Programmer's Manual for ANSYS中有详细的解释。

典型的UPFs包括以下步骤:(1) 确定你需要的功能ANSYS程序不能完成且UPFs可以实现;For example,对于的创建用户单元,每个节点的自由度不能大于 32个,每个单元的节点不能超过44个节点。

(2) 在 FORTRAN 中编制用户子程序;在ANSYS 中所有的用户子程序源代码都是公开的。大部分完成至 少一个简单的功能,因此在编制程序前应列出一份完整的可用程 序表。9

How to use UPFs ?(3) 编译并将用户程序连接到ANSYS程序中,生成新版本的ANSYS;在此步骤中要消除用户子程序中出现的错误。

(4) 对生成的新版本ANSYS进行调试,验证是否满足需要的功能;这是二次开发中关键部分,要建立与子程序的沟通(程序中的数据输出), 来实现用户的需要功能。

(5) 验证新版本是否影响其他标准功能的使用;可以通过做几个ANSYS Verification Manual中的例题来验证。在ANSYS 中也有输入这些问题的方法。

(6) 应用新版本ANSYS。10

演示算例 (创建三维八结点实体单元)

八结点实体单元

创建八结点实体单元 USER300( 用户单元必须用此名称 ) ,此单元 在ansys中可以找到,但为了了解UPFs的过程以及验证其正确性,用 自己创建的 USER300 单元和 solid45 单元分别建立悬臂梁有限元模型, 加载计算后,所得结果若完全一致,则说明用户单元USER300是正确 的。11

Ⅲ.演示算例 (三维实体悬臂梁)23

Z24

(5)(4)

== 悬臂梁 == 长: 7.5m 宽与高: 1.5m == 有限元模型

:三维实体元 == 1.5m的立方体 共 5个 == 约束: == 悬臂梁一个端面的4个节点全约束 ==载荷: == 悬臂梁另一端上部两点X方向加载 F,23,FX,-500000N. F,24,FX,-500000N.

(3)

(2)

X(1) 3 4 1

2

Y

==结果 : == 单元质量阵、刚度阵 节点位移响应 12

编制用户子程序★备份C:\Program Files\ANSYS Inc\v110\ANSYS\custom\user\intel 目录下的所有文件。 ★删除C:\Program Files\ANSYS Inc\v110\ANSYS\custom\user\intel 目录下除了ANSYS.F外的其他的.F程序 ★编辑修改UserElem.F用户子程序,并重新拷贝到上述C:\Program Files\ANSYS Inc\v110\ANSYS\custom\user\intel目录下

参数含义请参 考《ansys 11.0 用户子程序手 册》P115

13

编制用户子程序UserElem.F用户子程序在没有修改之前,包含了一个 2 维平面应 变单元和一个3维实体单元。 c *** CODE EXAMPLE *** c c --- The element code is only to show how to use the routine to create user c elements. Two element types are coded. Only the stiffness matrix, mass c matrix and internal load vector are shown. c c When KeyOpt(1) = 0, it is a structural 2D plane strain element c with 4 nodes and 4 integration points c When KeyOpt(1) = 1, it is a structural 3D solid elements c with 20 nodes and 8 integration points c No advanced element technology is employed, c and they are only coded for geometric linear analysis.

14

编制用户子程序 注意(1) 在用户子程序中用到的所有变量都要进行定义,例如:循环 变量I,J,K等。

(2) 一定要检查节点顺序。(只是针对创建单元)

15

    精彩图片

    热门精选

    大家正在看

    × 游客快捷下载通道(下载后可以自由复制和排版)

    限时特价:7 元/份 原价:20元

    支付方式:

    开通VIP包月会员 特价:29元/月

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