基于BIM的精细化有限元模型转换方法
2022-02-28林焯铭杨旭杰彭修宁
邹 新, 林焯铭, 杨旭杰, 彭修宁
(广西大学 土木建筑工程学院, 广西 南宁 530004)
在工程设计阶段,结构设计人员除了建立用于配筋计算的结构分析模型之外,按照我国现行的GB 50011—2010《建筑抗震设计规范》和JGJ 3—2010《高层建筑混凝土结构技术规程》规定,对于体型复杂、结构布置复杂和超过一定高度的高层建筑物应至少采用两个不同力学模型的结构分析软件进行整体计算[1,2]。因此,当使用BIM(Building Information Modeling)技术进行结构正向设计时,结构设计人员需要在不同的软件中搭建计算模型,特别是对于前处理比较复杂的有限元计算软件,这将会导致结构设计效率十分低下。随着BIM正向设计在结构设计阶段不断推广,BIM模型与有限元分析软件之间的模型转换问题也日益突出,因此目前急需开发出结构设计阶段所涉及的BIM模型与各结构分析软件之间模型转换接口,以实现BIM模型的“一模多用”,减少结构设计人员的工作量。
目前许多结构分析软件如PKPM,SAP2000,MIDAS/CIVIL等均有与BIM建模软件之间的模型转换接口[3,4]。王强等[5]采用参数化建模的方法,通过ABAQUS软件自带的脚本语言Python开发出PKPM与ABAQUS模型转换接口。孟仲永等[6,7]以AutoCAD为图形处理平台,利用C++语言开发出复杂高层和大跨度空间结构从SAP2000和YJK到ABAQUS的模型转换程序。董立坤等[8]提出一种中间通用的结构模型数据描述实现不同结构分析程序模型数据转换方法,并利用该方法实现PKPM结构模型和ETABS结构模型的转换。刘照球等[9,10]基于IFC(Industry Foundation Classes)中间数据格式从结构分析模型的数据转换角度对转换方法进行了研究,提出一种BIM和各类结构分析软件之间模型数据转换的间接方法,并开发了相应的数据转换接口。但以上研究在模型转换过程中,将实体构件简化成结构单元(梁单元、壳单元等),或仅针对由矩形构件组成的简单结构,导致转换后的有限元模型不适用于结构精细化分析。
1 ACIS-API模型转换基本框架
目前BIM模型向有限元模型转换通常有三种方式:(1)基于IFC中间标准格式文件实现不同软件之间的模型转换以及信息传递,但在实际应用中,各软件公司并未严格按照IFC标准格式构建数据库,从而导致仅使用IFC中间格式进行模型转换时出现IFC文件读取及输出错误、信息丢失等情况,此转换方式不适用结构精细化分析;(2)基于软件二次开发直接提取BIM模型的几何信息、材质信息等,最终通过编程语言将提取出的信息整理成有限元软件可识别的数据文件,进而生成有限元模型, 但这种模型转换方式并不能在有限元分析软件中形成有限元几何模型,并且需要在转换程序中自行编写模型网格划分规则,无法进一步修改、拓展结构模型以及重新划分网格,此转换方式也无法满足结构精细化分析的需求;(3)基于统一的中心数据库实现模型无损转换,但中心数据库只在同一软件厂商内部开放。
本文在上述三种转换方式的基础上提出一种ACIS-API模型转换方法,实现BIM模型向精细化有限元模型的自动化转换。
1.1 ACIS-API模型转换方法
ACIS格式文件由几何信息、拓扑结构和属性三部分组成,其中几何信息只包含组成模型实体的点、线、面信息;拓扑结构描述了组成ACIS模型实体之间的连接方式;属性则是用来储存实体的附加信息或者用户信息。ACIS格式文件可描述线框、曲面以及实体三种模型,并且ACIS格式文件采用边界表达(B-rep)描述几何体,能较好地描述复杂结构几何体,且定义的三维模型具有唯一性[11]。
因此,本文以ACIS格式文件为基础,API软件二次开发为辅提出一种ACIS-API模型转换方法,其主要流程如下:(1)在BIM建模软件中导出ACIS格式文件,之后在有限元分析软件中读取ACIS格式文件生成ACIS几何模型;(2)详细分析精细化模型转换所需信息,为BIM模型添加材质、荷载及边界条件等基础信息,完善BIM模型向精细化有限元模型转换所需信息;(3)建立外部模型信息数据库,利用软件二次开发提取BIM模型中的几何、材质、荷载及边界条件等信息,并将提取出的信息储存于外部数据库中;(4)将ACIS几何模型与数据库储存信息进行信息匹配,通过软件二次开发将材质、荷载及边界条件信息赋予相应ACIS几何模型上,形成有限元几何模型;(5)对有限元几何模型进行网格划分,形成有限元分析模型。具体流程如图1所示。
图1 ACIS-API模型转换方法流程
1.2 模型数据与外部数据库交互
为避免在模型转换过程中出现冗余信息过多而导致转换效率低下、信息丢失等情况,本文采用建立外部模型数据库方式,对模型信息进行储存及传递。并采用ADO(Active Data Object)数据访问技术[12]实现模型数据与外部数据库交互,交互内容主要包括:(1)根据模型转换所需信息建立相应的模型信息储存数据库;(2)提取BIM模型信息,并将其储存至外部模型信息数据库;(3)将数据库中模型信息与ACIS几何模型进行匹配。
2 模型转换接口实现
ABAQUS作为通用的有限元分析软件,可以解决复杂结构的线性以及非线性问题,但其结构建模的前处理过程十分繁琐,尤其是对于包含异形构件的建筑,做到精细化建模则需要大量时间和精力。而作为被广泛应用的BIM建模软件Revit,其强大的建模功能可以将复杂建筑物的几何信息和非几何信息集成在其建立的数字化模型中,且这些信息允许用户通过二次开发提取使用[13,14],同时ABAQUS软件开放了内核程序(Kernel)的脚本接口,可通过Python语言调用Kernel建立几何模型、指定材料属性、施加荷载以及边界条件等命令[15]。
本文以Revit与ABAQUS为例,采用上述ACIS-API模型转换方法编写精细化模型转换程序,实现Revit与ABAQUS之间的精细化模型转换。
2.1 单位转换
由于Revit软件中的基本单位制为英尺,而ABAQUS软件中并未规定其基本单位制。因此,在模型转换过程中需要人为规定ABAQUS软件中的基本单位制,本文所规定的ABAQUS软件中的基本单位制如表1所示。Revit API提供了UniUtils类,可通过UniUtils.ConvertFromInternal-Units()方法实现Revit与ABAQUS软件之间的单位转换。
表1 ABAQUS基本单位制
2.2 模型转换所需信息分析
为满足精细化有限元模型转化的信息需求,应对模型转换所需信息进行详细分析。根据ABAQUS软件中生成精细化有限元模型所需信息,可将模型信息分为几何信息、材质信息、荷载及边界条件三大类。本文基于MySQL数据库建立外部模型数据库,其中外部模型信息数据库包含三个数据库:(1)几何信息库,用于储存BIM模型中构件的几何信息;(2)材质信息库,用于储存BIM模型的混凝土、钢筋等材质信息;(3)荷载及边界条件信息库,用于储存BIM模型中荷载信息以及边界条件。
同时为保证数据库中BIM模型信息与ACIS几何模型精确匹配,需要对BIM模型中的每个构件定义一个唯一主键用于构件与其对应的材质信息和荷载及边界条件信息形成拓扑关系。图2为外部模型信息数据库存储的数据类型,以几何信息库中的构件ID为唯一主键,通过构件ID将几何数据库、材质信息库、荷载及边界条件信息库联系在一起,便于数据的关联查询和使用[16]。
图2 外部模型信息数据库存储数据
2.3 生成几何模型
本文以ACIS文件格式为基础,利用Revit二次开发将BIM模型中的几何模型信息整理成ACIS格式描述的数据文件,其次利用ABAQUS二次开发读取ACIS格式文件在ABAQUS中生成ACIS几何模型。
以下为生成几何模型核心代码:
(1)Revit中输出ACIS格式数据文件
//文件夹储存位置
string folderPath=@"F:DesktopExportSAT";
//ACIS格式输出文件名
string fileName="GeometricModel";
List
//遍历各个视图的BIM模型构件
foreach (Element elment in views)
{
View3Dview3D=elment as View3D;
List
//需要转换模型视图ID
ElementId viewId=view3D.Id;
elementIds1.Add(viewId);
SATExportOptions exportOptions=new SATExportOptions();
经过十余年的探索实践,重庆市婚姻家庭社会工作内容逐渐完善,主要包括三方面:一是打造“家和计划”特色服务品牌;二是构建“4+5+5”服务创新模式;三是初步形成标准体系。
// ACIS格式文件输出函数
document.Export(folderPath, fileName,
elementIds1,exportOptions);
}
(2)形成ACIS几何模型
filepath="F:/Desktop/ExportSAT/GeometricModel.s-at"
//读取ACIS格式文件
acis=mdb.openAcis(filepath,scaleFromFile=OFF)
//生成几何模型
mdb.models['Model-1'].PartFromGeometryFile(na-me=partName,geometryFile=acis,bodyNum=i1, combine=False,dimensionality=THREE_D,type=DEFORMABLE_BODY)
2.4 信息匹配
ACIS几何模型与外部数据库模型信息匹配主要包含以下步骤:(1)通过判断ACIS模型几何特征与数据库中存储的模型几何信息是否一致,将ACIS几何模型与构件ID关联;(2)根据构件ID查找ACIS几何模型对应的材质、荷载及边界条件等信息,并通过ABAQUS二次开发赋予相应构件;(3)根据构件ID查找ACIS几何模型对应的空间坐标信息,并通过ABAQUS二次开发对几何模型进行装配,最终形成ABAQUS有限元几何模型。具体流程如图3所示。
图3 信息匹配流程
3 程序验证
3.1 几何模型转换验证
在Revit软件中运行模型转换程序导出ACIS格式文件,图4为ACIS格式文件截取片段,程序自动获取BIM模型信息并将其储存入外部模型数据库,之后在ABAQUS中读取ACIS格式文件生成ACIS几何模型。图5为门式钢框架模型、水闸、斜拉桥BIM模型转换后示意图,由图可见转换后模型并未出现构件丢失、错位等现象,从而验证该模型转换程序可实现几何模型精细化转换。
图4 ACIS格式文件片段
图5 几何模型转换对比
3.2 网格划分验证
网格划分的质量以及单元类型对结构计算结果有着巨大影响,模型转换程序在完成几何模型转换之后,几何模型可按照结构计算精细化程度自行在ABAQUS中进行网格划分、赋予单元类型,同时也可对网格大小以及单元类型进行调整,最终形成有限元分析模型。图6为不同网格尺寸的网格划分对比图,其中图6a网格大小为300 mm、六面体单元类型(C3D8 ),图6b网格大小为150 mm、四面体单元(C3D10)类型。
图6 不同网格尺寸的网格划分对比
3.3 转换后有限元分析模型正确性验证
3.3.1 静力计算分析
为验证转化之后有限元模型的正确性,对T形螺栓连接钢梁柱节点进行静力分析,采用上述转换方法将BIM模型转化成ABAQUS有限元模型,如图7所示。梁柱及相关附件采用Q235钢、螺栓采用10.9级M16高强度螺栓,其初始预拉力根据GB 50017—2003《钢结构设计规范》[17]选取,模型材质信息及单元类型如表2所示。同时对梁施加30 kN,柱顶施加10 kN集中力,柱底采用固端约束,并对梁端以及柱顶施加面外约束。
图7 转换后T形节点ABAQUS模型
表2 材质信息及单元类型
图8为T形螺栓连接钢梁柱节点静力计算结果,由图可知最大应力出现在钢梁柱节点连接处,梁端最大位移为6.2 mm,T形板发生小幅度屈曲,计算结果符合实际工程状况。并且T形节点在力的作用下位移场保持连续,各构件连接处未出现突变。从而表明转换后的有限元分析模型无材质、荷载边界条件信息丢失,适用于有限元精细化分析。
图8 T形节点计算结果
3.3.2 模态分析
另外以三层混凝土框架结构为例(图9),用以验证转换后有限元分析模型的正确性以及对计算效率进行说明。其中,柱采用C35混凝土,梁板采用C30混凝土,结构纵筋采用HRB400钢筋,箍筋采用HRB335钢筋。底层柱均采用刚接,部分模型信息如图10所示。
图9 SAP2000与ABAQUS计算分析模型对比
图10 Revit-ABAQUS模型信息数据库部分模型信息
同时本文还在SAP2000中建立构件尺寸、材质信息以及荷载边界条件完全相同的结构分析模型,计算其前3阶的固有频率,然后与ABAQUS中的计算结果进行对比。SAP2000模型与ABAQUS模型模态分析结果如表3所示,前三阶振型对比如图11所示。
图11 三层框架结构模型振型对比
表3 SAP2000模型与ABAQUS模态分析结果
由表3可知,两个模型的结构总质量基本一致,结构前三阶自振周期误差在5%之内,各阶模态MAC值均在0.9以上,说明两者计算出的振型符合程度较高,进而表明模型转换正确,可用于计算。
就前处理建模效率而言,采用本文的模型转换方法,ABAQUS模型前处理建模效率明显高于SAP2000,但由于ABAQUS中转换之后的有限元模型采用计算精度更高实体单元类型,相较于SAP2000中采用纤维梁单元、壳单元的计算模型分析所需时间更长,并且两者计算结果相差无几。
4 结 论
(1)为解决当前BIM模型向有限元分析模型转换后模型无法用于精细化分析问题,本文提出ACIS-API模型转换方法,该方法可将BIM模型中包含的几何、材质、荷载及边界条件等信息完整精确地赋予有限元模型,实现BIM模型向精细化有限元模型自动转换,无需在有限元软件中重复建模以及结构参数赋予等操作,为结构进行精细化分析奠定基础。
(2)同时本文根据上述模型转换方法编写了Revit与ABAQUS之间精细化模型转换程序,该模型转换程序可将BIM模型向ABAQUS精细化有限元模型自动转换,并且转换之后的有限元模型可根据计算精细化程度自行在ABAQUS中划分网格、赋予网格单元类型、重新划分网格以及修改和拓展结构模型。
(3)本文提出的模型转换方法主要针对于需要精细化分析的复杂结构类型,采用本文提出的模型转换方法可明显提高计算效率。同时也可用于规则简单的BIM模型转换,但转换之后的有限元模型相较于采用纤维梁单元、壳单元计算模型,其计算效率提高程度不明显,在如何既保证计算精度又能提高计算效率这一方面今后可进行更加深入研究。