何丽丝,曹荣,王德禹
上海交通大学 船舶海洋与建筑工程学院,上海 200240
在船舶设计领域,近年来以UG NX、CATIA、FORAN 为代表的三维设计分析一体化软件已经在国外得到广泛应用[1]。2018 年,法国海军集团(Naval Group)、达索(Dassault)公司和法国船级社(Bureau Veritas)联合宣布,经过三方合作,首次利用三维送审方法完成了1 艘军用船舶的入级,这标志着船舶三维设计应用已经进入新时代[2]。
我国船舶设计单位和检验单位经常使用不同的三维设计软件平台,目前仍处于二维送审阶段。针对模型有效转换问题,我国许多学者都进行了相关研究。陈燕凡[3]和张衍胜[4]使用STEP标准,分别实现了基于PRO/E 或SolidWorks 软件的船体型值描述,以及TRIBON 软件和CATIA 软件之间的数据交换;何胜强[5]对XML 格式进行梳理,实现了TRIBON 系统向CATIA 系统的数据传递;李岩[6]探讨了使用XML 文件导入不同三维设计软件的技术方案,开发了船体结构强度分析软件的接口;苗赞[7]开发了CADDS5 和TRIBON 之间的模型转化工具;徐思豪等[8]分析了CATIA V6平台的自动划分网格机理,以加快CAD/CAE 一体化发展。上述工作都没有涉及到面向送审的船舶设计模型数据,仅限于探讨不同设计平台间数据转化问题。章志兵等[9]讨论了在NX 上如何进行面向送审的建模工作,但NX 生成的模型数据量较大[10],设计三维模型需要用户输入大量信息[11],模型转化和存储都不方便。
为此,我们拟基于对CAD 和CAE 系统模型的数据分析,提出面向送审的船舶结构三维模型转化的解决方案。采用XML 文件形式,给出一种简洁、完整、可扩充的船体结构三维模型的数据存储格式,并通过二次开发设计分析平台的输入接口,实现面向送审的三维设计模型转换和分析模型生成。此外,将使用本研究提出的数据存储方案和相关接口,在CATIA 和Partarn 平台实现某实船舱段结构的三维设计重构与分析模型生成,实现对目标模型的规范计算和舱段强度分析,打通三维模型审图全流程,验证面向送审的三维详细设计模型数据的可行性。
船体结构设计模型在不同阶段会有不同的设计要求,本研究仅讨论提交给船级社审查的详细设计模型(后文简称“送审模型”)所需要的结构信息和数据要求。一般来说,送审模型数据包含总体数据、材料特性和结构模型数据3 部分,其中总体数据包含总体参数、舱室参数、坐标系信息;材料特性为材料自身的数据定义;结构模型则包含板架、型材和肘板等零件,各种类型的开孔信息,以及零件间的关联关系等。本文通过以下数据记录送审模型的相关信息。
总体数据包括总体参数、舱室参数、坐标系信息。
总体参数有垂线间长(Lpp)、型宽(B)、型深(D)、结构吃水(Tsc)、方形系数(CB)、载重量(DWT)、水线总长(Lwl)、干舷船长(Lll)。
舱室参数包括舱室类型(Type),例如干散货舱、液货舱、压载水舱、燃油舱;舱室属性主要包括起始肋位(Start)、终止肋位(End)、货物质量(MH),舱室的几何信息主要包括舱顶垂向坐标(Ztop)、舱室重心坐标(XG/YG/ZG)、舱容(V)、货舱长度(LH)、货舱宽度(BH)、舱口围长度(Lfs)、舱口围宽度(Btop)。
坐标系由X,Y,Z这3 个方向坐标轴组成,需要表达各平面名称及平面到原点的距离,即与绝对坐标的距离,和局部坐标的矢量关系。如图1所示。其中关键字CoordSys 表示坐标系,Origin表示绝对坐标系,Waxis 和Uaxis 表示局部坐标,即该构件相对于绝对坐标系的矢量方向。
图1 坐标系数据信息的表达方式Fig. 1 Expression of the coordinate data information
在定义模型属性时,需要先定义材料特性。如图2 所示,材料特性包括材料等级(Material Grade)、极限应力(UltimateStress)、许用应力(YieldStress)、泊松比(PoissonRatio)、杨氏模量(YoungsModulus)和密度(Density)等。
图2 材料特性的表达方式Fig. 2 Expression of the material characteristics
1.3.1 板架数据信息
板架模型数据主要包含板架的定位面、属性、边界集、板缝集、子板集、筋集、开孔等数据集信息。定位面即板架所在的平面位置,可以是坐标系中的平面、绝对位置数据等实体曲面。
板架属性数据包括板厚、材质、零件类型、水密性、板厚方向、板架名称以及ID 编号等数据。其中零件类型是船级社要求的关键属性之一,例如甲板、内底板、水密横舱壁等信息。本研究与法国船级社共同探讨,将船体零件类型进行分类,如表1 所示,法国船级社的审图软件会通过数据接口获取到零件类型属性。
表1 板的分类Table 1 Classification of plates
边界数据集即单块板的边界信息集合,是板与周边结构保持关联关系的重要依据,边界数据可以是坐标系平面、几何平面、曲线曲面以及板架等。根据边界创建的先后顺序,以Limit 为关键字,存储边界数据。
板缝数据集是单块板架上板缝的数据集合。大板上通常会有数根交错的板缝,根据创建板缝的顺序,以Seam 为关键字,存储板缝数据。
子板数据集是单块板架划分板缝生成的子板数据集合。因此子板集中子板的数量取决于板缝的划分。在没有板缝的情况下,子板集中唯一的子板即是板架本身。子板数据简单,仅仅具有边界数据和板厚材质数据,其他数据继承板架。
筋数据集是单块板架上所有型钢的数据集合。筋集仅仅表达了筋的零件号及其最基本的属性,筋的详细几何信息和属性信息会在型材的详细数据中表达。该数据明确了板架上所包含的筋。在板上没有型材的情况下,筋集可以为空。根据筋创建的先后顺序,以Stiffener 为关键字,存储筋的数据。
开孔数据集是单块板架上开孔特征的数据集合。在板架上没有开孔的情况下,开孔集可以为空。三维详细设计时,创建开孔的主要方法是运用数据创建标准开孔,例如HO600x400,R300。
本研究中数据文件单块板架的数据如图3所示。
图3 单块板架的数据节选Fig. 3 Excerpt of single plate data information
1.3.2 型材数据信息
型材数据记录型材的属性、所在板架、定位信息(例如定位面或定位线、偏移量、轨迹线、安装角度及方向)、端头信息(例如两个端头元素、端头连接形式)、端切几何信息。
型材的属性用于描述型材的类型、规格、材质、名称等属性数据。图4 中给出了某一型材的实例信息。
图4 型材数据Fig. 4 Profile data information
型材的具体类型列表可根据船型情况,做针对性的规定。根据法国船级社审图要求,本研究将常见的型材做如下分类,如表2 所示。
船体结构中的型材不是单独创建的,必须依附在板上,
端切的几何信息有多种形式,可采用端切几何编码来表达几何信息。行业尚未统一端切几何编码,但各大船厂都有固化的几何编码标准,用于定义模型。目前送审模型数据不需要定义具体的端切几何形式,因此在送审的模型数据可不包含端切数据信息。
表2 型材的分类Table 2 Classification of the profiles
1.3.3 肘板数据信息
肘板本质上也是一块板,既包括板厚、材质等基本属性,也包含边界信息。除此之外肘板数据还包括肘板类型、肘板安装平面及偏移距离等信息。
肘板类型不同,所对应的数据也不同,因此具体数据内容根据肘板类型而定。不同类型的肘板所运用的模板各不相同,但最终通过模板和参数的共同作用,得到肘板的轮廓线。例如,KL 类型的肘板,对应的数据可以通过图5 中的Geometry-Data 数据集进行表达,OuterContourID 是轮廓几何线的ID 编号,Limit1 是第1 个边界条件,Limit2是第2 个边界条件,Length1 和Length2 分别表示2 个边长,Scallop 表示角隅开孔数据,Geometry-Data 的具体条目根据肘板类型而定,对于其他类型的肘板,可通过扩充更多的数据条目来表述复杂的肘板。
图5 肘板数据信息的表达方式Fig. 5 Expression of bracket data information
为实现面向三维送审模型的转化,我们希望采用同一组数据信息,利用不同的接口读取数据,能够直接生成目标结构的有限元分析模型(后文简称“分析模型”)。分析模型与送审模型的结构信息和数据要求略有不同,需要对送审模型进行一定的简化/修补处理以满足有限元模型的要求,例如消除圆角、删除小筋、加强筋处理、删除小孔、孔等效。由于本研究以打通数据交换为目的,送审船级社的分析模型仅仅用于粗网格的局部强度分析,故我们在设计存储数据与有限元软件之间的接口时,采用XML 格式作为中间文件,接口具有模型转换及简化/修补模块、划分网格模块、创建分组模块等5 个功能,其中模型简化模块为主要功能。
2.1.1 针对孔的简化
删除尺寸较小的构件孔及穿越孔(小构件孔以及穿越孔对于结果的影响比较小。如果保留这种小构件孔,对于其周边网格的质量会造成很大的影响)。但是,尺寸在800 mm × 600 mm 以上的减轻孔,或舭部R角大于1 000 mm 的孔应当保留(图6)。
图6 删除长边尺寸小于800 mm 的小孔Fig. 6 Deletion of holes with longitudinal dimension smaller than 800 mm
在船舶设计过程中,一般会在孔的边界与邻近的强框架之间保持100~200 mm 距离,这里的强框架指的是板、筋等对船舶结构强度影响大的构件。搜索与孔邻近的强框架(如板架、筋),在孔与强框架的中间位置做适当的有限元网格细化处理。
在对孔进行简化后或有些无法按真实情况模拟的连续开孔,其孔所属板的面积会相应增大(比如删除连续小构件孔)或减小(直接删除一个网格单元作为开孔信息)。在某些特殊要求下,需要按照开孔面积除以整板面积的比例,适当减少或增加板厚以保证板重量不变。
2.1.2 针对板的简化
1) 一边圆角化的板。根据有限元简化原则和高质量的网格需求,将一边有圆角的板简化成一块直板。图7 给出了1 块典型的带圆角的板简化后的示意图。2) T 型梁上的防倾肘板。将T 型梁上有斜度的防倾肘板简化成直板,画成1 个网格单元,如图8 所示。
图7 带圆角的板简化处理方式Fig. 7 Simplification of a plate with round corners
图8 防倾肘板简化处理方式Fig. 8 Simplification of an anti-tipping knee plate
3) 肘板。肢端尺寸小于300 mm 的肘板可以删除,若计算之后的强度校核不满足,则细化网格加入该地方的肘板。相对的,尺寸大于300 mm的肘板数据保留在设计模型中。
2.1.3 针对型材的简化
1) 删除小构件筋。根据船舶有限元分析知识,小构件筋对于结果的影响比较小,而且如果保留这种小构件筋,对于其周边网格的质量会造成很大的影响(网格尺寸可能远大于小构件筋尺寸,自动网格划分器很难保证在此处进行高质量的网格划分),因此需要在分析模型中对其删除,如图9 所示。
图9 小构件筋的删除Fig. 9 Deletion of the small dimension stiffener
2) 修补顶点不在强框架上的筋。
船舶有限元分析中,任何一个顶点不在强框架上的筋都可以认为是对分析影响小的筋,如果保留这样的筋,对其周边网格的质量会造成很大影响,因此可以考虑将其删除。但是有些时候,考虑到后续建造需要,设计时在筋的顶点与几何上连接的邻近强框架之间留出一段距离以方便建造(如焊接)。这种筋就不能删除,生成分析模型时需要将其自动延伸到邻近的强框架上,同时也保证了此处的应力传递,如图10 所示。
图10 筋到邻近强框架的延伸Fig. 10 Extension of stiffener to the adjacent main frame
2.1.4 板缝的处理
船舶设计时,通常都要求将“板缝”与强框架之间交接的地方预留距离差,目的是为了后期的制造工艺要求(焊接)以及基于可靠性考虑。直接在这种模型上划分网格,将导致此板缝与强框架交接处出现很狭长的四边形单元,影响计算结果。生成分析模型时需要自动将该板缝移动至强框架交接处,以保证有限元模型的网格质量,提高计算精度,如图11 所示。
图11 移动板缝至强框架交接处Fig. 11 Movement of seam to the main frame junction
以上所有的简化操作都是有限元接口软件自动完成,用户可根据需要对软件参数进行设定,可选择是否删除构件或小于多少的尺寸需要删除等,确保生成的有限元模型符合送审要求。
要实现在不同平台间的数据传递,还需借助中间文件对数据信息进行存储。对CAD/CAM 系统而言,数据传递多采用标准产品数据格式,如IGES,STEP 等[12-13]。但这些数据格式过于复杂,可读性和扩展性较差。为此,本研究采用可扩展标记语言XML 格式对前文数据进行存储。可扩展标记语言(标准通用标记语言的子集)是一种简单的数据存储语言,使用一系列简单的标记描述数据,而这些标记方便建立。虽然可扩展标记语言占用的空间比二进制数据更多,但可扩展标记语言极其简单,易于掌握和使用,这是我们选择XML 格式进行数据传递的主要原因。
关于XML 格式表达船舶设计通用模型数据的形式可参见文献[6]。需要说明的是,由于本研究希望能实现同一数据文件在不同平台的模型转化,所以第2 章中所述的分析模型的简化处理均放入模型转换的输入接口中,则中间文件XML仅存储设计模型数据。即在重构CAD 模型和转化生成CAE 模型时使用同一个XML 文件,该文件中存储的结构模型信息,如外形信息、材料信息、板厚与型材朝向等,都会在对应的软件接口中读取并继承到重构的CAD 模型和CAE 模型中。
存储在XML 文件中的数据,需要对应的接口才能被CAD 和CAE 软件读取和调用。采用如下功能模块,对送审模型和分析模型进行读取。
1) 设计模型导入接口。包括:板架类型参数读写模块;板架支持面参数读写模块;板厚、厚度偏移及厚度方向等参数读写模块;板架和型材的材质参数读写模块;板架边界参数读写模块;型材类型参数读写模块;型材支持面参数读写模块;型材规格、锚点、生长方法,球头朝向等参数读写模块;筋的端头参数读写模块;定义开孔模块;标准开孔参数读写模块。基于数据接口读取XML 文件中的数据,自动构建CAD 板架结构,包括生成板,创建型钢,生成开孔等。
2) 分析模型导入接口。包括:模型转换及简化/修补模块;划分网格模块;创建分组模块;创建属性模块;FEM 元素与几何元素匹配模块。
以CATIA 为例,运用CAA 接口CATIStrUse-CategoryMngt->SetCategory(),即可定义零件类型信息;调用CATIStrUsePanelSurf 接口对板架支持面参数进行读写;调用CATIStrUsePlateExtrusionMngt 接口进行板厚、厚度偏移及厚度方向等参数读写;运用接口CATIStrUseOpeningMngt 命令在板架上新建开孔,再调用 CATIStrUseOpening3DObject->SetIntersectingElement()定义贯穿对象,即可实现批量开孔等。
按照以上的数据分析和格式说明,我们整理了某船1 个舱段模型的数据,该舱段模型包含双层底、双舷侧、甲板、舱壁、骨材以及开孔信息和依附关系。整理的XML 文件部分数据如图12 所示。
图12 XML 文件部分数据Fig. 12 Partial data in XML file
使用3DE 软件平台上自带接口读入XML 文件,二次开发重构模型的接口软件,交互界面如图13 所示。
图13 CATIA 二次开发接口软件交互界面Fig. 13 Secondary developed interface of CATIA software
交互界面中的功能信息说明如下:
1) CreatePanels 功能框。功能按钮CreatePanels用于将数据信息创建为板材模型;选项框Limit-Panels 用于选择模型处于船舶结构中的布置方位,X表示相对平行于肋位Frame 方向,Y表示相对平行于纵骨longitudinal 方向,Z表示相对平行于甲板Deck 方向;功能按钮LimitPanels 用于修正板材模型边界拓扑关系;功能按钮Create Opening用于为板材模型开孔。
2) Create Stiffener 功能框。功能按钮Create Stiffeners 用于将数据信息创建为型材模型;功能按钮Limit Stiffeners 用于修正型材模型边界拓扑关系。
读取模型信息重构模型数据后生成CATIA 3DE 软件内的设计模型(SFD),模型的建立依靠输入的接口软件和少数的人工干预完成。重构的模型如图14 所示,该送审模型数据类型和原生船舶专用设计模块生成的模型数据一致,可采用船体结构解决方案进行进一步编辑。
图14 重构的“送审”模型Fig. 14 Reconstructed “inspection-oriented” model
在Patran 软件上二次开发XML 文件输入的接口软件,读取模型信息,接口软件的功能界面如图15 所示。Import 为模型转换及简化/修补模块;Mesh 为划分网格模块;Group 为创建分组模块;Material 为定义材料属性模块;Property 为创建单元属性模块;Refine 可对模型进行细化。
图15 接口软件的功能界面Fig. 15 Functional interface of the connection software
模型的简化/修补处理是接口软件的重要组成部分,以接口的人机互动操作完成,避免出现“一刀切”的情况。按照2.2 节的内容,进行模型转换及简化/修补模块的编译工作,交互界面如图16 所示。图16 中第1 个对话框Arc/Hole 表示圆弧/孔的处理,包括生成圆弧的节点数,是否移除小孔,若移除小孔则移除长边尺寸为多大的孔等;第2 个对话框Plate 表示对板的操作,如是否移除尺寸较小的板,可选择根据长边或面积的大小对板进行删除等;第3 个对话框Stiffener 表示对筋的操作,如是否移除尺寸较小的筋,可根据筋的尺寸大小来进行筛选,是否延伸筋顶点至邻近的强框架等;第4 个对话框Other 表示对板缝、小穿越孔等操作。
图16 模型转换及简化/修补模块交互界面Fig. 16 Interface of model transformation and simplification/mending
其中板的开孔是识别XML 文件中圆弧2 个顶点(或孔的圆心)和半径进行几何线的生成,用户自定义需要在圆弧上添加多少个点来模拟圆弧以离散圆弧/孔的几何线。图17 以半圆、添加3 个点为例来说明圆弧/孔的生成方法。
图17 有限元模型中圆弧/孔的生成方法Fig. 17 Generating method of the arc/hole in FEM model
由于有限元模型是离散的,所以不需要考虑构件之间的连接关系,而是依靠XML 文件中的原始坐标和局部坐标位置来定义构件的位置关系,筋模型是通过已生成的板模型单元边界进行生成的,软件界面如图18 所示,先划分板单元,再生成梁单元。图中对网格的控制暂时提供3 个参数:网格平均尺寸、网格最小尺寸及网格最大尺寸。
图18 板、梁单元的划分Fig. 18 Mesh generation for the shell and bar elements
提交给法国船级社BV 的有限元模型仅仅是用于局部强度计算的粗网格模型,生成的有限元模型如图19 所示。
图19 生成的有限元分析模型Fig. 19 Generated FE analysis model
在CATIA 3DE 软件和Patran 软件中重新生成的模型质量和信息完整性都较好,在CATIA 3DE 上重构的设计模型提交给法国船级社审查,是可以在审图软件上识别和进行操作的。在Patran上生成的分析模型进行加载和边界条件设定,可以进行局部强度分析计算。法国船级社基于三维模型无纸化审图和退审工作,完成了部分规范校核、强度计算。船级社给出的审图意见可在网站VPM 上登录查看,与设计单位实时交互共享三维模型数据,是一种三维模型退审意见的实现方法。本研究截取了该舱段的退审意见,如图20 所示。
图20 法国船级社部分退审意见Fig. 20 Part of the review letter from the Bureau Veritas (BV)based on the 3D virtual model
本文针对面向送审的详细设计模型数据信息和特点进行分析说明,对分析模型的数据要求和简化处理进行阐述,并介绍了中间文件格式和接口。采取XML 文件格式,整理了某船舱段模型的数据,对CATIA 3DE 软件和Patran 软件进行二次开发,完成了该舱段设计模型的重构和分析模型的生成。
实现了对目标模型的规范计算和舱段强度分析,打通了三维模型审图全流程,验证了面向送审的三维详细设计模型数据可行性。三维审图可以完全实现传统的纸质/电子版图纸审图的功能和目标。与传统的审图方式相比,设计者不需要提供纸质/电子版图纸,仅以三维模型为对象完成审图。
该实例表明,利用XML 文件进行数据存储,二次开发设计分析平台的输入接口,可以在不同平台上完成模型的重构和生成。XML 格式具有简单易用、便于扩展等优点,能够为船舶不同平台模型间的数据转换方式提供一种新途径。而利用XML 文件进行数据存储,二次开发设计平台的输入接口,也是实现面向送审的三维模型数据转化一种新的尝试。
利用本文所提出的XML 格式对模型数据进行存储,可以在不同平台上完成模型的重构和生成,实现不同平台的模型转换,达到减少设计人员重复劳动的目的。当然,模型质量和重构信息是否完整,也依赖于输入接口编译功能是否完整。但对于现在船舶行业三维送审模型转化的问题,通用数据格式文件共享率更高,而且二次开发的输入软件接口数量相对比专用软件接口数量少。