1、东海科学技术学院本科毕业论文 摘要 I 本科 毕业论文 (设计 ) 题 目: 基于 PATRAN 船舶纵向强度专家系统开发 学 院: 学生姓名: 专 业: 船舶与海洋工程 班 级: 指导教师: 起 止 日期: 东海科学技术学院本科毕业论文 摘要 II 目录 摘要 . III 第一章 绪 论 . 1 1.1 前 言 . 1 1.2 概 述 . 1 1.3 PCL 的主要功能 . 2 1.4 PCL 的语言结构及编译使用 . 3 1.5 课题研究背景、内容 . 4 1.5.1 研究背景 . 4 1.5.2 研究内容 . 5 第二章 PCL 函数及语法规则 . 6 2.1 概 述 . 6 2.2 主
2、要函数 . 6 2.3 与 C语言的交互性 . 12 2.4 PCL 语言的变量和常量 . 13 第三章 自动 加载程序的开发 . 14 3.1 程序中油船直接计算 . 14 3.2 设置主要参数界面 . 23 3.3 以油船为典型输值计算 . 36 3.4 加载函数文件 . 37 总 结 . 38 参考文献 . 39 东海科学技术学院本科毕业论文 摘要 III 基于 PATRAN 船舶纵向强度专家系统开发 摘要 本文基于 MSC.Patran内置的 PCL语言,开发了 船舶纵向强度专家 系统,实现了船体所受载荷的自动加载和纵向强度的计算,开发有限元后处理系统界面 ,大大提高了载荷加载效率。程
3、序开始获取船体参数值 ,船体结构特点 ,货舱装载状况。选定工况,确定载荷及边界条件建立相对应界面。 用 PCL语言编写一些直观的界面,再通过再程序里加入相对应的操作命令流逐步完善 船舶纵向强度专家 系统,由于时间和技术有限本文只是在初步完善了系统界面,而内部语言还有待完善。 关键词 PCL; 纵向强度 ;二次开发;有限元分析 东海科学技术学院本科毕业论文 摘要 IV Based on PATRAN longitudinal strength ship expert system development AbstractThese are based of a PCL which is incl
4、uded in MSC.Patran,which develop an longitudinal strength ship expert system development .This system achieve distributing force autoloading for the hull and longitudinal strength calculation. It is also develop the finite element post-treatment system interface, greatly improving the load loading e
5、fficiency.At first Program began to get hull parameters, the hull structure characteristics, cargo loading condition. Selected condition, to determine the load and boundary conditions make corresponding interface. With the PCL language writing some intuitive interface, again through again to the cor
6、responding program operation orders flow gradually perfect longitudinal strength ship expert system, because of the time and technology Co., LTD in this paper is just a preliminary perfect system interface, and internal language remains to be perfect. Key words PCL; longitudinal strength; the second
7、 develop; finite element analysis 东海科学技术学院本科毕业论文 正文 1 第一章 绪 论 1.1 前 言 MSC.Patran 是世界公认最 佳的集集合访问、有限元建模、分析求解及数据可视化于一体的新一代框架式软件系统,通过其全新的 “并行工程概念 ”和无与伦比的工程应用模块,将世界所有著名 的 CAD/ CAE/ CAM/ CAT(测试 ) 软件系统及用户自编程序自然地融为一体。 MSC. Patran 独有的 SGM(单一几何模型 ) 技术可直接在几何模型一级访问各类 CAD 软件数据库系统 ,包括 UG、 Pro/ ENGI2NEER、 CATIA、 C
8、ADDSS、 Euclid、 SoildEdge 、 Solid2works 、 AutoDesk MDT 及 I2DEAS 等 各类 CAD/ CAM 软件数据库。除了框架系统外 ,MSC. Patran 还拥有功能强 大的各种专用分析应用模块 ,主要包括 : 1 MSC. Patran FEA(提供了静力、动力、热传导、非线型及优化灵敏度分析等功能 ); 2 MSC. Patran THERMAL (专用工程自动热分析软件系统 ,可处理各种复杂的传递问题 ,并提供了丰富的与温度相关的材料库、对流关系库及与时间和温度相关的专业函数库 ); 3.MSC. Patran LAMINATEMODE
9、LER(集复合材料设计、分析、制造于一体的软件系统 )。 PCL (MSC. Patran Command Language)语言是 MSC. Patran的一个高级的模块化结构的编程语言和用户自定义工具,随同 MSC.Patran一起发布。使用 PCL语言可以创建新的或者改进MSC.Patran功能,能为特定应用程序创建用户界面和数据库,能够调用 MSC.Patran内的所有函数和 MSC.Patran的二次开发技术。本文利用 PCL语言对 MSC.Patran进行二次开发,编制了锚机载荷的自动加载程序,实现锚机螺栓分力自动加载,并通过将自编批处理程序与具有外部工具调用功能编辑器集成 ,开发
10、出了 MSC.Patran的集成环境,并对软件后处理系统集成化,有效地提高了工作效率。 1.2 概 述 PCL 语言类似于 C 语言和 FORTRAN 语言,它包含与之相同的数据类型,也具有大量的函数库。除了基本的数学函数库和系统访问的函数库以外,它还提供了大量与有限元建模有关的函数,如几何建模函数,网格自动划分函数,载荷施加,属性添加及结果后处理有关的函数。利用这些函数,用户可以编写自己的函数,并用系统命令! library 将其加载到 Patran中,建立与 NASTRAN 的连接,可以在以后的建模中随时调用 。 由于 MSC.Patran 没有自带的程序编辑器,需要利用那些具有外部工具调
11、用功能的编辑器,比如 MicrosoftVisual C+、Editplus 等。这些编辑器都支持用户自己开发的工具,首先要进行相关的参数设置,添加 PCL 东海科学技术学院本科毕业论文 正文 2 工具菜单,将 PCL 开发环境与批处理程序集成。设置完成后就可以在编写函数文件的同时,直接通过编辑器进行 PCL 函数文件的编译、转换等工作,极大地方便了程序开发。 在使用 PCL语言进行锚机螺栓分力自动加载程序的编译中,需要不断对函数文件进行编译,调试。这就必须调用 MSC.Patran自 带的编译程序 p3pclcomp.exe,通过 Patran命令行或 DOS窗口中输入 !input*.pc
12、l的方式来完成 (*代表文件名 )。在进行图形用户界面开发时,那些表示控件大小和间距的标准参数是在 appforms.p文件中定义的,在界面函数文件的开始部分使用#include“appforms.p”语句就可以链接这些定义。不过,此类界面函数文件还必须通过 C预处理程序 cpp.exe进行转换,也就是将 *.pcl文件转换为 *.cpp文件后才能使用。在程序编写初期,需要反复使用这些程序和指令进行错误调试,格式转换等工 作,较为麻烦。所以本文编写了一系列批处理程序,使这些程序编译,调试工作可以快速,准确的完成,大大提高了工作效率。这些程序以 bat文件格式保存,在 DOS状态下运行, DOS
13、主要是一种面向磁盘的系统软件,说的简单些, DOS就是人与机器的一座桥梁,是罩在机器硬件外面的一层 “外壳 ”,有了 DOS,我们就不必去深入了解极其复杂的硬件结构,也不必去死记硬背那些枯燥的机器命令。我们只需通过一些接近于自然语言的 DOS命令,就可以轻松的完成绝大多数的日常操作。另外, DOS还能有效管理各种软硬件资源,对它们进行合理的调度,所有的软 件和硬件都在 DOS的监控和管理之下,有条不紊的进行着各自的工作。 1.3 PCL 的主要功能 1.命令行表达式输入 。 2.可编译的命令库函数 。 3.丰富的表格及菜单库供开发用户图形界面 。 4.递归的子程序和函数调用 。 5.同类函数归
14、于一个类 。 6.条件分子语句: if、 then、 else、 swith、 case、 default、 break、 continue。 7.条件循环语句: repeat、 until、 while、 end while、 for、 to、 by、 end for、 list、 end list。 8.用户可定义 的表格生成功能使用户的 PCL函数可通过菜单选项来执行 。 9.数据库的访问存取工具 。 10.整型、实型、逻辑型、字符串变量及常数 。 11.局部、全局、静态变量及类变量 。 12.任意变量类型的数组 。 13.虚拟内存数组及数组内存管理功能 。 东海科学技术学院本科毕业论文
15、 正文 3 14.跟踪调试工具 。 15.数组排序和搜索 。 16.字符串函数包括大小写转换和所写检查 。 17.二进制和文本文件读写功能 。 18.多种数学函数程序 。 19.丰富的图形函数:绘点、线、虚圆或实圆、虚方块或实方块、虚多边形或实多边形、在任意位置显示文本、改变图形寄存器 。 20.模 型管理程序:比例缩放,转动、旋转、平移 。 21.系统实用工具。 1.4 PCL 的语言结构及编译使用 PCL的语言结构: 一个 PCL程序类似于 C或者 FORTRAN的函数,在第一行必须以FUNCTION开头一 行 以 END FUNCTION结尾,中间为函数段 , PCL函数的定义格式如下:
16、 FUNCTION function(arg) 程序段 END FUNCTION 使用时,直接 function(arg)执行就行了 。 PCL 的编译和使用 : Patran 提供了一个 PCL 的编译程序 p3pclcomp,在 DOS 窗口下可以执行 p3pclcomp,会出现 “-”提示符,可以在提示符后输入 PCL 编译连接的指令,也可以直接在 PATRAN 图形窗口的命令条中直接输入 PCL 编译连接的指令,常用的 PCL 编译命令包括: 1.input:读入 PCL 文件并编译解释,用此方法可以直接使用 PCL 文件。其具体使用说明格式为: !input file.pcl pil
17、e:将 PCL 程序编译成 PATRAN 的库文件,用此方法可以把文本文件编译成二进制文件,方便程序调用,而且可以进行程序的封装。其具体使用格式为: !compile file.pcl library.plb 3.library:加载和组织 PATRAN 库文件。可以加载任意个库文件,也可以组织管理,包括合并,删除程序类库。 常用的使用说明格式为: !library add library.plb(library.plb.) !library remove library.plb(library.plb.) !library delete library.plb(lfunction.plb.)
18、 东海科学技术学院本科毕业论文 正文 4 4.path:加载 PCL 目录 !path add directory(directory.) !path remove directory(directory.) !path none !path 另外, PCL 还提供了跟踪调试命令和其他命令,实用比较少。 我们一般把 PCL 程序的后缀作 “.pcl”。 PCL 程序在 PATRAN 中可通过三种方法来进行编译和连接,即: ( 1) PATRAN( 2)p3pclcomp;(3)make。 1.5 课题研究背景、内容 1.5.1 研究背景 目前,海运生产中进行船舶纵向强度的计算与校核中,主要存在
19、两个问题 :一方面计算方法过于复杂,另一方面计算精度不高 1。 开发适用于船舶设计、计算的高效可靠的程序系统成了各设计部门迫切的要求。虽然通用CAE 软件具有强大的工程解决能力和广泛的通用性 , 但缺乏针对性。将自编软件与通用软件结合 , 开发出适合船舶工程问题的专门软件 , 并使过程高度自动化 , 已成为国内外各领域CAE 技术的发展趋势。由于船舶纵向强度计算领域的专业特殊性 , 希望开发出来的强度计算应用软件具有特定的功能和用户界面。 船舶纵向强 度专家系统 正是基于 Patran 平台 , 二次开发工具 PCL ( Patran Command Language) 计算结果表明 , 本程
20、序系统界面友好、使用方便 , 同时计算准确可靠、收敛迅速 , 适于船舶纵向强度计算的快速化 2-3。 Patran 是工业领域最著名的并行框架式有限元前后处理及分析系统 , 具有完善的几何造型、全面的有限元处理和方便的分析模型定义功能 , 并能集成各种分析软件和将分析结果可视化处理 。为提高其专业针对性 , 美国 MSC 公司提供了二次开发语言 PCL。 PCL 是集成于Patran 中的一个高级、模块化结构的编程语言和用户自定义工具 , 其主要结构类似于 C 语言和 Fortran 语言。采用 PCL 语言进行二次开发 , 是对 CAE 过程的全面支持。 Patran 为 PCL 语言提供了
21、数万个函数 , 可以方便地完成创建用户界面控件、读写 Patran 数据库等操作并且 , 它提供了丰富的菜单库和大量有限元前后处理函数 , 供用户集成自主开发的分析程序或特定的图形界面于 Patran 系统中。 PCL 是 Patran 开放性的主要体现。但一直以来 , 缺少好的前后置处理模块。通过 PCL 二次开发 , 将自编的纵向 强度程序无缝集成到 Patran 系统中 , 并在计算过程中自动调用 Nastran 进行结构分析和敏度分析 , 使解决工程结构优化问题的能力更为强大 ,计算过程高度自动化。 东海科学技术学院本科毕业论文 正文 5 1.5.2 研究内容 利用 PATRAN 软件
22、,构建一个参数化建模的界面,船体纵向强度专家系统的开发,为实现船体结构强度分析系统自动化 ,在界面上输入必要的参数 ,程序根据这些参数进行分析和计算 ,最终完成模型创建。 通过 PCL 二次开发 , 将自编的总纵强度算法程序无缝集成到 Patran系统中 , 并在计算过程中自动调用 Nastran 进行结构 分析和敏度分析 , 使解决工程计算船舶纵向强度的能力更为强大 ,计算过程高度自动化。 东海科学技术学院本科毕业论文 正文 6 第二章 PCL 函数及语法规则 2.1 概 述 所有的 MSC.Patran 命令首先是由 PCL 编译器所编译过的, PCL 表达式是由 C 语言程序所编译的。 PCL 函数能被编译到库函数中,与 MSC.Patran 文件相联系。 MSC.Patran 的内置函数是由 C 或 FORTRAN 所编写的。其逻辑图如图 1: 图 1 2.2 主要函数 1.ui_form_create ( callback, x, y, position, width, height, label, unused )。 该函数用于创建任务窗口,如图 2。