有限元软件ANSYS的二次开发及其与VB的连接
有限元软件ANSYS的二次开发及其与VB的连接
第26卷 第4期河北理工学院学报Vol126 No14 2004年11月Journa l of Hebe i I n stitute of Technology Nov.2004文章编号:100722829(2004)020037203有限元软件ANSYS的二次开发及其与VB的连接王 欣1,徐树成2,任吉堂1(11河北理工大学冶金与能源学院,河北唐山063009;21唐山市工业经济促进局,河北唐山063000)关键词:ANSYS;二次开发;参数;VB语言摘 要:介绍了ANSYS的应用范围和一些使用技巧,并说明了如何用内部语言(ANSYS Para2metric Language)对它进行二次开发,以及如何实现ANSYS与VB的连接。
中图分类号:TP15 文献标识码:A0 引言在工程技术领域内,工程师常常运用数学和力学的知识将实际问题抽象成它们应遵循的基本方程(常微分方程或偏微分方程)和相应的边界条件。
对于大多数的工程技术问题,由于物体的几何形状和载荷作用方式很复杂,因此要获得这些问题的解析解十分困难。
目前有两种途径可以解决这种困难:一是引入简化假设,将方程和边界条件简化为能够处理的问题,从而得到它在简化状态下的解;另一种解决途径就是数值解法,如有限差分法,边界法,有限元法和离散元法等。
有限元法FE M(Finite Ele mentMethod)是目前工程技术领域中实用性最强,应用最为广泛的数值分析方法。
它的基本思想是将问题的求解域划分为一系列单元,单元之间靠节点连接,单元内部点的待求物理量可由单元节点物理量通过选定的函数关系插值求得。
由于单元形状简单,易于由平衡关系或能量关系建立节点量之间的方程式,然后将各个单元方程“装配”在一起而形成总体代数方程组,加入边界条件后即可对方程组求解[1]。
1 ANSYS软件简介ANSYS公司是由美国著名力学专家、美国匹兹堡大学力学系教授John S wans on博士于1970年创建发展起来的,总部位于美国宾西法尼亚州的匹兹堡,ANSYS软件是该公司的主要产品。
基于VB与ANSYS的二次开发的冲压成形参数化设计
基于VB与ANSYS的二次开发的冲压成形参数化设计
孙佳楠;吕永锋;范建蓓
【期刊名称】《轻工机械》
【年(卷),期】2016(034)002
【摘要】针对基于ANSYS在进行冲压成形分析时界面操作可视化差,难以形成参数化分析的问题,对VB封装ANSYS设计编程的可视化、参数式操作界面进行研究.设计了冲压参数化设计分析流程与主要程序界面;提出VB对ANSYS封装调用以及生成APDL参数化分析语言的基本方法和关键编程语句,并以V形件弯曲成形参数化分析模块为例,介绍了界面程序的使用与功能.该方法能让设计人员快速、高效地对冲压成形工艺进行分析,并根据结果指导相关模具的设计开发,提高设计效率,减低ANSYS使用难度.该研究已投入企业实际应用,取得了良好效果.
【总页数】4页(P77-80)
【作者】孙佳楠;吕永锋;范建蓓
【作者单位】浙江机电职业技术学院机械工程学院,浙江杭州310053;浙江机电职业技术学院机械工程学院,浙江杭州310053;浙江机电职业技术学院机械工程学院,浙江杭州310053
【正文语种】中文
【中图分类】TG386.3
【相关文献】
1.基于ANSYS参数化设计语言门式刚架分析程序的二次开发 [J], 徐其功;孙业华
2.基于ANSYS二次开发的自卸车货厢参数化设计 [J], 杜媛媛;马力
3.基于VB的ANSYS二次开发在液压缸参数化设计中的应用 [J], 黄洲;李龙华
4.基于Ansys Workbench二次开发的门座起重机参数化设计 [J], 张鹏; 肖汉斌; 祝锋; 刘敏
5.基于Pro/E二次开发的冲压模具参数化设计系统 [J], 纪莲清;谢欢
因版权原因,仅展示原文概要,查看原文内容请购买。
基于ANSYS的VB计算程序开发
基于ANSYS的VB计算程序开发汪亮彬1,王强2(1.杭州西奥电梯有限公司, 浙江 杭州311106)(2.中航黎明锦西化工机械(集团)有限责任公司, 辽宁 葫芦岛 125001)[摘 要] 利用Visual Basic语言进行ANSYS软件的二次开发,实现了压力容器椭圆形封头中心开孔和非中心开孔的自动有限元分析计算,大大提高了分析设计人员的工作效率。
[关键词] Visual Basic语言;二次开发;椭圆形封头开孔;压力容器;有限元分析作者简介:汪亮彬(1983—),男,安徽绩溪人,硕士,工程师,主要研究方向:压力容器应力分析。
图1 中心开孔程序界面图2 带管口载荷的中心开孔程序界面1 引言Visual Basic 适用性较强[1],能够与很多软件进行对接,通过VB 设计可视化人机交互界面结合相关计算软件能够实现某些计算的重复进行,相比修改计算源程序而言,工作量减少很多,对工程设计人员提供了诸多方便。
某一类相同的结构,当结构尺寸不同、载荷大小不同时,只需在设计的程序界面中稍作参数修改就可再次计算。
本次采用VB 程序语言,结合大型通用有限元计算软件ANSYS ,开发压力容器椭圆封头开孔的计算程序[2]。
椭圆封头开孔分为中心开孔和非中心开孔两种形式,不带管口载荷的中心开孔可以采用轴对称单元模型,最终实现的界面如图1所示;带管口载荷的中心开孔和非中心开孔采用三维实体单元模型,最终实现的界面如图2和图3所示。
2 主要功能如上述程序界面所示,只需输入单元数据、结构数据、设计参数数据、管口载荷数据等,点击“建立模型”按钮,程序后台自动将界面的数据转化为有限元分析软件可以读取的apdl 命令流语言[3],再单击“ansys 分析”按钮,程序会自动打开电脑中已安装的ANSYS 软件程序,并在工具栏中出现新增的按钮,选择最后一个“PSAS ”按钮单击,如图4所示。
软件会自动进行建模—分网—加载—计算,等计算完成后,可以关闭ANSYS软件,再打开程序的“后处理”按钮,就可进行后处理部分的操作,例如显示应力云图、位移云图等,如图5所示。
ANSYS程序的二次开发
ANSYS程序的二次开发标准ANSYS程序是一个功能强大、通用性好的有限元分析程序,同时它还具有良好的开放性,用户可以根据自身的需要在标准ANSYS版本上进行功能扩充和系统集成,生成具有行业分析特点和符合用户需要的用户版本的ANSYS程序。
开发功能包括四个组成部分:参数化程序设计语言(APDL)用户界面设计语言(UIDL)用户程序特性(UPFs)ANSYS数据接口参数化程序设计语言(APDL)参数化程序设计语言实质上由类似于FORTRAN77的程序设计语言部分和1000多条ANSYS命令组成。
其中,程序设计语言部分与其它编程语言一样,具有参数、数组表达式、函数、流程控制(循环与分支)、重复执行命令、缩写、宏以及用户程序等。
标准的ANSYS 程序运行是由1000多条命令驱动的,这些命令可以写进程序设计语言编写的程序,命令的参数可以赋确定值,也可以通过表达式的结果或参数的方式进行赋值。
从ANSYS命令的功能上讲,它们分别对应ANSYS分析过程中的定义几何模型、划分单元网格、材料定义、添加载荷和边界条件、控制和执行求解和后处理计算结果等指令。
用户可以利用程序设计语言将ANSYS命令组织起来,编写出参数化的用户程序,从而实现有限元分析的全过程,即建立参数化的CAD模型、参数化的网格划分与控制、参数化的材料定义、参数化的载荷和边界条件定义、参数化的分析控制和求解以及参数化的后处理。
宏是具有某种特殊功能的命令组合,实质上是参数化的用户小程序,可以当作ANSYS 的命令处理,可以有输入参数或没有输入参数。
缩写是某条命令或宏的替代名称,它与被替代命令或宏存在一一对应的关系,在ANSYS 中二者是完全等同的,但缩写更符合用户习惯,更易于记忆,减少敲击键盘的次数。
ANSYS 工具条就是一个很好的缩写例子。
用户界面设计语言(UIDL)标准ANSYS交互图形界面可以驱动ANSYS命令,提供命令的各类输入参数接口和控制开关,用户在图形驱动的级别上进行有限元分析,整个过程变得直观轻松。
基于VB的W型辐射管参数化建模与仿真的ANSYS二次开发
科 技 纵 横农业开发与装备 2014年第2期摘要:详细介绍了visual basic语言制作可视化界面的过程。
通过VB借助APDL语言将ANSYS进行后台封装,实现了W型辐射管的材料选取、参数化建模、网格划分、加载以及求解的过程。
文中对实现该过程的关键技术进行了详细的介绍,包括接口、结果提取、计算完成与否的判断以及窗体调用。
为辐射管的研究以及快速设计提供了有实用价值的方法。
关键词:VB+ANSYS;W型辐射管;参数化建模;有限元计算0 引言当被加热工件需要与燃烧环境隔离时,通常采用辐射管作为加热装置[1]。
W型辐射管的工作原理是燃料在密封的辐射套管内燃烧,辐射管表面施加热后主要以热辐射的形式把热量传递给被加热工件,由于燃烧产物不与工件接触,所以不会造成燃烧气氛对工件的氧化或烧损[2]。
辐射管在850℃——1080℃的高温恶劣环境下长期连续工作,在交变热应力和自重的共同作用下,易发生弯曲疲劳损坏及蠕变变形破坏,造成辐射管失效。
辐射管由于应力破坏而导致的失效仍然是工业中一个备受关注的问题[3]。
因此必须合理地设计辐射管的结构和改善管体的材质,优化辐射管管内燃烧状态等。
本文所述的W型辐射管采用ANSYS进行仿真力学行为仿真研究,这就意味着辐射管结构每发生一次变化,整个模型就要重新建立一次,大大降低了辐射管的开发研究效率。
为了减少了不必要的麻烦,避免复杂的英文界面和繁琐的分析步骤对使用者的专业水平和分析经验提出比较高的要求,笔者利用VB与ANSYS的连接功能,将实际工程问题:W型辐射管的材料选取,参数化建模、加载求解以及结果显示的软件操作过程封装起来,建立了辐射管的快速设计和性能仿真分析软件平台。
软件界面操作简单,直观,大大提高了设计辐射管的水平和效率。
1 关键技术1 1 VB与ANSYS的接口问题若实现VB与ANSYS的连接,需要用到VB的shell函数,该函数用于执行某个可执行文件,包括*.exe文件、*.com文件以及*.bat文件[4]。
基于VB的ANSYS二次开发及在连杆静力分析中的应用
基于VB的ANSYS二次开发及在连杆静力分析中的应用摘要:本文以通用有限元分析软件an sys 10.0 环境为基础,介绍an sys二次开发技术,以及三种开发工具。
最后,以vb和apdl 为手段,建立了一个柴油机连杆实例参数化分析系统。
此系统具有友好、方便、易用的人机交互界面,对复杂、难于理解和掌握的ansys 命令流进行了后台封装,避免了大量的重复性分析工作,提高了分析效率。
abstract: the paper details the technology of secondary development and three kinds of secondary developing tools of ansys on the basis of finite element analysis software—an sys10.0. lastly, a model unit analysis system of an automobile connecting road was developed based on visual basic 6.0 and apdl. the analysis system has friendly convenient and flexible man-machine conversation interface,while the complicated ansys command stream is encapsulated in background.it avoids large amount of repeated analysis work and improves the efficiency.关键词: ansys;二次开发;静力学分析;连杆key words: ansys;secondary development;static analysis;rod中图分类号:tp391 文献标识码:a 文章编号:1006-4311(2013)23-0207-040 引言计算技术的飞速发展,带来了结构分析优化技术的突破,国外相继出现了一些像ansys、marc等通用大型的有限元分析软件,这些软件不仅具有良好的界面、方便的前后处理及强大的计算分析功能,还具有开放的二次开发功能。
基于VB的ANSYS二次开发与应用
Widw 平台 , no s 结合一个岩土沉 降的分 析过程来说 明V B接 口的A S S 用方法 。用 V NY调 B生成 A D ( N Y aa er ei a — P LA S SP rm tcD s nL n i g
关 键 词 : A YS 二 次 开 发 VB; NS ;
中图 分 类 号 : P 1 文 献标 识码 : 文章 编 号 :09 3 4 (0 21— 6 4 0 T 31 A 10 — 0 42 1 )9 4 1— 4
Ap l i g VB eS c n v l p e to pyn t t e o d De eo m n f o h ANS YS
g ae, ug1让用户在界面平台上直接调用 A S S N Y 进行前后处理 。
1参数 文 件的 生成
在A SS N Y 进行计算分析时 , 通常可 以采用两种方式进行 : ) U 操作或输入命令 流 ;) 1G I 2 命令的批处理 。对于一个 比较复杂的问 题进行分析 , 仅仅采用 G I U 操作或输入命 令流操作难于对错误进行修改 , 分析也仅限精通 A S S N Y 的操作人员 。可 以先用 V B语言生 成命令流文件 , 再进行批处理 , 这样对 于一个 问题 的分析就可 以先在编制 V 程序 时及时修改调试 。本算例岩土的沉降计算模型为 B 五层 , 每层设定不 同的材料相同的宽度 , 当下层 的矿藏采空以后 , 计算 岩体 的移动和变形等情 况。 通过 主菜单进入前处理操 作 , 弹出图 1 将 或图 2 的输入窗 口。工程计算人员 可根 据需要添加其 他的前处理参数 输入 , 直接在 V B的输入窗 口输入模型 的模 型常数和所选材料 的材料参数 。对 于不懂 V 和 A S S的使用者 只需要 在图形窗 口进行输入操作就 B NY 行了, 操作十分 简便快洁 。 根据 A S S N Y 运行 的基本原理 , 每运行一句 , 就执行一条命令 , 相应 的便生成一段 1 文件 .g o 进行批 处理的时 , 同样 的对生成 的命令 文件 逐条 执行 。因此就可 以用 V B生成逐条 的命令 , 用主命令程序嵌套 V 采 B生成逐 条 命令供 A S S N Y 计算调用 。通过下面的输入窗 口给计算模型赋参数值。
基于VB的ANSYS二次开发及其在管道外自然对流换热系数确定中的应用
2 0l 7 年3 月
软 件 导 刊
S of t wa r e Gu i d e
VO 1 .1 6 NO .3 M a r .2 01 7
基 于 VB 的 AN S Y S 二 次 开 发 及 其 在 管 道 外 自然 对 流 换 热 系 数 确 定 中 的 应 用
输油管道相关参数 , 分 析管道 温度 场分 布 , 数 , 最 后 返 回误 差 小 于 O . O 5 的 自然 对 流 换 热 系数 值 。
图 1 分析 流 程
作者简介 l 曹萌 ( 1 9 9 1 一) , 男, 山 东菏 泽 人 , 上海理工 大学机械 工程 学院硕 士研 究生 , 研 究方 向为 计算机辅 助设 计 ; 仲 梁 维( 1 9 6 2 一) , 男, 上海人 , 硕士 , 上 海理 工 大 学 机械 工 程 学 院教 授 、 硕士生导师 , 研 究 方 向 为 计 算 机 辅 助 智 能设 计 制 造 ; 陈粤 ( 1 9 9 2 一) , 男, 湖 南 祁 东人 , 上 海 理 工 大 学机 械 工程 学 院 硕 士 研 究 生 , 研 究 方 向为 计 算 机 辅 助 设 计 。
数 据 分 析 的查 看 。具 体 分 析 流 程 如 图 1所 示 。
换 热 系数 迭 代 的 繁琐 性 问 题 , 本 文 采 用 较 为 广 泛 的 VB语
言, 融 合 ANS Ys强 大 的有 限 元 分 析 , 开 发 VB 可 视 化 界
面 ] 。首 先 假 设 初 始 自然 对 流 换 热 系 数 , 然 后 通 过 输 入
方 法 。利 用 VB语 言 开 发 可视 化 界 面 , 完成 对 管道 温度 场 分 布 及 管 道 外 自然 对 流换 热 系数 的 确 定 , 降 低 ANS YS软 件
基于VB的ANSYS二次开发及在连杆静力分析中的应用
b a s e d o n Vi s u a l Ba s i c 6 . 0 a n d AP DL . T h e a n a l y s i s s y s t e m h a s f r i e n d l y c o n v e n i e n t a n d l f e x i b l e ma n — ma c h i n e c o n v e r s a t i o n i n t e r f a c e, wh i l e t h e c o mp l i c a t e d A NS YS c o mma n d s t r e a m i s e n c a p s u l a t e d i n b a c k g r o u n d . I t a v o i d s l a r g e a mo u n t o f r e p e a t e d na a ly s i s w o r k a n d i mp r o v e s t h e
b a s i s o f f i n i t e e l e me n t a n a l y s i s s o f t wa r e - AN S YS1 0 . 0 . L a s t l y , a mo d e /u n i t a n a l y s i s s y s t e m o f n a a u t o mo b i l e c o n n e c t i n g r o a d wa s d e v e l o p e d
A N S Y S软 件 是 融 电、 磁、 热、 结构 、 声学 、 流 体 于 一 体 型 的脚 本 语言 [ z 3 。A P D L通过 建 立智 能 化 分析 的 手段 , 为用
Ab s t r a c t : T h e p a p e r d e t a i l s t h e t e c h n o l o g y o f s e c o n d a r y d e v e l o p me n t a n d t h r e e k i n d s o f s e c o n d a r y d e v e l o p i n g t o o l s o f ANS YS o n t h e
基于VB的ANSYS二次开发在液压缸参数化设计中的应用
基于VB的ANSYS二次开发在液压缸参数化设计中的应用黄洲;李龙华【摘要】简述了基于VB的ANSYS二次开发模块在液压缸参数化设计中的作用.介绍了实现此二次开发的流程及相关VB程序,利用VB编制了ANSYS二次开发的交互式界面,并以液压缸缸体为实例调用该二次开发模块进行了有限元分析.此二次开发模块具有界面友好、操作简单、嵌入性良好的特点,弥补了原液压缸参数化系统在零件性能分析上的不足,有利于用户方便、快速地对液压缸零件进行有限元分析,提高了开发效率,降低了用户的工作强度.%This paper presents the ANSYS secondary development based on VB and its application in Parametric design of hydraulic cylinder and introduces the procedure of realizing such secondary development and the related VB program which is used to compile the interface of ANSYS secondary development.Besides,the finite element analysis of cylinder body is made via secondary development module to illustrate the whole process.This secondary development module has the advantages of friendly interface,favorably embed ability and convenient operation.It make up for the shortage of the performance analysis of the original parametric design system and is helpful to the users who analyze the hydraulic cylinder through tinier elmenet method rapidly and conveniently.Therefore,the development efficiency is raised and the working strength of the users is reduced.【期刊名称】《机械制造与自动化》【年(卷),期】2013(042)004【总页数】3页(P139-141)【关键词】ANSYS;二次开发;液压缸;参数化;VB【作者】黄洲;李龙华【作者单位】河海大学机电学院,江苏常州213022;河海大学机电学院,江苏常州213022【正文语种】中文【中图分类】TH120 引言随着机械产品更新速度的加快,为了克服传统设计阶段工作重复、效率低的弊病,市面上涌现了诸多CAD/CAM参数化设计软件,如本文所提的液压缸参数化设计系统。
球罐接管结构有限元分析的ANSYS二次开发
图 1 球罐厚壁接管结构有限元分析界面
4 球罐接管结构有限元分析接口程序
球罐的接管结构主要有厚壁管和人孔凸缘两 种 ,本文分别编制了用于这两种结构形式的有限元 分析接口程序 。 411 结构几何尺寸的输入 41111 厚壁管结构几何尺寸的输入
厚壁管结构的几何尺寸主要包括球壳的内径 、 壁厚 、接管内径 、厚壁段壁厚 、薄壁段壁厚 、厚壁段长 度和薄壁段长度 。其输入界面如图 1 所示 。 41112 人孔凸缘结构几何尺寸的输入
数据库是有组织地 、动态地存储大量数据的集 合 ,是存储数据并负责用户访问数据的机构 。通过 数据库 ,可以实现数据的交互共享 ,同时使数据库具 有较高的数据独立性 ,并可较好地保证数据的安全 性和完整性[2 ] 。
本文采用 Microsoft Acces。Microsoft Access 2000 是 美国微软公司 Office 2000 系列软件的一个重要组成 部分 。它是一个功能完备的关系数据库管理系统 , 使用方便 。 213 Visual Basic
Visual Basic 是在 Basic 语言的基础上发展起来 的 ,具有高级程序设计语言的语句结构 ,接近于自然 语言和人类的逻辑思维方式 ,其语句简单易懂 ,且具 有简单易操作的用户界面设计功能[3] 。Visual Basic 610 支持的数据访问接口有 ADO (ActiveX 数据对 象) 、RDO (远程访问对象) 和 DAO (数据访问对象) , 最新的接口是 ADO 。利用这一技术可以直接建立 或处理 Microsoft Access 格式的数据库 ,并提供了强 大的数据存储和检索功能 。
设 计 计 算
球罐接管结构有限元分析的 ANSYS 二次开发
王永卫1 ,贺小华2 ,尹 侠2 (11 江苏省特种设备安全监督检验研究院 无锡分院 ,江苏 无锡 214174 ;
基于VB的ANSYS二次开发在板翅式换热器封头强度计算中的应用
基于VB的ANSYS二次开发在板翅式换热器封头强度计算中的应用作者:张伟陆龙伟钱寅国来源:《城市建设理论研究》2014年第06期摘要:利用ANSYS软件中自带的二次开发工具APDL语言,结合通用编程工具VB,开发出了板翅式换热器单元封头的应力强度计算程序。
经分析论证,该程序具有较高的使用价值。
关键字:VB;ANSYS;APDL;板翅式换热器The application of secondary development of ANSYS based on VB of strength calculation on plat-in heat exchanger’s headerAbstract: uses APDL language from ANSYS which have secondary development tools, combines with the global programmer’s tool of VB, develops the program of strength calculation on plate-fin heat exchanger unit’s header. After analysis and demonstration, the program has higher use value.Key words: VB; ANSYS; APDL; plate-fin heat exchanger中图分类号:U464文献标识码: A前言板翅式换热器是一种紧凑、高效的换热器,在工业上有广泛的应用,特别是在空分装置里发挥了不可替代的作用。
但作为板翅式换热器的重要承压部件半圆形封头,目前尚缺乏统一的标准和规范进行检验,给换热器的安全检验工作带来了困难,同时,随着换热器设计压力越来越高,封头强度的校核变得更加重要起来,传统的计算是根据GB150中筒体开孔补强的面积补强法计算,但缺点是结构特殊的封头不能计算,而换热器上的封头很多是不规则的,所以往往需要利用ANSYS做局部应力分析。
基于VB的ANSYS二次开发与应用
基于VB的ANSYS二次开发与应用
廖孟柯
【期刊名称】《电脑知识与技术》
【年(卷),期】2012(008)019
【摘要】数值仿真软件ANSYS可以以内嵌函数方式进行二次开发.在工程计算中基于VB平台的开发接口程序进行ANSYS的分析结果后处理,实现软件的二次开发功能应用的应用与推广.可为以VB为平台的ANSYS二次开发人员提供参考.
【总页数】4页(P4614-4617)
【作者】廖孟柯
【作者单位】石河子大学水利建筑工程学院,新疆石河子832003
【正文语种】中文
【中图分类】TP311
【相关文献】
1.基于VB的ANSYS二次开发在日光温室设计中的应用 [J], 李石;郭艳玲;陈国辉
2.基于VB的ANSYS二次开发在液压缸参数化设计中的应用 [J], 黄洲;李龙华
3.基于VB的ANSYS二次开发及在连杆静力分析中的应用 [J], 原海霞
4.基于VB的ANSYS二次开发在变压器抗短路性能分析中的应用 [J], 李冰阳;牛越;郑琦
5.基于VB的ANSYS二次开发及其在管道外自然对流换热系数确定中的应用 [J], 曹萌;仲梁维;陈粤
因版权原因,仅展示原文概要,查看原文内容请购买。
基于VB语言的EXCEL和CST以及AutoCAD与ANSYS等的二次开发
基于VB语言的EXCEL、CST以及HFSS等的二次开发代码1:vb创建xls表,并写入内容Set ExcelApp = CreateObject("Excel.Application") '创建EXCEL对象Set ExcelBook = ExcelApp.Workbooks.AddSet ExcelSheet = ExcelBook.Worksheets(1) '添加工作页ExcelSheet.Activate '激活工作页ExcelApp.DisplayAlerts = False="sheet1"ExcelSheet.Range("A1").Value = 100 '设置A1的值为100ExcelBook.SaveAs "d:\test.xls" '保存工作表msgbox "d:\test.xls创建成功!"ExcelBook.closeset excelApp=nothingset ExcelBook=nothingset 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,ExcelSheetSet ExcelApp = CreateObject("Excel.Application") '创建EXCEL对象Set ExcelBook = ExcelApp.Workbooks.AddSet ExcelSheet = ExcelBook.Worksheets(1) '添加工作页ExcelSheet.Activate '激活工作页ExcelApp.DisplayAlerts = False="sheet1"ExcelSheet.Range("A1").Value = 100 '设置A1的值为100ExcelBook.SaveAs "D:\Study\VBS\Book1.xls" '保存工作表msgbox "d:\Book1.xls创建成功!"ExcelBook.closeset excelApp=nothingset ExcelBook=nothingset ExcelSheet=nothing'ExcelApp.WorkBooks.Close'ExcelApp.QuitSet ExcelApp = CreateObject("Excel.Application")ExcelApp.Visible = True'创建EXCEL对象Set ExcelBook = ExcelApp.Workbooks.open("D:\Study\VBS\Book1.xls")Set ExcelSheet = ExcelBook.Worksheets(1)msgbox ExcelSheet.Range("A1").ValueExcelApp.WorkBooks.CloseExcelApp.Quit若对支持VB脚本的软件进行二次开发,上述描述有借鉴意义。
浅析基于VB的ANSYS二次开发
Lang ag 的缩写1 , u e ] 3 即ANSYS 参 设 语 数化 计
设计者的青睐, 因此得到了 越来越广泛的应 用。也正是因为这些优点, 使利用 V B 对 ANSYS 进行二次开发成为可能。 3.Z A s丫 二次开发在V 的实现阁 N 5 B中 APDL 虽然功能强大, 能够进行简单的界 面设计, 但其交互性差。因此, 有必要利用 VB 对ANSYS 进行二次开发。二次开发后, 用户只需选择参数等,系统就能 自动调用 ANSYS 计算程序, 进行网格划分、加载以及 求解。该系统具有较强的处理实际问题能 力, 即使从未认真学习过ANSYS 软件的工程 设计人员也能很好地进行有限元分析。 对于在 Visual Basic 中调用ANSYS APDL 程序, 可使用如下代码:
x 二 el l( ” : \ P r ogram Files\ An sys sh C In \ v 0\ ANSYS\ bin\ i t \ ansys 0 .exe一 c 9 ne l 9 9 一 in Put _f ile一 out put _file ’, i o 1) 其中 n i Putj i e 为用APDL 语言编写的ANSYS 输 l 入文件旧utPuts file 是输出文件。同时注意在 e VB 调用ANSYS 时, 需要加一条判断语句, 以 确定ANSYS 已经执行完毕。ANSYS 运行 完毕后可以直接由VB 调用ANSYS 工作目 录 下的数据文件, 工程技术人员就可以利用VB 建立的操作界面通过简单的操作得到自己关 心的数据或图形。
4 结语 本文简要介绍了ANSYS二次开发技米以 及其在VB 中的实现, 借助VB 程序使得操作 界面更具面向对象化, 并使不熟悉ANSYS 程 序的一般技术人员能很容易地完成有限元分 析, 为解决通用程序和专业需要之间的矛盾提 供了一种新的方法与途径。
基于VB和ANSYS有限元分析系统的设计与研究
基于VB和ANSYS有限元分析系统的设计与研究介绍了ANSYS二次开发相关知识和技巧,以及如何实现Visual Basic6.0和ANSYS的连接,借助Visual Basic6.0开发友好、方便、易用的人机交互界面,对难以理解和掌握的ANSYS命令流进行后台封装,开发出参数化的有限元分析系统,极大的减小了复杂构件研究和设计的工作量,提高了工程设计的效率。
标签:Visual Basic6.0;ANSYS;有限元分析0 前言有限元法,也叫有限单元法,它的基本思想是将一个结构或者连续体的求解域离散为若干个域(单元),并通过其边界上的节点相互连接成为组合体。
有限元分析是求解偏微分方程的一种数值方法,是一种高效能、常用的计算方法。
随着信息技术在各领域的迅速发展,CAD/CAM/CAE技术已得到了广泛的应用,从根本上改变了传统的设计、生产、组织模式,对推动现有企业的技术改造、带动整个产业结构的变革、发展新兴技术、促进经济增长都具有十分重要的意义。
现在工程技术的发展要求计算能力的不断提高,应用大型的商业通用软件也是提高计算能力的一种途径。
ANSYS是一个功能强大、简单易学,是最通用和高效的通用有限元分析软件之一,拥有全球最大的用户群,它融结构、传热学、流体、电磁、声学和爆破分析于一体,具有强大的前后处理及计算分析能力。
命令流是ANSYS软件的一大特色,功能强大且使用方便,APDL命令流是参数化有限元分析、优化设计的基础,为二次开发提供了可能。
Visual Basic6.0软件是一种面向对象的程序化设计语言,易于开发友好的人机互动界面。
因此本文就将Visual Basic6.0和ANSYS 有机结合起来,开发出针对复杂部件的有限元分析系统,使得普通的设计开发人员,就可以很方便的进行复杂构件的有限元分析,极大的提高了产品开发设计的效率。
1 ANSYS的二次开发ANSYS典型的分析过程一般由前处理,加载求解和后处理三部分组成。
基于VB和ANSYS的船体舱段快速建模的二次开发
基于VB 和ANSYS 的船体舱段快速建模的二次开发周恒,王慧,杨树森,杨高胜,邵鹏程,杨光(武汉船舶设计研究院有限公司,武汉430063)图1软件二次开发流程0引言CAE (Computer Aided Engineering )计算机辅助工程如今在实际工程上有广泛的应用,即对结构进行有限数目的离散化,开展模型的建模和有限元仿真计算,能够有效地帮助工程人员进行相关的设计研究。
ANSYS 作为当前市场主流CAE 软件,能够开展结构、流体、电磁、声场等多个专业的计算,广泛地应用于航空航天、汽车、船舶、机械制造等相关领域,在科研生产中具有较大的优越性[1-3]。
船体结构作为一个复杂的大型水面建筑,涉及到的船型和构件种类较多。
在传统的ANSYS 经典界面采用GUI (图形用户界面Graphical User Interface )建模,会耗费工程人员大量的时间精力。
特别是针对局部结构的修改时,前处理功能显得十分繁琐,重复工作量较多。
ANSYS 自带APDL (ANSYS Parametric Design Language )语言,提高工作效率。
目前已有相关人员对ANSYS 软件在起重机[4]、螺栓[5]、液压[6]等领域进行了二次开发的尝试[7]。
本文主要针对船体舱段结构,利用VB (Visual Basic )开发工具[8-9],对ANSYS mechanical 模块进行二次开发,实现船体结构的快速几何建模、网格划分、材料赋予、构件选择等操作。
使得后期船体结构模型的修改和局部调整变得简单方便,为结构优化设计节省大量时间。
二次开发软件能够针对一系列的船型,进行数据输入,实现通用化建模,即使没有ANSYS 使用基础的人员,通过二次开发软件界面,也能够快速完成有限元模型。
1船体舱段ANSYS 参数化驱动建模的实现过程1.1软件二次开发流程通过收集相关的船型资料,针对300~500t 的运输船、旅游船等进行方案验证,归纳出船舶典型舱段的结构特征,提取相关主要参数,确定建模思路,完成程序控制操作,实现参数驱动化建模。
基于VB的ANSYS二次开发
1引言从20世纪70年代以来,随着计算技术的飞速发展,结构分析有了很大的突破,国外相继出现了许多大型通用有限元分析程序,如ANSYS,MARC和MSC/NAS-TRAN等,这些程序具有良好的界面、方便的前后处理和强大的计算分析功能以及开放的二次开发系统。
ANSYS软件是融热、电、磁、流体、结构、声学于一体的大型通用有限元分析软件。
具有强大的求解器和前、后处理功能,为解决复杂、庞大的工程项目提供了一个强有力的工具。
然而,正是由于ANSYS的通用性特点,使其对不同行业的专业性模块的分析不具有针对性,复杂的英文界面和繁琐的分析步骤都给从事有限元分析的技术人员造成了很大的障碍。
另外,虽然ANSYS有较强大的前、后处理功能,但使用者必须具有较高的相关力学知识和丰富的分析经验,在几何建模简化和力学建模等前处理方面需要花费很多时间和精力。
VisualBasic是在BASIC语言基础上发展起来的,它提供的可视化设计平台把Windows界面设计的复杂性“封装“起来,开发人员不必为界面的设计而编写大量的程序代码,只需按设计的要求,用系统提供的工具在屏幕上画出各种对象即可。
VisualBasic采用面向对象的设计方法,从应用领域内的问题着手,以直观自然的方式描述客观世界的实体。
VB以其快捷方便受到很多程序设计者的青睐,因此得到了越来越广泛的应用。
把VB与AN-SYS结合起来开发,可以有效地提高开发设计的效率和质量,充分体现专业化、用户化、便捷化的特点。
2ANSYS参数化设计语言(APDL)APDL是一种非常类似于FORTRAN的解释性语言,提供一般程序语言的功能,如参数、宏、缩写、标量、向量及矩阵运算、函数、流程控制(循环与分支)、重复执行命令、用户程序以及访问ANSYS有限元数据库等,另外还提供简单界面定制功能,实现参数交互输入、消息机制、界面驱动和运行应用程序等。
利用APDL的程序语言与宏技术组织管理ANSYS的有限元分析命令,就可以实现参数化建模、参数化的网格划分与控制、参数化的材料定义、参数化载荷和边界条件定义、参数化的分析控制和求解以及参数化后处理结果的显示,从而实现参数化有限元分析的全过程,同时这也是ANSYS批处理分析的最高技术。
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中调用ANSYSLOGICAL(4) resultRESULT=SYSTEMQQ('d:\ANSYS57\BIN\INTEL\ANSYS57 -b -pansys_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是不可写的,只有当它运行完毕,此文件才可写。
User Programmable FeaturesUPFs: What Are They?One of ANSYS’ strengths is that its toolbox will handle anything from a textbook plate with hole, all the way up to allowing you to recompile the code with FORTRAN scripts that you develop yourself. The User Programmable Feature (UPF) capability allows users to create their own subroutines and link them into ANSYS.What Are UPFs Used For?There are a variety of common uses for UPFs:• Material models• User-developed elements• User commands• Element orientation•User beam definition• Heat generation•Defining real constants “on the fly”How Hard Is It to Implement a UPF?Implementing a UPF is definitely more work than simply programming the action using APDL. However, if you have existing FORTRAN code you want to include or run externally, or have any of the above-mentioned challenges, then APDL will not suffice.To learn for yourself, you will want to surround your self with resources:• This article!•ANSYS Programmer’s Guide: User Programmable Featureso A must-have!!!!o All the needed subroutines are documented here•The hundreds of documented template scripts found within the installation directory in /custom/user•XANSYS. Submit your questions to the XANSYS community.•PADT. Submit your questions to us.What is the Process?1. Copy a sample routine from the ANSYS directories2. Modify it to do what you want3. Use the ANSYS batch compile script to compile and link4. Locate the new executable for use5. In your model, activate user features by applicable methoda. Define user elementb. Define user material modelc. Turn on user feature in element real constantsd. Define user command with /UCMDe. Setup in USRCAL command6. DebugDo I have to use FORTRAN?•All of these routines are called as FORTRAN and use FORTRAN calls to utility functions.•You could use FORTRAN wrappers to call C routines, but that is usually not worth the effort.•ANSYS provides you with a compile script to help with the process.•Don’t freak out. FORTRAN is very easy to use, and creating UPFs and recompiling ANSYS is actually very easy.You Want to Learn by Example?!?So before opening the ANSYS Programmer’s Guide, you want to take a look at what you’re getting into? Well then, buckle up...UPFs Example1, USER02.F•USER02.F contains code to offset nodes by supplied x,y,z values•Good example of structure of routines•Shows how other routines are calledTypical Header Information. Includes source control data (*deck), copyright information, confidentiality, and pointer to more information. Also function statement.*deck,user02 userANSYS,INCfunction user02 (initin,dpin,ch4in,ch8in)c *** primary function: user routine number 02c This demonstration offsets selected nodes with the command:c usr2,dx,dy,dzc *** ansys (r) copyright(c) 2000c *** ansys, inc.c *** Notice - This file contains ANSYS Confidential informationc /*************************************************************\c | see user01 for additional information on user routines |c\*************************************************************/ <snip>Arguments Section. Describes input and output arguments, what type they are, and what they are used for. Also, additional examples and help are put in this section. Externally passed and local variables are also defined here. Finally, the standard include statements are placed here.<snip>c input arguments:c variable (typ,siz,intent) descriptionc intin (int,ar(12),in) - integers from command linec dpin (dp,ar(12),in) - double precision from cmnd linec ch4in (ch*4,ar(12),in) - upper case 4 characters from cmndc ch8in (ch*8,ar(12),in) - as input 8 characters from cmndc output arguments: nonec user02 (int,sc,out) - result code (should be zero)c (which is ignored for now)c **************************************************************c intin(2), dpin(2), ch4in(2), & ch8in are all representationsc of the contents of the second field on the command linec (the field after the command label)c **************************************************************external wrinqr,ndinqr,ndgxyz,ndpxyz,erhandlerinteger wrinqr,ndinqr,ndgxyzinteger usr02,intin(12),iott,maxnp,i,kseldouble precision dpin(12),xyz(3)character*4 ch4in(12)character*8 ch8in(12)#include "ansysdef.inc"<snip>Calculations. Use ndinqr() to get max node number. This code snippet loops on all possible node numbers, checks to see if the node is selected, and gets its x, y, and z values. Then it does the offset and updates the x,y,z position with ndpxyz().<snip>maxnp = ndinqr (0,DB_MAXDEFINED)do i = 1,maxnpksel = ndgxyz (i,xyz(i))if (ksel .eq. 1) thenxyz(1) = xyz(1) + dpin(2)xyz(2) = xyz(2) + dpin(3)xyz(3) = xyz(3) + dpin(4)call ndpxyz (i,xyz(i))endifenddo<snip>Clean Up and Exit. This code snippet is used to figure out the standard ouput unit, and then write a message to it. It will also write a message to a GUI pop-up box. It will then set the return value and leave.<snip>c ***** write to output file *****iott = wrinqr(WR_OUTPUT)write (iott,2000)2000 format (/' NODE OFFSET COMPLETE '/)c ***** write to GUI window *****call erhandler ('user02',3000,x 2,'NODE OFFSET COMPLETE',0.0d0,' ')c ***** required return value *****user02 = 0returnend<snip>UPFs: Example 2, USERCR.FCreep strain due to constant applied stress:subroutine usercr (elem,intpt,mat,ncomp,kfirst,kfsteq,e,posn,d, x proptb,timval,timinc,tem,dtem,toffst,fluen,dfluen,epel, x epcrp,statev,usvr,delcr)c#include "impcom.inc"external erhandlercc user-defined fortran parametersc --- size of usvr datainteger nuval,nintpparameter (nuval=1,nintp=1)cc external subroutines and functionsexternal egendouble precision egenexternal vapb1,vamb1,vmultcc integer variablesinteger elem,intpt,mat,ncomp,kfirst,kfsteqcc double precision variablesdouble precisionx e,posn,d(ncomp,ncomp),proptb(72),timval,timinc,tem,dtem, x toffst,fluen,dfluen,epel(ncomp),epcrp(ncomp),x statev(ncomp*5+2),usvr(nuval,nintp),delcr,temabs,con,x del(6),epet,sigen,eptot,ept(6),c -PADT--- PADT added variablesx qovrk,c1,alpha,dbln,crprt,vrbflg,x aaaa,bbbb,cccc,dddd<snip>cc --- initial checksc --- author should remove the warning below when making changes if (intpt.eq.1 .and. kfirst.eq.1)cx call erhandler('usercr',5000,2,x 'ANSYS,INC.-supplied version of coding for USERCRx has been used.'x ,0.0d0,' ')cif (nuval*nintp.gt.840)x call erhandler('usercr',5010,4,x 'Maximum storage allowed by USVR has been exceeded.'x ,0.0d0,' ')cc --- initialize creep strain increment in case on creepdelcr = 0.0d0c --- no creep if time is not movingif (timinc .le. 0.0d0 .and timval .le. 0.0d0) fo to 999c --- no creep if temperature is not definedtemabs = tem + toffstif (temabs .le. 0.0d0) thenccall erhandler('usercr',5020,3,x 'Temperature= %G must be greater than zero for creep.'x ,temabs,' '_cgo to 999endif<snip>cc ***** define the equivalent strain and stress *****c --- define the equivalent strain using the function egenepet = egen (nocomp,epel(1),posn)c --- no cree if the strain is zeroif (epet .eq. 0.0d0) go to 999c --- define the stresssigen = e*epetcc ***** define the creep strain rate *****c ***** normal beginning of user changescc -PADT--- Put table values in constants for claritycc1 = proptb(1)alpha = proptb(2)dbin = proptb(3)vrbflg = proptb(5)cc -PADT--- If table item 4 (Q/k) is 0, set default of 8110if (proptb(4) .eq. 0) thenqovrk = 8110elseqovrk = proptb(4)endif<snip><snip>cc --- define the creep strain ratecrprt = c1*(sinh(alpha*sigen)**dbln)*dexp(-1*qovrk/temabs)c ***** end of sample creep lawc ***** normal end of user changescc ***** compute creep strain increments for each component ***** cc --- define the creep strain increment from the ratedelcr = crprt*timinccc --- use prandtl-reuss relations to compute increments for each if (ncomp .eq. 1) thendel(1) = delcr*epel(1)/epetelsecon = delcr/epetcon = con/(2.0d0*(1.0d0+posn))call vmult (epel(4),del(4),ncomp-3,3.0d0*con)del(1) = con*(2.0d0*epel(1) - epel(2) - epel(3))del(2) = con*(2.0d0*epel(2) - epel(3) - epel(1))del(3) = con*(2.0d0*epel(3) - epel(1) - epel(2))endifcc --- update the strainscall vapb1 (epcrp(1),del(1),ncomp)call vamb1 (epel(1),del(1),ncomp)<snip><snip>c -PADT--- Do Verbose I/O, if vrbflg eq 1if (intpt.eq.1 .and. vrbflg .eq. 1) theniott=6write (iott,*) 'element number = ',elem,' gauss point 1' write (iott,1) 'time=',timval,' stress=',sigen,' temp=',tem write (iott,2) 'delcr=',delcr,' del=',del(1)endifc -PADT--- Do Summary I/O, if vrbflr eq 2if (intpt.eq.1 .and. vrbflg .eq. 2) theniott = 34if (elem .eq. 1) thenepet = egen (ncomp,epel(1),posn)write (iott,3) elem,timval,sigen,temabs,crprt,delcr,epet endifendifc999 return1 format(2x,3(a,d15.8))2 format(2x,2(a,d15.8))3 format(2x,i6,6(',',g16.9))endANSYS Input File for USERCR!ANSYS Input File for USERCR! The ANSYS TB values are as follows:! 1 C1! 2 alpha-sub-1! 3 n! 4 Q/k (defaults to 8110)! 5 Verbose output flag (1 = verbose output, 0 = standard output) !c1 = 9.62e4a1 = 6e-4n1 = 3.3qovrk = 8110vrbs = 2TB,CREEP, 1tbdata,6,100 !use user creeptbdata,1,c1tbdata,2,a1tbdata,3,n1tbdata,4,qovrktbdata,5,vrbsUPFs: Lessons to Consider•Always try APDL macros first•Consider external commands to avoid custom versions of ANSYS•You must have the proper FORTRAN compilero See installation guide• KISS•Start by replicating the existing ANSYS functionalityo Add your changes slowly•Write and debug on simple models•Don’t be afraid of write(*,*)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第26卷 第4期河北理工学院学报Vol126 No14 2004年11月Journa l of Hebe i I n stitute of Technology Nov.2004文章编号:100722829(2004)020037203有限元软件ANSYS的二次开发及其与VB的连接王 欣1,徐树成2,任吉堂1(11河北理工大学冶金与能源学院,河北唐山063009;21唐山市工业经济促进局,河北唐山063000)关键词:ANSYS;二次开发;参数;VB语言摘 要:介绍了ANSYS的应用范围和一些使用技巧,并说明了如何用内部语言(ANSYS Para2metric Language)对它进行二次开发,以及如何实现ANSYS与VB的连接。
中图分类号:TP15 文献标识码:A0 引言在工程技术领域内,工程师常常运用数学和力学的知识将实际问题抽象成它们应遵循的基本方程(常微分方程或偏微分方程)和相应的边界条件。
对于大多数的工程技术问题,由于物体的几何形状和载荷作用方式很复杂,因此要获得这些问题的解析解十分困难。
目前有两种途径可以解决这种困难:一是引入简化假设,将方程和边界条件简化为能够处理的问题,从而得到它在简化状态下的解;另一种解决途径就是数值解法,如有限差分法,边界法,有限元法和离散元法等。
有限元法FE M(Finite Ele mentMethod)是目前工程技术领域中实用性最强,应用最为广泛的数值分析方法。
它的基本思想是将问题的求解域划分为一系列单元,单元之间靠节点连接,单元内部点的待求物理量可由单元节点物理量通过选定的函数关系插值求得。
由于单元形状简单,易于由平衡关系或能量关系建立节点量之间的方程式,然后将各个单元方程“装配”在一起而形成总体代数方程组,加入边界条件后即可对方程组求解[1]。
1 ANSYS软件简介ANSYS公司是由美国著名力学专家、美国匹兹堡大学力学系教授John S wans on博士于1970年创建发展起来的,总部位于美国宾西法尼亚州的匹兹堡,ANSYS软件是该公司的主要产品。
ANSYS软件是集结构、热、流体、电磁、声学于一体的大型通用有限元分析软件,可广泛地应用于核工业、铁道、石油化工、航空航天、机械制造、能源、汽车交通、国防军工、电子、土木工程、生物医学、轻工、水利、日用家电等一般工业及科学研究。
ANSYS软件主要包括三个部分:前处理模块,分析计算模块和后处理模块[2]。
前处理模块提供了一个强大的实体建模及网格划分工具,用户可以方便的构造有限元模型;分析计算模块包括结构分析(可进行线性分析、非线性分析和高度非线性分析)、流体动力学分析、电磁场分析、声场分析、压电分析以及多物理场的耦合分析,可以模拟多种物理介质的相互作用,具有灵敏度分析及优化分析能力;后处理模块可以将计算结果以彩色等值线显示、梯度显示、矢量显示、粒子流迹显示、立体切片显示、透明及半透明显示等图形方式显示出来,也可将计算结果以图表、曲线形式显示或输出。
ANSYS的技术特点主要有以下几个方面:(1)能实现多场及多场耦合功能;(2)前后处理、分析求解及多场分析能使用统一的数据库;(3)具有优化功能,可以进行流场优化;(4)可以进行非线性分析;(5)具有快速求解器;(6)可以进行智能网格划分;(7)能与很多CAD软件集成并有接口;(8)多层次多框架的产品系收稿日期:2004203206作者简介:王欣(19782),女,河北景县人,河北理工大学冶金与能源学院硕士生。
83 河 北 理 工 学 院 学 报 第26卷 列;(9)良好的用户开发环境。
2 用APDL进行二次开发AP DL是ANSYS参数化设计语言(ANSYS Para metric Language)的简称,是ANSYS的二次开发工具之一。
AP DL宏程序就是一系列由AP DL控制语句控制执行次序的ANSYS命令组成的集合。
应用AP DL编写的脚本程序可以自动完成大部分任务,甚至参数化求解,参见文献[4~6].参数即AP DL变量与F ORT RAN语言的变量类似,ANSYS使用两种类型的参数:标量参数和数组型参数。
数值和字符参数可以作为ANSYS命令的输入参数,命令执行时会自动代入它们的当前值。
ANSYS最多允许定义5000个用户参数,用户界面上定义的参数的数量可以在用*ST AT US列表时得到,使用*GET, par,P AR M,MAX命令可以返回参数的总数量。
当前定义的参数可以保存在当前任务的数据库中,若想在另一个ANSYS任务中应用这些参数,就必须把它们单独保存在一个文件(称为参数定义文件)中,然后可以在任何时候恢复,恢复时可以完全替换当前定义的参数或者只添加新参数。
数组型参数是AP DL中经常需要的一种数据结构,它与标量参数(单值)不同,每个数组型参数代表着一组值[3]。
ANSYS程序中按数组参数的维数可分为一维数组参数(只有一列)、二维数组参数(多行多列)和三维数组参数(可以有多个面,每个面可以有多行多列)。
定义数组型参数时要首先声明参数的类型和尺寸,命令行方式可以用命令*D I M完成。
数组型参数可以通过以下四种方式赋值:(1)应用“SET”命令或“=”给单个数组元素赋值;(2)给数组中的一列(单个矢量)用确定值或计算结果批量赋值,如3VF I L L命令。
(3)图形交互操作(G U I)方式下通过3VE D I TT对话窗口赋值。
(4)使用3VRE AD或3TREAD命令从ASCll数据文件中读入数值。
除了ANSYS提供的文件写入/读取及数据库数据的读写操作外,在AP DL开发时,还可以使用文件输入/输出命令按自己的格式把计算数据保存在文件中并随时读取。
宏程序文件也可以称为命令文件,通过宏程序可以创建自己的命令,从而方便ANSYS的使用。
宏程序可以在ANSYS下直接创建也可以使用通用的文本编辑软件,如记事本、写字板等。
本文以文本文件的形式,运用AP DL进行了宏程序的开发设计,实现了利用命令流文件来进行模拟计算的目的。
宏程序在ANSYS交互界面下可以直接运行,自动完成建模、加载、求解和后处理这一系列的过程,并根据需要输出所要的结果。
以下为作者开发的一个宏程序的部分内容,通过调用这个程序,ANSYS可以自动进行求解并输出运算结果。
3 ANSYS与VB的连接V isual Basic是在BASI C语言基础上发展起来的,它提供的可视化设计平台把W indows界面设计的复杂性“封装“起来,开发人员不必为界面的设计而编写大量的程序代码,只需按设计的要求,用系统提供的工具在屏幕上画出各种对象即可。
V isual Basic采用面向对象的设计方法,从应用领域内的问题着手,以直观自然的方式描述客观世界的实体。
V isual Basic具有很强的数据库管理功能,不仅可以管理MS Access格式的数据库,还可以访问其他格式的数据库[7]。
同时V isual Basic还提供了开放式数据连接ODBC(Open Date Base Connectivity)功能,可以通过直接访问或建立连接的方式使用并操作后台大型网络数据库,如S QL Server等。
基于这些优点,VB受到很多程序设计者的青睐,因此得到了越来越广泛的应用。
由于ANSYS软件提供了可以与外部连接的接口,通过研究,作者将ANSYS与VB连接起来。
我们以VB 中的OLE控件为容器,将ANSYS的运行程序连在此控件上,从而可以在VB界面下调用ANSYS,实现了AN2 SYS与VB的连接。
这样,通过运行已经开发好的ANSYS宏程序就可以进行自动求解,并将所得结果存入数据库,从而实现ANSYS与VB之间数据的传输,我们就可以在VB界面下看到ANSYS模拟出的结果了。
4 结论411 ANSYS软件具有较好的可开发性,通过其内部语言可以实现对该软件的二次开发。
宏程序的运用使得这个求解过程快捷、方便,从而使ANSYS 的特点得以充分体现。
412 将ANSYS 装入VB 的OLE 控件中,可以实现ANSYS 与VB 的连接。
这就把VB 的可视性和ANSYS 所具有的强大计算功能结合起来,使二者的优点都得以充分的发挥,从而为用户的使用提供更加有利的条件。
参考文献:[1] 雷晓燕1有限元法[M ]1北京:中国铁道出版社,20001[2] 李皓月,周天朋,刘相新1ANSYS 工程计算应用教程[M ]1北京:中国铁道出版社,20021[3] 龚曙光1ANSYS 基础应用及范例解析[M ]1北京:机械工业出版社,20031[4] ANSYS,I nc .ANSYS Ther mal Analysis Guide Release 5.4Third Editi on .S AP .I P I nc .1997[5] ANSYS,I nc .ANSYS Structural Analysis Guide Release 5.4Third Editi on .S AP .I P I nc .1997[6] ANSYS,I nc .ANSYS Coup led -Field Analysis Guide Release 5.4Third Editi on .S AP .I P I nc .1997[7] 王汉新1V isual Basic 程序设计[M ]1北京:科学出版社,20021The quadra ti c explo it a ti on of f i n ite elem en t softwareANSY S and its connecti on w ith VBWANG Xin,XU Shu 2cheng,REN J i 2tang(College of Metallargy and Energy Res ources,Hebei Polytechnic University,Tangshan Hebei 063009,China )Key words :ANSYS;quadratic ex p l oitati on;para meter;VB languageAbstract:The app licati on scope of ANSYS is intr oduced,and its technique is analyzed in this article .Based on this,the author ex p lains how t o make the quadratic exp l oitati on of ANSYS by the interi or language (ANSYS Para 2metric Language ),and how t o realize the connecti on of ANSYS and VB.(上接第18页)O pti m u m desi gn of the dynam i c properti es ofbelt conveyor dr i ven by the electrom otorZ HANG Xue 2yan(College ofMechanical Engineering,Hebei of Polytechnic University ,Tangshan Hebei 063009)Key words :Belt Conveyor;Op ti m um Design;driving with the electr omot orAbstract:The paper mainly studies the op ti m u m design of starting and st opp ing p r operties of the large belt conveyor driven by the electr o mot or and comp iles the dyna m ic p r operties op ti m um design p r ogra m of the large belt conveyor .93 第4期 王欣,等:有限元软件ANSYS 的二次开发及其与VB 的连接。