ANSYS二次开发
- 格式:doc
- 大小:72.00 KB
- 文档页数:9
*** 用户可编程特性 (UPFs) ***ANSYS程序的开放结构允许用户连接自己的FORTRAN程序和子过程。
实际上,现在用户看到的许多ANSYS“标准”用法都是由以前用户过程引进的。
1.1 什么是UPFs?用户可编程特性是ANSYS的功能允许用户使用自己的FORTRAN程序。
UPFs适用于ANSYS/Multiphysics, ANSYS/Mechanical, ANSYS/Structural, ANSYS/PrepPost和ANSYS/University(研究版和大学版)产品系列。
UPFs允许用户根据需要定制ANSYS程序,如用户定义的材料性质,用户单元类型,用户定义的失效准则等。
用户还可以编写自己的优化设计算法将整个ANSYS程序作为子过程来调用。
注意:用户使用UPFs必须十分小心仔细。
通过连接自己的FORTRAN程序,用户生成了一个针对用户特定计算机的ANSYS程序版本。
在并行系统中使用ANSYS时不允许使用用户可编程特性。
另外,UPFs是一种非标准的使用方法,ANSYS公司质量保证的测试程序没有包括这部分内容。
用户必须负责保证用户子程序结果正确并不影响别的标准功能的运行。
1.2 如何使用UPFs?UPFs可以从简单的单元输出功能到很复杂的用户单元或用户优化算法。
因此,不进行特定的程序细节描述是很难完成这些子程序功能的。
在Programmer's Manual for ANSYS中有详细的解释。
一个典型的UPF包括下列步骤:1). 在FORTRAN77中编制用户程序。
在ANSYS中所有的用户程序源代码都是公开的。
大部分完成至少一个简单的功能,因此在编制程序前应列出一份完整的可用程序表。
2). 编译并将用户程序连接到ANSYS程序中,生成新版本的ANSYS。
3). 用户可能要验证自己做的改动是否影响其他ANSYS标准功能的使用。
可以通过做几个ANSYS Verification Manual中的例题来验证。
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二次开发思路一、基于VC++和ANSYS组合的开发:1.整体思路:利用VC++ 6.0设计界面,设计人员在界面上输入相应的参数。
设置提前已经建好的命令流文件中的对应参数。
将命令流文件提交给ANSYS软件进行批处理操作,分析计算后生成各种结果。
通过点击界面的按钮来查看输出的图形等结果。
2.设计中的关键点:2.1 修改命令流相应的参数:ANSYS软件自带一种批处理语言APDL语言,APDL命令流文件中包含了设置参数的命令,因此可以将修改的参数输入到命令流文件中。
2.2 调用ANSYS软件进行分析:通过VC++ 6.0自带的调用其他应用程序的函数,启动ANSYS运行命令流文件。
2.3 结果的显示:如何实现图形结果的显示是设计的一个关键和难点,在这个软件设计中,通过对后处理部分的封装,实现了用户点击界面的按钮就可以在对话框中显示结果的功能。
二、基于VC++和ANSYS相对分离的开发:1.整体思路:用VC++设计一个文本框,可以输入需要修改的参数,修改之后点击按钮,就可以在ANSYS的工作目录下生成与输入参数相关的建模分析和显示相关的命令流清单的宏文件。
然后当再点击结束按钮时,自动退出上面的界面。
进入ANSYS7.0的主界面,这时在ANSYS7.0的toolbar栏中应包括可以调用相应宏的按钮,当点击相关的按钮后,就可以达到自动调用前面生成的宏,自动完成建模加载分析,自动显示的目的。
2.特点:这种思路由于利用了VC++和ANSYS相对独立的开发,比第一种思路完成起来简单。
三、利用ANSYS的二次开发技术直接在ANSYS软件上进行开发:1.整体思路:ANSYS为用户进行程序界面设计提供了一种专用语言即UIDL。
UIDL是一种程序化的语言,它允许用户改变ANSYS的图形用户界面(GUI)中的一些组项。
UIDL提供了一种允许用户灵活使用、按个人喜好来组织设计ANSYS图形用户界面的强有力工具。
在修改参数方面ANSYS提供参数设计语言APDL,以更方便的方式进行程序编辑。
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二次开发手册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结识UIDLUIDL是什么?Ansys二次开放语言的一种。
OK,那么它能带给我们什么?很多很多,如果你想让你在Ansys中制作的用户界面具有专业水准的话,请来结识一下我们的UIDL把。
●全称:UIDL的全名是User Interface Design Language,是Ansys中二次开发工具方面的三大金刚之一。
GUI方面几乎全部的二次开发功能都将由它运筹帷幄。
●功用:⏹组织我们自己强大的菜单系统。
想象一下我们在Ansys中也能轻松做出可以和VC,VB之类主流GUI开发工具媲美的菜单响应效果,Ansys的世界将是多么的亲切、友好。
⏹构建功能繁复的对话框。
Ansys中美观易用的ContactWizard对话框级联界面一定让你印象很深把,有了它,即使是最菜鸟的门外汉也能构建一流的工程算例,Ansys5.7中的DesignSpace应该就是无可争辩的例证之一。
ANSYS2次开发-实例-chm问:⼆次开发的例题_chmUPFE. 使⽤ANSYS列表命令列出ANSYS某⼀结果⽂件的内容;编译并连接ANSYS⼆进制⽂件读写程序BINTST.F,读写⼆进制⽂件并与列表⽅式相⽐较。
1. 建⽴⼀个⾃⼰所熟悉的有限元模型,单元数3~5即可,加载、设置边界条件并求解6. 使⽤ANSYS列表命令Utility Menu->File->List->Binary File7. 在弹出的对话框中[DUMP] Records to be list中选ALL Records[FORM] Amt of output per record中选Entire Records[FILEAUX2] binary file to list中选择要显⽰的.rst⽂件按OK键确认后,可以得到.rst⽂件的列表窗⼝使⽤列表窗⼝的菜单保存列表窗⼝中的输出结果到⽂件list.txtFile->Save As8. 拷贝以下⽂件到⼯作⽬录D:\user>copy c:\ansys55\custom\misc\intel\bintst.f D:\user>copyc:\ansys55\custom\misc\intel\bintrd.f D:\user>copyc:\ansys55\custom\misc\intel\bintwr.f D:\user>copyc:\ansys55\custom\misc\intel\Custom.bat D:\user>copyc:\ansys55\custom\misc\intel\Makefile D:\user>copyc:\ansys55\custom\misc\intel\binlib.a9. 运⾏Custom.bat,编译并连接D:\user>custom在⼯作⽬录中可⽣成⼀个运⾏程序bintst.exe10. 运⾏bintst.exeD:\user>bintst > out.txt将bintst的运⾏结果转存到⽂件out.txt中⽐较out.txt 与list.txt⽂件中的结果,并参考⼿册Guide to interfacing to ANSYS中Format of Binary Data Files的Format of the Results File分析⽂件结构。
ANSYS二次开发与应用简介目录1 ANSYS经典界面的二次开发简介 (2)1.1 利用ANSYS参数化设计语言(APDL)进行开发 (2)1.2 利用ANSYS用户界面设计语言(UIDL)进行开发 (3)1.3 利用ANSYS提供的接口软件与ANSYS进行实时交流 (3)1.4 ANSYS的用户可编程特征(UPFs) (3)2 ANSYS新一代协同仿真平台WORKBENCH二次开发简介 (4)3 ANSYS二次开发的典型案例 (5)4 一个ANSYS二次开发方案详细介绍(国内) (7)4.1 CCSS的构成 (7)4.2 ANSYS for CCSS与规范设计模块的关系 (7)4.3 ANSYS for CCSS的开发方案: (8)4.3.1 FEA模块将包含如下功能: (8)4.3.2 评估模块 (9)4.3.3 部件方法: (10)5 一个ANSYS二次开发成果详细介绍(国外) (11)5.1 前 言 (11)5.2 ANSYS体系结构的优势 (11)5.3 BladePro程序概览 (12)5.4 BladePro分析功能概述 (15)5.5 涡轮机械专用的后处理工具 (15)5.6 某算例的分析结果 (16)5.7 总结 (17)1ANSYS经典界面的二次开发简介1.1利用ANSYS参数化设计语言(APDL)进行开发ANSYS参数化设计语言是一种类似于FORTRAN语言的解释执行语言,它主要由两部分构成,其一为ANSYS的命令、内部函数,可以执行ANSYS的所有操作;其二为FORTRAN语言的几乎所有语法和函数,如DO循环、IF-THEN-ELSE结构、SIN和COS等所有三角函数、带参数子程序、“=”赋值语句、SQRT平方开方等运算、取绝对值、乘方等等。
因此,可以利用这种APDL语言进行各种参数化建模分析工作,当需要对模型做改动时,只需变化几个参数即可。
优点:可以用于参数化设计;与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++的支持。
参数化程序设计语言(APDL)参数化程序设计语言(APDL:ANSYS Parametric Design Language)实质上由类似于FORTRAN77的程序设计语言部分和1000多条ANSYS命令组成。
其中,程序设计语言部分与其它编程语言一样,具有参数、数组表达式、函数、流程控制(循环与分支)、重复执行命令、缩写、宏以及用户程序等。
标准的AN SYS程序运行是由1000多条命令驱动的,这些命令可以写进程序设计语言编写的程序,命令的参数可以赋确定值,也可以通过表达式的结果或参数的方式进行赋值。
从ANSYS命令的功能上讲,它们分别对应ANSYS分析过程中的定义几何模型、划分单元网格、材料定义、添加载荷和边界条件、控制和执行求解和后处理计算结果等指令。
用户可以利用程序设计语言将ANSYS命令组织起来,编写出参数化的用户程序,从而实现有限元分析的全过程,即建立参数化的CAD模型、参数化的网格划分与控制、参数化的材料定义、参数化的载荷和边界条件定义、参数化的分析控制和求解以及参数化的后处理。
宏是具有某种特殊功能的命令组合,实质上是参数化的用户小程序,可以当作ANSY S的命令处理,可以有输入参数或没有输入参数。
缩写是某条命令或宏的替代名称,它与被替代命令或宏存在一一对应的关系,在AN SYS中二者是完全等同的,但缩写更符合用户习惯,更易于记忆,减少敲击键盘的次数。
ANSYS工具条就是一个很好的缩写例子。
用户界面设计语言(UIDL)标准ANSYS交互图形界面可以驱动ANSYS命令,提供命令的各类输入参数接口和控制开关,用户在图形驱动的级别上进行有限元分析,整个过程变得直观轻松。
用户图形界面设计语言(UIDL)就是编写或改造ANSYS图形界面的专用设计语言,主要完成以下三种图形界面的设计:主菜单系统及菜单项对话框和拾取对话框帮助系统通过用户界面设计语言(UIDL),用户可以在扩充ANSYS功能的同时建立起对应的图形驱动界面,如在主菜单的某位置增加菜单项,设计对应的对话框、拾取对话框,实现参数的输入和其它程序运行的控制,同时提供相应的联机帮助,使操作者能方便地获取系统帮助。
第七章 APDL 综合实例7.1 问题说明本章在阐明APDL 技术时本想也采取实例的方式,把APDL 的各个细节都用一个个详细的实例说清楚,无奈APDL 细节内容比较繁复,而且不和UIDL 那样各成体系,APDL 的应用很多情况下都是和UIDL 、UPF 结合在一起应用的,它甚至渗透到基础分析中的各个环节中,可以说也是ANSYS 的脚本基础。
考虑到大家都不会有兴趣来聆听枯燥的数组构建法,宏函数的参元特性等罗嗦的APDL 语法,这里我们打算用一个比较大的综合实例来想大家描述一部分APDL 的功能,从这里你将能看到我们能用APDL 干些什么。
还记得UIDL 实例解析二中的一个例子巴,这里我们有必要重温一下:如图1(a)一所示,一带孔薄板,长4000mm ,宽2000mm ,顶部中心部分1800mm 处承受42MP 的压力,左右两个长圆孔中心分别踞四周1000mm ,长圆孔的具体形式如图1(b)所示,上下分别为半圆,中部用直线衔接。
这里假设长圆长轴与水平方向夹角为α。
为了使得孔边缘应力集中最小,这里拟调整α的大小(α∈[-π/2,π/2]),以便在固定的H 情况下达到长圆孔周围应力集中最小。
在UIDL 实例二的部分我们只是在GUI 界面下实现了它的参数化建模,这部分工作在本章的综合实例中仍然有效,下面我们将一步步完全实现这一问题。
7.2 解题思想本问题是在用户给定H 的情况下求得α角的最优解,使得孔边最大拉应力最小(这是因为材料抗拉性能比较弱)。
这里我们的想法是把α取每一个角度时候得到的孔边最大拉应力都求出,比较一下,得到孔边拉应力最小情况下对应的α取值。
现在的问题是,我们只能够对每一离散的α值求取其孔图1 (b)H r边最大拉应力,让α在[0°~360°]之间连续取值不仅是无法做到的,而且在工程中也没有必要,这里我们拟每隔一定角度计算一下孔边最大拉应力,最终在这些有限的角度中求取出最佳的α值。
因此我们还需要用户自定义求解的精度参数,即我们每隔多少角度来计算一次(决定了结果精确到什么程度)。
比方说我们定义每隔5°计算一次的话,整个优化过程需要进行180/5=36次求解运算。
7.3 构建步骤下面说明一下在构建过程中的一些全局参数:My_H:用户输入的H参数值My_sita:每次计算对应的α参数值My_dsita:每两次计算之间间隔的角度值(用户输入的参数)。
My_N:总共需要分析计算的次数。
My_N=180/My_dsitaMy_sita0:初始α值,这里统一定义为0°。
My_MinS1:最优化位置处的最大拉应力值。
(计算完以后才是)My_Msita:最优化位置处对应的α值。
Mysmin:每次分析计算得到对应特定α角时的孔边最大拉应力。
(一般都是孔边产生应力集中,所以也是整个板料内部的最大拉应力处)_s1数组:对应特定α时求解得到各个节点上的最大拉应力值。
1.首先我们重新构建一比较完善的参数话建模脚本,取名为modaling.mac,该脚本针对固定的My_H和My_sita将构建整个几何模型,加好载荷和约束,具体细节请参看附录。
2.构建脚本mysolve.mac:――――――――――――――――――――――My_sita0=0My_N=180/My_dsita*do,I,0,My_N-1parsav,all,myparfini/clear,startparres,new,myparMy_sita=My_sita0+My_dsita*Imodaling/solusolve/post1ar11=ndinqr(0,14)_s1=*dim,_s1,,ar11*vget,_s1(1),node,1,s,1*vscfun,mysmin,max,_s1(1)*if,I,eq,0,thenMy_MinS1=mysminMy_Msita=My_sita*ELSE*IF,mysmin,lt,My_MinS1,thenMy_MinS1=mysminMy_Msita=My_sita*ENDIF*ENDIFparsav,all,mypar*enddo―――――――――――――――――――――――――下面是几点说明:◆程序整个框架是先根据用户输入的参数定制好一些解题环境,比方说求出需要重复计算的次数My_N,然后用APDL的*do循环结构繁复执行My_N次,每次求得对应角度的孔边最大拉应力值,不断积累出这些对应角度孔边最大拉应力值的最小结果。
完成了My_N次结果后,最优结果My_MinS1和对应的角度My_Msita也就求出来了。
◆不同次分析计算过程前必须对ANSYS环境中的现有模型清零,用到/clear命令,但该命令会使用户参数同时清零,这里用到parsav和parres技术,在每次清零过程前先把当前工作区的参数保存起来,清模型结束后再调入工作区,这样就实现了只清模型、不清参数的效果。
◆解题结束后,我们先用ndinqr(0,14)这一UPF命令求取模型中的节点总数。
然后用*vget命令把所有节点上的最大拉应力都保存到_s1数组中,最后用*vscfun函数得到_s1数组中的最大值。
◆注意每次求解完提取数据时都要重新定义_s1数组的大小(因为每次划分单元后总节点数不同),这时候每次ANSYS都回出现让你确认是否把已经存在的_s1数组结构改变的对话框,这将导致自动化求解中断,这里我们采用的一个技巧是每次重新定义_s1数组前先清掉_s1数组(用_s1=命令行)。
这样救避免了Ansys的询问。
同样解决/clear命令的Ansys询问方法就是写全/clear命令:/clear,start。
注意这里我们是必须要用start参数的,它表面我们在新建模型时读入start55.ans文件,我们必须在工作目录中构建一个我们自己的start55.ans文件,里面添加上PI参数的说明(因为modaling.mac宏文件中将利用这一参数,如果系统环境中没有这一参数的说明,将产生建模错误)。
◆解决完一次运算,保存完数据后记得用parsav函数保存环境参数。
3.完善GUI参数化界面这里我们要比上次UIDL实例二中多增加一个参数My_dsita,为此我们修改UIFUNC2.GRN函数中DoProject函数:―――――――――――――――――――:N Fnc_DoProject:S 0, 0, 0:T Command:A Optimize my Project:D Please Input Custom Information:C )*Set,My_H,150:C )*Set,My_dsita,90:H Hlp_0_ContentsInp_NoApplyCmd_)*Cset,1,2Fld_0Typ_LabPrm_Custom the Geographic InformationFld_2Prm_ Please Input the Dsita for Analysis(1~90)Typ_INTDef_*PAR(My_dsita)Fld_3Prm_ Please Input the H for Analysis(100~200)Typ_INTDef_*PAR(My_H)Cmd_)/GoCmd_)*GET,My_H,CPAR,2Cmd_)*GET,My_dsita,CPAR,1Cmd_)mysolve:E END:!――――――――――――――――――――――――这里可以看到和UIDL篇中的实例相比,多加了参数My_dsita的用户化输入。
最后的命令修改成直接用文件名调用(这是因为我们把文件名后缀改为了.mac,它标志着标准的宏文件)。
最后的对话框显示如下:用户定制好分析精度和H值后,点击OK就开始了完整的分析过程。
4.求解结果最后求解完毕后得到了一些最优化结果:用*status命令可以看到所有参数结果(这里我用每隔5度进行一次分析求解):My_Msita=40°,用该最优化建模图形为:这里由于实常数对应力集中的效应没有影响,我们就不再给出具体计算结果来了。
有效的仅是在同样的载荷条件下不同角度的孔上最大拉应力的情况。
7.4 几点说明APDL中的参数化建模、优化涉及是十分复杂有效的,这里我们只是给出了一个小小的例子,用来举一反三。
套用同样的方法和机制,我们可以完成更加复杂的问题。
这里我们仅仅用到了APDL功能中的一小部分,我们完全可以想象一下UIDL+APDL+UPF能够完成什么样复杂程度的功能—几乎是任何功能!7.5 结束语这里结合APDL,UIDL和UPF讲述了一个比较综合的例子,在以后描述了UPF功能后,大家将更加为UPF功能的强大而神往不已。
附录:modaling.mac:――――――――――――――――――――――――――――――!This is a script which can create the modal with a parameter sita.!Parameter Settingsita=My_sita/180*PIr=0.2H=My_H/1000!Customize the Environmentkeyw,pr_struc,1/prep7et,1,shell63r,1,0.12,0.12,0.12,0.12uimp,1,ex,dens,nuxy,2.1e9,1.2,0.375!Modeling!Create platek,1,0,0k,2,2,0k,3,2,2k,4,0,2k,5,0.9,2k,6,1,1l,1,2l,2,3l,3,5l,5,4l,4,1al,1,2,3,4,5!Create hole!Create my coordinatek,7,1+H*cos(sita),1+H*sin(sita)k,10,1+H*cos(sita),1+H*sin(sita),100 k,8,1+r*cos(sita+PI/2),1+r*sin(sita+PI/2) cskp,11,0,6,7,8csys,11!Create Holek,9,H,rl,7,9l,7,6adrag,6,,,,,,7arotat,6,,,,,,7,10,-90arsys,y,2,3,1arsym,x,2,5,1aadd,2,3,4,5,6,7,8,9asba,1,10csys,0arsym,x,2, , , ,0,0nummer,all, , , ,lowaadd,1,2/auto,1gplot!Meshing the planesmrt,6amesh,all!Add DOFDK,2,UX,0, ,,UYDK,14,UX,0,,,UY!Add PressureSFL,4,PRES,42SFL,11,PRES,42―――――――――――――――――――――――――――本人要分析一个小模型,需要不断改变其中某一个结构参数,然后重新建模,加载分析。