附代码基于C++的ansys二次开发
- 格式:doc
- 大小:36.50 KB
- 文档页数:6
*** 用户可编程特性 (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中的例题来验证。
基于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], 纪莲清;谢欢
因版权原因,仅展示原文概要,查看原文内容请购买。
基于APDL 和U IDL 的ANS YS二次开发技术及其应用张建业1,杨甫勤2,钱继锋2(1.天津工业大学机械电子学院,天津300160(2.军事交通学院装运机械系,天津300161摘要:以渐开线圆柱齿轮为例,介绍了在有限元软件ANSYS 中,运用U IDL 进行图形界面设计和运用APDL 语言进行参数化实体建模的方法,提高了ANSYS 软件的用户接受程度和分析效率。
关键词:ANSYS ;APDL ;U IDL ;二次开发中图分类号:TH 132文献标识码:B 文章编号:1672-1616(200623-0079-03ANSYS 是我国工程界广泛使用的大型通用有限元分析软件之一,具有良好的开放性、可定制性,提供多种二次开发途径,用户可根据自身的需要在标准ANSYS 版本上进行功能扩充和系统集成,生成具有行业分析特点和符合用户需要的用户版本的ANSYS 程序,从而实现设计和分析的易用性、高效性。
ANSYS 的二次开发功能包括4个组成部分:用户界面设计语言(U IDL 、参数化程序设计语言(APDL 、用户程序特性(U PFs 、ANSYS 数据接口,其中U IDL 和APDL 是目前常用的2种二次开发功能,U IDL 可完成主菜单系统及菜单项、对话框和拾取对话框、帮助系统的图形界面的设计,APDL 可编写参数化的用户程序。
1用户界面设计语言(U IDLU IDL (User Interface Design Language 是ANSYS 为用户提供专门进行程序界面设计的语言,允许用户改变ANSYS 的图形界面(GU I 中的一些组项,提供了一种允许用户灵活使用、组织设计ANSYS 图形界面的强有力工具。
U IDL 控制文件由一个控制文件头和几个构造块组成,一个构造块对应着GU I 的一个元件,每个构造块是一系列的U IDL 命令,构造块分为菜单块和功能块两个类型,控制文件结构如图1所示[1]。
基于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等通用大型的有限元分析软件,这些软件不仅具有良好的界面、方便的前后处理及强大的计算分析功能,还具有开放的二次开发功能。
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 ParametricDesign Language。
使用APDL语言可以更加有效地进行分析计算,可以轻松地进行自动化工作(循环、分支、宏等结构),而且,它是一种高效的参数化建模手段。
使用APDL语言进行封装的系统可以只要求操作人员输入前处理参数,然后自动运行ANSYS进行求解。
但完全用APDL编写的宏还存在弱点。
比如用APDL 语言较难控制程序的进程,虽然它提供了循环语句和条件判断语句,但总的来说还是难以用来编写结构清晰的程序。
它虽然提供了参数的界面输入,但功能还不是太强,交互性不够流畅。
针对这种情况,本文用VC++6.0开发框筒结构-桩筏基础-土相互作用有限元分析程序(简称LWS程序)。
本程序设计目标是利用VC++6.0对ANSYS进行封装。
用VC++6.0对ANSYS模拟框筒结构-桩筏基础-土相互作用进行二次开发,用户只需输入诸如地震波、计算时间步长、阻尼比等物理性能参数等,系统就能自动调用ANSYS计算程序,自动进行网格划分、地震动加载以及自动求解。
该系统由于前台开发友好、方便、易用的人机交互界面,对复杂的、难于理解和掌握的ANSYS命令流进行后台封装,因此,程序设计可让即使从未认真学习过ANSYS软件的工程设计人员也能很好地借助本系统进行结构抗震性能有限元分析,具有较强的处理实际问题能力。
用户输入计算参数,即可调用后台的ANSYS命令进行计算,ANSYS把计算结果返回给用户,进行后处理。
程序设计的主要原则和功能如下:(1)方便原则,即程序模块应具有良好的用户界面和易用性。
程序前台设计采用Windows提供的标准图形用户界面(GUI),用户无须接受专门训练即可使用。
同时,程序应具有良好的容错和纠错能力,避免用户操作不当造成损失。
(2)程序系统能够提供用户以下功能:①允许用户可以根据实际计算工况,输入特定的计算参数,包括地震波选择、计算时间步长、地震波调幅与否等。
②用户在输入各种参数以后、进行计算之前可以对输入的数据进行修改、添加和删除操作,以保证输入正确的参数。
③用户通过界面调用后台的ANSYS命令流进行计算,能够得到最后的计算结果文件,供用户进行后处理和结果分析。
④用户可以添加新的功能或新的二次开发以实现程序升级。
(3)程序应具有良好的可移植性,不依赖于特定的硬件设备,只要能安装ANSYS 和VC++6.0的硬件环境都能使用本系统,保证程序使用的广泛性。
(4)程序代码应具有开放性和可重用性。
这样,在进一步的设计中,能保证设计者可以方便地对代码进行修改扩充;同时,提供一定的设计接口,新的设计者可以根据接口,无须对程序进行大幅度的修改,就可以进行新的开发,以适应新的特殊要求。
程序的开发平台是Microsoft VC++6.0、ANSYS6.1,基于WindowsXP编程。
程序实现是利用微软提供的Windows编程接口MFC和ANSYS公司的ANSYS/Multiphysics产品,采用面向对象的程序设计方法。
3程序的主要模块和设计如图3-2所示,程序的主要模块有:用户界面模块、ANSYS计算模块、VC调用接口模块和VC后处理模块,分别论述如下:3.1 ANSYS模块ANSYS为了满足用户的特殊需求,建立了开放的体系结构,提供了二次开发接口APDL、UIDL和UPFs(User Programming Features,用户编程特性)等。
其中,ANSYS接口允许用户将自己的VC代码连到ANSYS中去,或将ANSYS作为子程序调用,从而使ANSYS具备特殊的功能。
本文的ANSYS模块是使用APDL语言进行二次开发的。
在上面的二次开发中用到了参数化设计方法。
参数是APDL的变量(它们更象FORTRAN变量,而不像FORTRAN 参数),不必明确声明参数类型,所有数值变量都以双精度数存储。
被使用但未声明的参数都被赋予接近0的“极小值”。
在二次开发中使用参数化设计方法,增强了程序的易读性和可移植性。
用户无须了解程序的具体结构只需改变参数值就可自动调用ANSYS模块。
3.2 VC调用模块VC调用模块在该系统中起着接受用户界面的输入、创建进程调用ANSYS模块进行计算的重要作用。
有两项工作是在实现在VC程序中调用ANSYS必须做的,一是要使接口程序能够修改ANSYSB的命令流文件路径及文件名称,这可通过注册表编程实现;二是要能在接口程序中运行ANSYSB应用程序,这涉及到创建进程的编程,下面分别介绍它们的具体实现。
1. 注册表编程在Windows(98/NT/2000/XP)系统上运行ANSYS安装程序后,便在Windows系统的注册表里记录了一些信息,如初始工作路径,文件名等。
利用VC平台调用ANSYS 计算模块的程序必须指定ANSYS软件的运行目录以及用APDL语言开发的ANSYS 模块程序路径,这样,ANSYS软件的批处理程序才能从给定的路径下读取命令流文件。
在接口程序中修改这些注册表信息,可以使用Windows提供的注册表编辑API(Application Programming Interface)函数[30,31],具体实现如下:HKEY hSubKey; // 定义子键LONG lRet;char RegPath[200]="SoftWare\\ANSYS, Inc.\\ANSYS\\ANSYS 6.1\\0";lRet=RegOpenKeyEx(HKEY_CURRENT_USER,RegPath,0,KEY_ALL_ACCESS,&hSubKey ); // 打开子键if(lRet!=ERROR_SUCCESS)return;lRet=RegSetValueEx(hSubKey,"Extension",0,REG_SZ,(LPBYTE)"txt",3); //设置ANSYS批处理程序读取的文件扩展名if(lRet!=ERROR_SUCCESS)return;lRet=RegSetValueEx(hSubKey,"Jobname",0,REG_SZ,(LPBYTE)"ZHY");//指定ANSYS模块文件名if(lRet!=ERROR_SUCCESS)return;lRet=RegSetValueEx(hSubKey,"WorkingDirectory",0,REG_SZ,(LPBYTE)"E:\\L WS\\Workspace ",16);if(lRet!=ERROR_SUCCESS)return; // 键值出错返回RegCloseKey(hSubKey); // 关闭子键通过以上的设置后运行ANSYS批处理程序,界面变成如图3-3所示。
从图中可看出ANSYS模块工作路径E:\\LWS\\Workspace、初始文件名ZHY、ANSYS 程序文件名ZHY.txt文件、计算结果输出文件名ZHY.out都已经自动出现在ANSYS批处理程序的输入框,往下ANSYS就可以自动从ZHY.txt读取命令流进行计算并将结果输出到ZHY.out文件中。
若想改ANSYS模块路径或文件名只需对上面程序稍加修改即可。