仿真分析软件的算法模型文本格式

责任编辑:济南快创软件IT部

FEMTransfer软件是济南快创智能科技有限公司开发的有限元模型转换软件,可以实现Patran/Nastran/Femap、Abaqus、Ansys/Workbench、Sesam、盈建科/PKPM等仿真分析软件的有限元模型相互转换。本软件的核心算法由毕业于哈尔滨工程大学船舶工程学院的张洪达先生完成,张洪达先生曾就职于中集海洋工程研究院、中国中车风电等单位,一直从事海洋结构物和风力发电机组的研发设计工作,现主要从事海上风机的基础和风力发电机组的相关研发工作。

一、仿真分析模型常见格式

当仿真工作者进入一个更高层的应用,或者在一个全新的领域做分析时,商业通用的有限元软件可能不能满足需求,此时做算法的编程会是更自由的解决方案,本文是有限元科技小编详细介绍了三种模型格式的优缺点,不明觉厉啊!读完之后小编感觉自己逼格更高了,因为小编我好像用的是第三种格式。

仿真分析模型常见的格式分为三大类:二进制、命令流和纯文本格式。

1)二进制格式

二进制格式通常是商业软件的专有格式,只能通过特定的商业软件或者软件提供的二次开发接口进行读写,这些文件往往除了有限元模型数据,还保存额外的模型信息如几何信息(CAD)等,比如ABAQUS的.cae文件,ANSYS的.db文件。二进制格式的优点是文件尺寸相对较小,模型信息完整,但是缺点是对软件的依赖性很强。

2)命令流格式

目前主流的有限元软件都提供二次开发的接口和脚本语言,用户可以通过命令流文件实现模型的建立,比如ANSYS的APDL文件,ABAQUS的Python脚本等。命令流的功能非常强大,足以实现最基本的建模的功能,所以我把它也当做一种特殊的模型格式。虽然命令流文件本身也是纯文本文件,但是与下面将要介绍的纯文本格式有所区别,所以我把它单独列为一类。命令流文件的优点是功能强大、使用灵活,用户能通过”编程”的方式实现建模的过程,并实现丰富的逻辑控制,常用于二次开发和流程定制。而且由于是文本文件,用户通过文本编辑器就能实现建立或者修改模型的目的。当然命令流文件也有它的局限性,一方面它也只能被特定的软件支持,也是一种相对”封闭”的格式,另一方面它对使用者要求较高,需要有”编程”的知识。

3)纯文本格式

大部分有限元软件都提供纯文本格式,如Nastran的.bdf文件、Abaqus的.inp文件等。纯文本格式的优点是格式简单易懂,能使用文本编辑器进行编辑,便于工程人员进行数据的处理(包括编写一些程序实现特定的功能,或者转换成为其他软件的格式);当然缺点是文件尺寸往往比较大,而且缺乏数据流的灵活性。

提到仿真分析软件,大家通常关注它的前后处理的功能、求解器的功能、精度和效率等,而文件格式在很多人看来只是一个简单的数据的载体,怎么看也没有什么技术含量和价值,今天想在这里跟大家分享一下,为什么它是个重要的事情。

其一,核心数据的保值

对于软件用户来说,他们积累的大量历史模型是非常宝贵的数字资产。提到资产,很多人会想到保值的问题,其实有限元模型也有资产保值的问题。如果用户的有限元模型是依赖某个商业软件的特定格式(比如二进制或者命令流),那么很容易就被软件厂商“绑架”了,为了让这些资产保值,也就是说在将来的某个历史时间点能够使用,你必须要一直购买这个软件。

其二,兼容性的保障

文件格式的设计其实也是一个技术活,既要与时俱进,又要保持兼容旧版本。与时俱进一方面是因为软件需要增加新的功能(如新单元、新材料、某种单元格式的新控制参数等);另一方面是因为用户在使用软件的过程中,还可能突破格式的极限。以Nastran的Bulkdata格式为例,最初的格式大概只支持fixedformat,一个字段最多只能有8个字符,这样就出现单元的ID号最大只能为99999999。格式最初的设计者当时可能没有预料到硬件的发展会允许用户求解单元数大于99999999的模型。这个瓶颈出现后,Nastran发明了largefixedformat,支持一个字段16个字符,后来大概预见到这个迟早也不够用,就提供了以逗号分割的freeformat,终于才算把这个位数限制彻底解决。后来的很多软件的设计比如ABAQUS的.inp格式,就采用逗号分割字段,避免了Bulkdata中看来很“愚蠢”的宽度限制问题。保持兼容旧版本的重要性很好理解,不管格式添加什么新的内容,对于用户来说,一个模型如果在旧版本的软件里运行正常,而在新版本的软件里不支持,这是不可接受的。

其三,多格式的支持

很多时候用户有软件格式转换的需求。一种情况是,用户需要用不同的软件做不同类型的分析,比如在汽车行业,用户经常采用Nastran做NVH分析,这时如果需要用Dyna做碰撞分析,就需要把Nastran模型转换为Dyna模型。另一种情况是,用户需要采用两个不同的软件进行同一个分析,确保结果的可信度,某些特定的行业甚至把这个需求作为硬性要求。如果用户的模型能方便地转换为其它软件的格式,不仅能大大减少用户的建模时间,而且能降低对特定软件的依赖(软件采购砍价的时候也能更主动),这也是数字资产“保值”的一个重要方面。目前有不少有限元模型格式转化工具,比如HyperMesh、Abaqus、Femap、ANSA等软件都提供了模型格式转换的功能,网上也有一些格式转换器,比如FEMTransfer软件转换的质量就非常不错,比我试过的几个软件都要好。但是由于有限元模型的定义非常复杂,而且各个求解器的功能和定义方式又有差别,绝大部分模型转换工具的转换质量参差不齐,经常会丢一些信息,转化后的模型常常需要手工的修复。

最后,我们预测一下有限元格式的发展趋势。很早就有人提到发展一套基于公开标准的有限元模型格式,方便软件厂商和用户统一数据接口(类似CAD模型里的STEP格式),但是据我所知,虽然有一些积极的尝试,但是还没有一个工业界普遍接受的标准格式出现。之所以出现这个问题存在多方面的原因,一个原因是主流软件厂商动力不足,因为他们希望用户被绑定在自己的转有格式上;另一个重要原因是这个项目确实工作量巨大,需要投入海量的人力物力,而且非常有挑战性。但是不管怎样,我相信这样一个格式迟早会出现,到时候,应该对软件用户和开发者都是一个福音。这个格式是什么风格现在没有定论,但是我大胆预测应该会满足以下几点要求:1、纯文本;2、自由格式(支持任意大的整数和浮点数)。

二、Nastran的bdf文件数据格式

Nastran对物理单位没有限制,只要求用户在创建有限元模型时使用一致性单位制,也就是说,用户可使用英制、SI制或用户自己建立的本身一致的单位制。在实际使用时由于疏忽,经常会发生使用不一致单位。常见的例子是以英尺定义模型的几何尺寸(也许是直接从民用工程蓝图中取来的),而以lb/in2定义弹性模量。Nastran本身不去检查不一致单位制的存在,如果使用了不一致单位,便会得到错误的结果,并且无任何警告信息生成。因此,在实际使用时,一定要注意避免类似问题的发生。

Nastran有三种不同的输入数据格式:小域格式、大域格式、自由域格式。

Nastran模型数据段的每一个输入数据记录(卡)包含10个字域:第1个字域填入该模型数据卡的特征名(如GRID,CBAR,MAT1等),第2~9字域包含模型数据记录(卡)的数据输入信息;第10字域不填数据,这是为继续信息记录(卡)预备的(如果需要的话)。这里以一个典型的Nastran模型数据记录格式——GRID记录(卡)为例讲解,这是用来描述结构模型的节点坐标的。

1)自由域格式

在自由域格式中,数据字域是用逗号或空格分开的,最好采用逗号。下面用自由域格式来表示GRID卡:

2)小域格式

小域格式如下:

本例GRID卡的小域格式为:

小域格式的规则:第1字域和第10字域必须是左对齐的;第2~9字域无须左对齐或右对齐,然而数据居中是合适的。

3)大域格式

在某些Nastran 的实际应用中,要求高的数字精度。当小域格式不能提供足够的有效数字时,便采用大域格式(注意,负号、小数点和实数表示法中的E都当成字符)。大域格式表示的每个记录至少有两行,每一行的第一个字域和最后一个字域包含8列,期间的各字域均为16包含列。大域格式表示的输入数据记录(卡)用紧随第一行第一字域1A的字符串后的(*)和置于第二行第一段IB字符串前的(*)来表示的。以大域格式来表示GRID卡的例子如下:

4)继续卡

某些模型数据记录要求多余8个字域(72列)的数据,此时需要继续卡,为此在母卡第一行)后面依次跟随一个或多个继续卡。例如,考虑简单梁的性质卡PBAR:

继续卡的例子:

在母卡的第10字域的+PB1是由用户任意定义的指向第二行第1字域的指针,在第二行的+PB2是指向第三行的指针,如此类推。

继续字域(+PB1,+PB2......)也可由Nastran自动生成(这是一种推荐采用的方法)。为自动生成继续字域,继续行必须紧接母卡,另外,继续行的第1字域和第10字域必须是左对齐的。

版权说明

备案标识公网安备编号  |   工信部编号