首页/文章/ 详情

工业软件数据格式 | INP与ODB的前世今生

4月前浏览5911

1978年的某个深夜,在美国沃尔瑟姆(Waltham)某处,一摞包含计算条件信息的打孔卡被吞进了IBM计算机中,而在另一侧的卡片转译设备中则输出了一卷长长的纸张,上面打印着一行行整齐的结果数据。

打孔卡编程

数据列表

那些打孔卡,便是INP文件的前身,而那些数字列表,则在未来被冠以ODB文件的名号。计算机中运行着的,便是在仿真界赫赫有名的ABAQUS的初代程序。

INP文件是ABAQUS求解器的输入文件,记录了ABAQUS仿真求解所需的所有信息;ODB文件则是输出文件,记载着求解后的分析结果。

而它们的缔造者,ABAQUS公司的创始人之一,David Hibbitt博士,此时正在焦虑地等待计算结果,因为这是他驱车100多公里才换来的一次程序验证机会,如果等到白天,租用计算机的价格将贵很多。

年轻时的David Hibbitt

01 ABAQUS创业史

在成立ABAQUS公司之前,David曾与其博士生导师,著名的MARC公司的创始人Pedro Marcal,一同开发并推出了第一个商业非线性有限元程序MARC。

在那个编程还要靠打孔卡的年代,计算机的计算性能还不及当今智能手机的万分之一,David和Pedro克服重重困难开发的非线性有限元求解程序,得到了大量项目订单,Pedro教授也从布朗大学辞职下海,正式走入市场开辟新的战线。

然而,创业路上难免出现意见分歧,David与Pedro的分歧点用今天的话来说就是“用户思维”。David敏锐地意识到目前的MARC程序的可用性太差,实际使用起来很难满足大多数工程师的需求,需要用户懂代码才能够使用,而这对于大部分专注于设计的工程师来说是很困难的。

David说:“我们认为当前的明智之路是为需要进行非线性计算的工程师开发出一个强大的‘黑盒子’工具。”但是不幸的是,Pedro对这种投资没有兴趣。

意识到老板的局限性后,David选择了出走创业,他与两位前同事Bengt Karlsson和Paul Sorensen在1978年合伙成立了HKS公司。他们所构思的软件产品,正是后来大名鼎鼎的ABAQUS,关于ABAQUS的名字由来,其实最初David设想的是ABACUS,也就是“算盘”,有计算分析之意。可是由于商标已经被注册,所以灵机一动把“C”改成了“Q”,发音没变,且Q代表“Quality”,有质量上乘之意。

ABAQUS早期LOGO与含义

尽管有MARC公司的经历珠玉在前,但是David的创业之路仍旧十分坎坷。

“我们是一家软件公司:没有软件,没有计算机,没有客户或潜在客户,几乎没有钱”David如实说。他们首先编写了《用户手册》,旨在使问题定义变得简单而直观,然后设计了系统的代码架构,同时也编写了《理论手册》。

在那段从0起步的日子里,David一边在大学里兼 职授课补贴公司开支,一边开发程序。开发好的程序,要去离家100多公里的沃尔瑟姆,才有IBM计算机来进行运行验证,为了省钱,他们经常是在夜间使用计算机(白天租用价格是夜间的2.5倍)。

直到1978年6月,David得到了第一位客户——汉福德核发展基地实验室(Hanford nuclear Development Site),该实验室需要解决快速增殖反应堆燃料棒的接触问题,合同要求9月底交付代码。三个月的时间并不充裕,但是对于创业公司的首个客户,无论如何也要服务到位,于是在克服重重困难后,David和Bengt按时交付了15000行的FORTRAN代码,这也是ABAQUS的第一个版本。

02 从数据列表到七彩云图

后来,随着计算机技术的不断发展,打孔卡成为了历史回忆,无论是输入数据还是输出数据,都可以在显示器中进行显示和编辑,INP和ODB的文件格式已见雏形。

彼时ABAQUS还没有前后处理器,只有求解功能,所以当用户面对复杂的结构模型时,需要将手动其处理成INP文件中的节点、单元、载荷等数据,并按照规定格式编写好提交计算。而输出的结果数据只能以数据列表的形式查看和分析。即便是知识深厚的天才工程师,每天面对着如此抽象的数据表现形式也难免头大。

很明显,如果没有前处理器来解决复杂建模问题,并通过后处理器以图形的方式查看结果,它很难作为独立产品继续下去。

ABAQUS先是通过外接绘图仪的方式,来实现“绘图输出文件”,用户可以在分析中插入间隔地输出应力或位移的绘图命令,生成一个绘图文件并在绘图仪上绘制,那时要花半天时间才完成几百个单元的云图绘制工作。

直到1987年,ABAQUS/Post作为一个独立的后处理器发布,具有图像显示和命令输入的功能,不需要再外接绘图仪了。结果数据也终于从ODB文件中的数据列表成为了五彩斑斓的云图,不仅让仿真工作的效率大大提升,更给工程师的工作增添了一抹色彩。

第一款后处理器ABAQUS/Post

解决了后处理的问题,前处理更是ABAQUS团队的一大挑战,为此HKS公司投入大量资金,终于在1999年推出了ABAQUS/CAE的第一个版本,用户可以在GUI界面中轻松地创建、管理和可视化复杂的仿真模型,并针对特定应用定制专属的ABAQUS界面。

ABAQUS/CAE的第一个版本

此后,INP文件和ODB文件退居幕后,成为了前、后处理器与求解器之间的"传声筒",新一代用户也很少再从如何写INP文件学起,而是从简单易用的ABAQUS/CAE界面入手,在3D图形窗口中进行直观的交互操作,或许根本没注意过INP和ODB的存在。

03 格式解析,工业软件绕不过的大山

所以,INP和ODB从此就躲在文件夹的角落里无人问津了吗?故事还远远没有结束。

对于很多ABAQUS的高级用户而言,用户界面中的功能按钮不足以应对所有的工作场景,也无法满足他们对于求解器的掌控欲,很多特殊场景下的功能只能通过编辑INP文件才能实现,在INP文件中不仅可以实现前处理界面中的所有功能,还可以控制分析过程,自定义输入与输出,且更加快速。

同时,随着CAE软件的百花齐放,不同软件之间的数据格式解析转换也成为了工业软件厂商绕不过去的大山,许多工业软件开发团队所研发的优秀求解算法因未能打通与主流商软间的接口而导致难以通用,开发团队将大量的时间用于研究如何解析不同格式的数据文件,重复造轮子,无法将精力投入到最核心的算法开发中。

面对这种情况,云境智仿通过对主流格式的深入研究,自主开发了一款可以解析转换多种数据格式的组件化产品YJExchanger,可以满足INP、ODB、CDB、RST、VTK等十余种CAE前处理格式、结果格式的读写与相互转换。

YJExchanger支持的格式

基于自主研发的数据中间表示和数据结构设计,YJExchanger不但可以确保数据的完整准确,还使得格式解析转换时的内存占用率极低,实现高效计算。

YJExchanger ODB数据解析示例

从打孔卡上的一颗颗圆孔到文本文件中的一串串字符,从枯燥的数字列表到漂亮的七彩云图,INP和ODB文件不仅记载着设计人员的智慧,也承载着仿真人员和程序开发者的汗水。

他们寻求物理世界的真谛,将千变万化的物体与结构抽象成节点和单元,将无形无色的声光热电力具象成载荷与约束,他们在有限的计算资源约束下去挑战无限复杂的物理世界,力求逼近最真实的工况,凝练出最优化的设计方案,帮助人类以最小的成本探索未来,奔赴星辰大海。

YJExchanger数据解析示例

参考资料:

  1. 《Abaqus简史:“黑科技”之路》https://www.sohu.com/a/414660312_722157

来源:CAE知识地图
MarcAbaqus非线性二次开发通用电力理论控制
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2024-06-29
最近编辑:4月前
毕小喵
博士 | 博士研究生 CAE知识地图 作者
获赞 195粉丝 287文章 82课程 1
点赞
收藏
作者推荐
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈