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

合集下载

基于C__NET的ANSYS二次开发优化设计技术及应用_李淇阳

基于C__NET的ANSYS二次开发优化设计技术及应用_李淇阳
通过 ANSYS可将有限元法与优化技术有机地 结 合 起 来 ,但 在 序 列 化 分 析 与 设 计 修 改 中 ,存 在 使 用 不直 观、不 方 便 的 缺 陷。 文 中 采 用 基 于 C#.NET 的 ANSYS二次开发优化技术与方法有效地解决了 以上问题。
1 基 于 C#.NET 的 ANSYS二 次 开 发 技 术 路线
[10] 何良汉.5 万 t/a丙 烯 腈 装 置 废 物 焚 烧 炉 炉 膛 衬 里 改 造 [J].化 工 建 设 工 程 ,2001(3):26-27. (HE Liang-han.The Re-Equipment of the Trash In- cinerator Liner of a 50 000t/a Acrylonitrile Apparatus [J].Chemical Engineering Construction,2001(3): 26-27.) (许 编 )
基于微软.NET 框架的面向对象程序语 言 C# 已经成 为 当 今 主 流 开 发 语 言,可 用 集 成 开 发 环 境 Visual studio来开 发 专 用 分 析 系 统。ANSYS 二 次 开发的 优 化 设 计 主 要 涉 及 有 面 向 对 象 编 程 语 言 .NET Framework 技 术、ANSYS 二 次 开 发 接 口 技 术、ANSYS 的 优 化 分 析 技 术、ANSYS 的 数 据 库 和 文件系统数据库访问封装技术以及 ANSYS二次开 发的专用系统集成 技 术,专 用 分 析 系 统 的 总 体 技 术 框 架 见 图 1。
Techniques and Applications on Optimal Design
Based on C# .NET for the Redevelopment of ANSYS

ANSYS的二次开发技术

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++的支持。

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

附代码基于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程序是一个功能强大、通用性好的有限元分析程序,同时它还具有良好的开放性,用户可以根据自身的需要在标准ANSYS版本上进行功能扩充和系统集成,生成具有行业分析特点和符合用户需要的用户版本的ANSYS程序。

开发功能包括四个组成部分:⑴.参数化程序设计语言(APDL)⑵.用户界面设计语言(UIDL)⑶.用户程序特性(UPFs)⑷.ANSYS数据接口APDL所能实现的功能通俗的说来应该是次于UPF而强与UIDL,但实际上是由于三者具体侧重点不同造成的:UIDL主要控制GUI界面的各类二次开发方法,涉及的分析部分就要少一些,APDL可以称其为和分析部分频繁打交道的一组小型工具,功能强大,但不和UIDL一样能够非常具体的针对某一两方面的二次开发处理,通常情况下融合在分析的角角落落中。

UPF是三者之间的最强者,能完成最复杂的二次开发工作,比如说构建新单元,复杂数据库交互,外围命令定制等,但UPF在很多情况下也借助了APDL命令来完全实现其功能。

同样也能在UIDL中嵌入APDL命令,来构建比较复杂的GUI二次开发工作。

UIDL、APDL和UPF三者各有所长,密不可分.结合使用三者,就能够实现任何强大的分析功能。

5。

2 Ansys的开发功能组成部分Ansys的开发功能由三个部分组成:参数化程序设计语言(APDL)、用户界面设计语言(UIDL)、用户程序特性(UPFs) 5。

2。

1 参数化程序设计语言(APDL)参数化程序设计语言(APDL-ANSYS Parametric Design Language)实质上由类似于FORTRAN77的程序设计语言部分和1000多条ANSYS命令组成。

其中,程序设计语言部分与其它编程语言一样,具有参数、数组表达式、函数、流程控制(循环与分支)、重复执行命令、缩写、宏以及用户程序等.标准的ANSYS程序运行是由1000多条命令驱动的,这些命令可以写进程序设计语言编写的程序,命令的参数可以赋确定值,也可以通过表达式的结果或参数的方式进行赋值。

ANSYS二次开发概述

ANSYS二次开发概述

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

开发功能包括四个组成部分:⑴.参数化程序设计语言(APDL)⑵.用户界面设计语言(UIDL)⑶.用户程序特性(UPFs)⑷.ANSYS数据接口APDL所能实现的功能通俗的说来应该是次于UPF而强与UIDL,但实际上是由于三者具体侧重点不同造成的:UIDL主要控制GUI界面的各类二次开发方法,涉及的分析部分就要少一些,APDL可以称其为和分析部分频繁打交道的一组小型工具,功能强大,但不和UIDL一样能够非常具体的针对某一两方面的二次开发处理,通常情况下融合在分析的角角落落中.UPF是三者之间的最强者,能完成最复杂的二次开发工作,比如说构建新单元,复杂数据库交互,外围命令定制等,但UPF在很多情况下也借助了APDL命令来完全实现其功能。

同样也能在UIDL中嵌入APDL命令,来构建比较复杂的GUI二次开发工作。

UIDL、APDL和UPF三者各有所长,密不可分。

结合使用三者,就能够实现任何强大的分析功能。

5。

2 Ansys的开发功能组成部分Ansys的开发功能由三个部分组成:参数化程序设计语言(APDL)、用户界面设计语言(UIDL)、用户程序特性(UPFs)5.2.1 参数化程序设计语言(APDL)参数化程序设计语言(APDL-ANSYS Parametric Design Language)实质上由类似于FORTRAN77的程序设计语言部分和1000多条ANSYS命令组成。

其中,程序设计语言部分与其它编程语言一样,具有参数、数组表达式、函数、流程控制(循环与分支)、重复执行命令、缩写、宏以及用户程序等。

标准的ANSYS程序运行是由1000多条命令驱动的,这些命令可以写进程序设计语言编写的程序,命令的参数可以赋确定值,也可以通过表达式的结果或参数的方式进行赋值.从ANSYS命令的功能上讲,它们分别对应ANSYS分析过程中的定义几何模型、划分单元网格、材料定义、添加载荷和边界条件、控制和执行求解和后处理计算结果等指令。

基于ANSYS的结构拓扑优化及其二次开发

基于ANSYS的结构拓扑优化及其二次开发

基于ANSYS的结构拓扑优化及其二次开发摘要:本文吸收了“基结构法”和“均匀化法”的思想,提出了“通过力传递的路径来构造拓扑”和“逐次去劣、两极分化”的拓扑优化新思路和方法,对有限元软件ANSYS的拓扑优化功能作了二次开发,拓展了ANSYS拓扑优化结构单元的适用种类,且不仅可以求解连续结构的拓扑优化问题,还可以求解桁架结构的拓扑优化问题,编制了相应程序考证了连续体和桁架两种类型的典型算例,最后将此方法应用于一个船舶板架结构优化中,得到了预期的结果。

关键词:结构分析;拓扑优化;APDL中图法分类号:U661.43;O189.1 文献标志码:A1、引言结构优化设计大致可以分为三类,即尺寸优化,形状优化,和拓扑优化。

相对于前两种优化,拓扑优化能从根本上改变结构的拓扑,更能体现真正意义上的最优设计。

虽然拓扑优化的价值很可观,但是拓扑优化设计被公认为结构优化领域中比较困难的课题。

这是由于在优化过程中,结构分析和优化模型以及设计空间、可行域都在不断变化,而且拓扑变量(逻辑性变量)的0—1特性造成了问题的不连续性和不可微性。

结构拓扑优化研究可以认为是从1904年Michell提出的Michell桁架理论开始的[1]。

其后人们又陆续提出了一些优化方法,Dorn等人[2]提出了基结构法,他们建立由结构节点、荷载作用点和支撑点组成的节点集合,集合中所有节点之间用杆件相连,形成所谓“基结构”。

在单工况下考虑应力约束,以内力为设计变量,构造线性规划求解。

此外,程耿东等人[3]在弹性板的最优厚度分布研究中将最优拓扑问题转化为尺寸优化问题。

而Bendsoe、Kikuchi[4]提出了“均匀化法”,用带有孔洞的微结构构造设计区域,微结构孔洞大小作为设计变量,将拓扑优化问题转化为材料最优分布问题。

隋允康[5]对拓扑变量进行了重新思考与定义,从拓扑变量的“独立性”和“光滑性”出发,按“关系映射反演”原则去解决问题。

本文介绍了ANSYS拓扑优化,并在此基础上通过APDL(ANSYS参数化设计语言)作了二次开发。

ANSYS二次开发与应用简介

ANSYS二次开发与应用简介

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的二次开发技术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++的支持。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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.1ANSYS模块ANSYS为了满足用户的特殊需求,建立了开放的体系结构,提供了二次开发接口APDL、UIDL和UPFs(User Programming Features,用户编程特性)等。

其中,ANSYS接口允许用户将自己的VC代码连到ANSYS中去,或将ANSYS作为子程序调用,从而使ANSYS具备特殊的功能。

本文的ANSYS模块是使用APDL语言进行二次开发的。

在上面的二次开发中用到了参数化设计方法。

参数是APDL的变量(它们更象FORTRAN变量,而不像FORTRAN 参数),不必明确声明参数类型,所有数值变量都以双精度数存储。

被使用但未声明的参数都被赋予接近0的“极小值”。

在二次开发中使用参数化设计方法,增强了程序的易读性和可移植性。

用户无须了解程序的具体结构只需改变参数值就可自动调用ANSYS模块。

3.2VC调用模块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\\ANSYS6.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模块路径或文件名只需对上面程序稍加修改即可。

2.多进程编程本文在VC平台上对ANSYS进行封装,希望前台处理系统和用户的交互,而后台进行ANSYS的计算。

相关文档
最新文档