APP下载

Revit-Abaqus模型转换接口的开发与应用

2020-03-09王玄玄黄玉林赵金城段立平

上海交通大学学报 2020年2期
关键词:分析模型边界条件构件

王玄玄, 黄玉林, 赵金城, 段立平

(1. 上海交通大学 土木工程系, 上海 200240; 2. 上海建工集团股份有限公司, 上海 200080)

近年来,建筑信息模型(BIM)技术在我国受到越来越多的关注,而其在一些大型的公共建筑如上海中心大厦、国家游泳中心(水立方)、上海迪士尼乐园、北京中信大厦(中国尊)等[1-4]设计施工中的应用,又进一步推动了中国建筑行业数字化、信息化的发展.

BIM技术的核心是建筑信息,而建筑信息又以建筑模型为载体,这也反映了建模软件在BIM软件中的重要地位.对比Revit、Bentley系列、ArchiCAD和CATIA等三维建模软件的使用范围,结合中国市场的建模习惯和熟悉程度,与AutoCAD同属Autodesk公司的Revit成为了更多工程师的选择.考虑到Revit在结构分析方面的弱势,科研人员以及软件开发工程师们利用中间软件或者IFC格式文件作为转换平台[5],开发了众多接口,如Revit与 Robot、ETABS、STAAD、YJK、PKPM等软件[6-9],但究其功能,主要还是应用在工程结构的施工图设计方面.另外,如Robot等软件对中国的规范考虑较少,使得其应用也受到了一定的限制[10].

Abaqus[11]作为一款大型通用有限元分析软件,可以解决复杂结构的线性、非线性模拟问题,其丰富的单元和材料模型库,可以模拟复杂的形状结构及其材料性能.Abaqus中解决某个问题的完整分析过程包括前处理、模拟计算和后处理3个部分,结构建模主要是在前处理中完成的,而完成前处理的方法主要有Python脚本编写、Abaqus/CAE交互式输入以及INP文件编写.一般情况下,简单构件的建模往往通过CAE实现,一些重复性较高的模型建立则会考虑通过Python脚本完成.而对于复杂结构或者在其他软件中建立的模型,考虑INP文件可以实现一些Abaqus/CAE不支持的功能并可以控制分析过程[12],往往优先采用编写INP文件并且导入Abaqus进行结构计算的方式,如PKPM与Abaqus[13]之间的数据转换.

为实现结构精细化建模和数值分析研究,宋杰等[14]编写了转换程序获取Revit中建立的结构物理模型的几何数据,并整理成ANSYS可以识别的 APDL 命令流,实现简单框架结构模型在两者之间的转换.丁晓宇[15]在其基础上实现了简单网壳结构的建模及转换,但结构分析需要的边界条件、荷载工况以及网格划分信息等仍需在ANSYS中重新设定.

本文结合Revit强大的参数化建模和二次开发能力以及Abaqus优秀的结构计算分析能力,编写模型转换程序,可快速实现复杂结构在Revit中建模至Abaqus中数值模拟及结果分析的过程,大大提高了建模分析的效率.

1 基于ACIS的模型转换方法

图1 Revit中的族模型及导入Abaqus中的模型对比Fig.1 Comparison between Revit family model and introduced Abaqus model

Revit和Abaqus基于共同的商业内核ACIS,均支持.sat文件的导入导出,理论上可以较方便地进行两者之间的转换.然而,由于.sat文件本身是用来存储ACIS模型的线框、曲面和实体(即只存储结构的几何模型)的一种数据格式,目前仅支持 Revit 中的实体族模型以part模型的方式导入Abaqus中进行装配(见图1).如:韩守都等[16]在Revit中建立钢岔管的三维族模型,将其导出为.sat数据格式,之后导入Abaqus中修正,并完成网格划分、材料属性定义、边界条件和荷载工况添加、结构计算分析等过程;Yan 等[17]同样基于两者共同的ACIS内核,以HyperMesh软件为“桥梁”平台,将Revit等CAD软件以及通用CAE软件打包形成集成系统,以实现在Revit中建立参数化几何模型、HyperMesh 软件中划分网格、有限元软件的CAE中施加边界条件和荷载工况、定义后处理输出,最后进行计算分析和结果显示.显然,对于由多种类型构件组成的复杂结构,该方法并不能提高建模效率,反而会因为修正转换过程中的细节偏差而增加时间成本.

2 模型转换接口开发

2.1 开发工具

Revit不仅是一款功能强大的参数化三维建模软件,其丰富的API更是为开发者将扩展功能的应用程序集成到Revit平台提供了极大的方便.

本文以Revit 2015为结构建模平台,利用其API进行二次开发时,需要基于.NET Framework 4.5及以上编程环境进行编译和调试,故选择微软公司提供的Visual Studio 2015,并以可读性以及可编译性更好的C#作为编程语言,采用外部应用(IExternal Application)的方式开发结构模型转换接口.在模型转换接口开发之前,需要搭建开发环境,详细的流程如图2所示.

图3 模型转换接口的算法流程图Fig.3 Algorithm flow chart of model exchange interface

2.2 模型转换接口开发流程

在Revit中建立的三维结构模型包括结构物理模型和结构分析模型.前者包含各组成构件的编号、几何尺寸、位置信息、横截面特性、材料物理特性等,后者包含荷载工况、构件两端约束条件和结构边界条件等.Revit与Abaqus中的模型信息对比如表1所示.由表1可知,这些可获取的信息与编写INP文件所需要的数据吻合,适合利用二次开发技术进行提取转存,实现Revit和Abaqus之间的数据转换.

转换程序默认采用梁单元和壳单元,即将获取的梁、柱构件以B31(考虑剪切变形的Timoshenko梁单元)进行计算,板构件采用S4R(线性、有限薄膜应变的壳单元).实现模型转换接口的算法流程如图3所示.

图2 开发环境搭建流程Fig.2 The process of building development environment

表1 Revit与Abaqus中模型信息对比

Tab.1 Comparison of model information in Revit and Abaqus

Revit中可提取的数据Abaqus中对应的数据INP文件中的关键字构件ID、坐标、几何信息节点*NODE单元*ELEMENT材料材料*MATERIAL截面参数截面*SECTION荷载荷载*LOAD边界条件边界条件*BOUNDARY

2.3 模型转换算法要点

INP文件主要是由模型和历史两部分数据组成,前者定义了有限元模型,而后者则定义了模型执行的作业,两者以分析步(*STEP)为界.

2.3.1Revit模型信息过滤 Revit结构三维模型提供的信息较多,为减少后续提取数据的工作量,首先采用过滤的方法遍历模型中的所有信息,分类收集不同类型的构件(梁、柱、板)及其编号、材料特性、边界条件和荷载等信息.

2.3.2节点及单元信息转换 Revit中采用“点—线—面—体”的方式构成几何体,即通过关键点的坐标数据构成多条直线,这些直线组成不同平面,而多个平面又构成不同的几何实体展现在视图界面上.在Revit中创建结构物理模型时,系统会自动生成包含受力构件全部数据信息的结构分析模型,但仍需要进行分析链接、支座检查和一致性检查,才可通过Revit API获取结构分析模型的详细数据.

Revit中构件分析模型的编号是唯一的. Revit API通过Element.GetAnalyticalModel()方法可以获取结构分析模型,而根据分析模型对应的元素类型的不同,主要通过GetPoint ()、GetCurve ()和GetCurves ()3种方法获取分析模型中结构梁、柱的两端节点坐标以及楼板的各角点坐标;对获取的梁、板、柱集合中的所有构件依次进行自动网格划分,利用分析模型的唯一编号对网格划分后的所有节点和单元进行编号.另外,由于结构梁支撑在结构柱上,结构楼板支撑在结构梁上,在进行节点以及单元整理时需要删除梁、板、柱的重复节点和单元信息.

2.3.3构件截面信息转换 Abaqus中梁单元的截面选择与实际结构构件的截面几何形状有关,具体的截面定义方法包括:① 从截面库选择;② 自定义截面特性;③ 通过数值计算获得.本转换程序中采用第1种方法,即通过Abaqus中梁单元的横截面库进行选取.梁单元的横截面库如图4所示.

以Revit中建立的工字型钢梁为例,如图5所示,可以通过Parameter方法获取其截面的几何参数:高度d,上、下翼缘的宽度bf和厚度tf,腹板的厚度tw,而INP文件中对工字型截面的描述是“I”,尺寸顺序依次是:l,h,b1,b2,c1,c2,c3,如图6所示.其中,1~5为Abaqus中I型载面梁在计算截面受力的几个点.通过两者之间的映射关系,完成INP文件中关于截面尺寸的转换.同理,可以实现对其他截面类型INP文件的书写.

INP文件中*BEAM SECTION关键字下,除了第1行对截面特征值的描述,第2行对横截面方向的描述也需要考虑.空间中梁单元的默认值是 [0 0 -1],3个值分别表示第1个梁截面轴的第1方向余弦、第2方向余弦和第3方向余弦.故在构件截面信息转换时,还需要考虑梁的横截面方向,如图7所示.

根据t的定义,当获取到梁单元的两端节点坐针对规则框架,梁单元截面的t轴和n1轴方向如表2所示.柱子梁单元的法线方向t=[0 0 *],故其n1轴必与x轴或y轴平行;框架梁的梁单元如果计算获得的t为[0 * 0]或[* 0 0]时,表明其与y轴或x轴平行,此时梁的n1方向分别为 [1 0 0] 和 [0 1 0].对于壳单元,只需从Revit结构物理模型中获取其厚度参数,写入INP文件*SHELL SECTION关键字下即可.

图4 梁单元横截面库Fig.4 Beam element cross-section library

图5 Revit中工字型梁的横截面参数Fig.5 Cross-section parameters of I-beams in Revit

图6 Abaqus中I型梁的横截面参数Fig.6 Cross-section parameters of I-beams in Abaqus

图7 梁横截面坐标体系Fig.7 Beam cross-section coordinate system

标后,即可确定法线t;而根据右手准则可知,t,n1,n2中确定任意两个的方向,即可获得截面的方向.故转换程序只需确定n1和n2其中一个,便可实现截面方向的定义.

表2 规则框架中梁单元截面n1轴的方向

Tab.2 Then1axis direction of beam element cross-section in the regular frame

单元t方向特征n1轴方向框架柱与y,z轴平行[1 0 0] 或 [0 1 0]框架梁与x轴平行[0 1 0]与y轴平行[1 0 0]

2.3.4材料特性转换 Revit中建立的结构模型包含图形、外观、物理特性、热度等丰富的材料信息,在Revit API中使用Material类代表.在Abaqus中进行结构分析时,需要弹性模量、密度、泊松比等物理特性,而这些信息被封装成可被文档中所有材料访问的元素,即API中的PropertySetElement类,可通过GetStructuralAsset()方法获取,并存储在StructualAsset类中.

2.3.5荷载及边界条件转换 Revit中建立的结构分析模型允许在梁、柱、支撑、楼板、剪力墙上施加点、线、面荷载,并且支持编辑和修改荷载力(Forces)和弯矩(Moments)的值.

Revit API中的点、线、面荷载分别需要通过PointLoad、LineLoad和AreaLoad类获取.其中,PointLoad类提供了荷载力所在的单元、具体位置坐标、大小和方向;LineLoad类提供了线荷载所在的单元、起点和终点坐标及其相应的荷载值;AreaLoad 类提供了围成荷载施加面的各直线所在的单元、起点和终点坐标以及面荷载值.

转化程序中荷载主要包括:结构自重、节点荷载、梁上线荷载、楼面均布荷载.

边界条件是指根据周围环境定义结构构件的支撑情况,又称支撑或约束.Revit中可以施加点、线、面3种类型的边界条件,其中又分为:固定、铰支、滑动和用户4种状态.在用户状态下,用户可以根据实际约束情况将x、y、z方向的平动和转动设置为固定、释放或给定具体的弹性刚度.在INP文件中,边界条件对应的关键字为*Boundary,分别用自由度1~6代表沿坐标轴x、y、z方向的平移和旋转自由度,故转换程序只需判定边界条件的类型并获取其位置信息和各自由度的约束状态即可.

另外,构件与构件之间默认为刚接.当构件之间的连接节点为其他连接形式时,获取构件分析模型中的起点以及终点约束的释放情况,并将其写在 *RELEASE 关键词下.

2.3.6设置分析步 完整的INP文件还需要定义分析类型和输出文件的场变量、历史变量,根据结构分析的需要进行定义即可.

2.3.7转换检查 为了确保转换接口的准确性,需从网格划分后的节点、单元数目、截面类型和尺寸、材料特性、荷载类型与大小、边界条件等方面对 Revit 和Abaqus中的模型进行对比,确保模型的一致性.另外,检查完上述模型信息的内容正确性之后,还要检查INP文件的书写是否规范、合法,如:INP文件中每行数据不多于16个,且不准出现空行等.

3 转换验证

以多层多跨L型空间钢框架为例,在Revit中建立其三维结构模型,如图8(a)所示;楼板厚150 mm,采用C35混凝土,柱脚均刚接,荷载考虑结构自重及3层局部楼面荷载,如图8(b)所示.

点击自主编写的“Revit-Abaqus模型转换”功能面板下的“导出INP文件”选项(见图8),便可生成相应的INP文件,可将其导入Abaqus中进行结构分析.整个模型的转换验证情况如表3所示.其中,Revit和Abaqus模型中的节点数目和梁、壳单元数目分别通过手算和转换接口自动网格划分后统计计算获得(后同).由表3可知,该模型的转换是完整且正确的.另外,在SAP2000软件中建立同样的结构模型(见图9),并与Revit中建立的模型导入Abaqus中进行计算分析的结果(见图10)进行对比.由于SAP2000中框架应力σ的云图没有彩条指示,需要点选相应的截面来查看具体的数值.从图9和10的结果来看,两者最大应力的发生位置相同,大小分别为62.79和62.24 MPa,偏差率小于1%;最大竖向位移uz的发生位置相同,大小分别为4.501和4.534 mm,偏差率也小于1%.以最大竖向位移所在的x向为剖面,获得的Abaqus和SAP2000中竖向位移的对比如图11所示.由图11可知,两者比较吻合,这也证明了所编写的模型转换程序是正确的.

图8 Revit中多层钢框架结构模型Fig.8 Integral steel platform structure model in Revit

图9 导入Abaqus中的模型及分析结果Fig.9 The model and analysis results in Abaqus

图11 Abaqus与SAP2000中指定剖面的结构竖向位移对比Fig.11 Comparison of vertical displacement in the specified section of Abaqus and SAP2000

表3 空间钢框架转换验证Tab.3 The space steel frame exchange verification

4 某工程核心筒施工整体钢平台模型应用

4.1 工程背景

上海某超高层建筑核心筒由9个内筒组成,从13层起使用整体钢平台模架爬升体系进行施工,本文以13~51标准层为研究对象.该超高层项目的核心筒分布及整体钢平台的油缸布置情况如图 12 所示.其中:A~D为十字交叉的中心点.由图12可知,每个内筒中均布置筒架支撑系统,除中心核心筒外,其余8个筒内各布置4个液压顶升油缸.Revit中建立的整体钢平台正常爬升工况下的三维结构模型如图13所示.

图12 核心筒分布及整体钢平台油缸布置图Fig.12 Core tube distribution and integral steel platform cylinders layout

图13 Revit中整体钢平台结构模型Fig.13 Integral steel platform structure model in Revit

4.2 模型转换验证及结构分析

对整体钢平台模型转换的正确性进行检查的结果如表4所示.由表4可知,该模型转换是完整和可靠的.

将Revit导出的INP文件导入Abaqus中获得的有限元模型和计算得到的结构应力云图、竖向位移云图以及油缸顶升力F云图如图14所示.由图14可知,转换程序中进行的自主网格划分质量较高,并且结构位移是连续的.另外,Revit中建立复杂结构模型的速度较快,整个结构建模分析过程的效率更高.

表4 整体钢平台模型转换验证Tab.4 Integral steel platform model exchange verification

图14 导入Abaqus后的整体钢平台模型及其计算结果Fig.14 Integral steel platform model and calculation result after introducing Abaqus

5 结语

本文充分利用Revit高效、三维可视化、参数化建模的优点及其丰富的Revit API,编写了Revit与Abaqus之间结构模型的转换接口,不但弥补了BIM技术在结构分析方面的劣势,也有效地解决了Abaqus中复杂结构建模效率低的问题,实现了 Revit 与Abaqus的优势互补.

在内容方面,本文给出了Revit-Abaqus模型转换接口的算法流程,即通过提取结构物理模型和分析模型所携带的数据信息并转化成INP文件格式,同时对自动网格划分、梁单元截面类型及其n1方向的获取等算法要点进行了详细解释,之后通过空间钢框架结构验证了其可靠性和高效性,最后将该转换接口应用于某超高层核心筒施工中采用的整体钢平台模架体系的结构分析.

所开发的转换接口实现了Revit模型中梁、柱和板构件分别以梁单元和壳单元在Abaqus中进行结构计算的目标,但针对钢结构连接节点(如:螺栓连接)的实体模型转换并未涉及,之后可以进行更加深入的研究.

猜你喜欢

分析模型边界条件构件
基于混相模型的明渠高含沙流动底部边界条件适用性比较
钢筋混凝土构件裂缝控制
基于开放边界条件的离心泵自吸过程瞬态流动数值模拟
纤维增强复合材料疲劳寿命预测及损伤分析模型研究进展
重型车国六标准边界条件对排放的影响*
衰退记忆型经典反应扩散方程在非线性边界条件下解的渐近性
基于大规模弹幕数据监听和情感分类的舆情分析模型
基于构件的软件工程技术与理论方法探讨
全启发式语言分析模型
大功率型EPS控制器热分析模型的研究