引 言
随着城市化的发展,地震对经济发展和人民生活的潜在威胁越来越严重,城市建筑震害预测成为防灾减灾的一个重要方面。城市区域内的建筑群震害预测包含两个层次:宏观层次和微观层次。宏观层次模型将建筑抽象成一个或少量自由度的结构,进行不同烈度下地震损失分析预测。微观层次模型[2]将建立建筑物更加精细化的分析模型(例如杆系模型等),可以考虑结构的足够多的自由度和精确的动力特性,进行高精度的震害分析预测。
城市建筑震害预测,需要获取和存储城市建筑的基础数据。如果只是建立宏观层次模型,则只需要建筑面积、年代、层数、结构类型等少量宏观数据,其数据来源可以是城市GIS数据库等。基于GIS的城市震害预测已经有一定的研究基础[3]。而建立微观层次的精细化模型需要更详细的数据,如梁柱的尺寸、配筋等,若采用手动方法建立精细化模型,不仅工作量太大,也容易出错,特别对于某些开源的有限元软件(如OpenSees),没有前处理界面,建模极不方便。比较合理的方法是利用建筑已有的数字化模型,从中提取建筑震害分析所需要的详细数据,自动建模供计算模块进行分析计算。然而不同软件生成的建筑数字化模型有着不同的数据格式,而计算模块也可能由不同的结构分析软件组成(如Marc,OpenSees等)。因此,需要采用一个统一的数据标准,以实现不同软件之间的数据交换。
建筑信息模型(Building Information Model,BIM)致力于在建筑的全生命期实现不同建筑工程领域的信息共享和协同管理,基于BIM的建筑数字化模型是未来重要的发展方向。目前,BIM采用IFC标准作为建筑产品的数据交换标准,不同软件之间通过IFC这个统一的标准来交换数据。然而研究表明[4],基于IFC标准的建筑模型与结构模型之间的信息传递与共享还不是十分成熟。张剑涛等[5],刘照球[6, 7]等开发了IFC与PKPM结构模型的数据转换接口,能初步实现二者的几何、材料等信息的转换,但缺乏载荷信息等的转换。也有学者尝试建立通用建筑结构模型转换平台,以IFC为通用数据转换标准,实现任意常用结构分析软件间的结构分析模型数据转换。但这类研究尚处于起步阶段,目前仅实现了SATWE、ETABS、SAP2000等软件与IFC标准的转换接口,所能实现的数据转换也仅限于几何、材料等信息。
因此,能否利用BIM的共享性,解决城市建筑震害预测的数据获取以及自动建模问题,具有重要的研究价值。
1. 建筑震害分析及数据需求
对于钢筋混凝土框架结构,通常采用纤维梁模型作为抗震弹塑性分析的精细化计算模型。不少软件都能具备建筑抗震弹塑性分析能力,其中两类典型的软件是Marc和OpenSees。
由于城市建筑信息是以单体建筑为基础的,因此,本文利用C++编写了一个模型转换程序,从一个单体钢筋混凝土建筑的(IFC格式的)数字化模型中,提取建筑震害分析所需的信息,自动生成Marc和OpenSees软件模型,验证转换后的模型能否用于分析建筑结构在地震作用下的响应,如图1所示。
图1 编写模型转换程序,将IFC格式模型转换成Marc模型和OpenSees模型
Fig.1 Convert IFC-format files into Marc and OpenSees models using a model converter
1.1 Marc与OpenSees软件
Marc是一款功能齐全的高级非线性通用有限元软件[8],用Marc进行建筑震害模拟,可以得到较为理想的分析结果,且适用于大多数分析需求。
基于纤维模型原理,清华大学土木工程系利用Marc软件提供的二次开发接口,编写了THUFIBER程序[9],使Marc软件能对钢筋混凝土结构进行纤维模型计算。THUFIBER将混凝土构件的截面分为36个混凝土纤维,以及4个钢筋纤维(纤维划分方法也可以由用户自定义),各纤维的面积由截面尺寸和配筋决定。对每根纤维定义特定的本构关系,便可以进行不同精度的有限元分析。
OpenSees(Open System for Earthquake Engineering Simulation),是一个能进行结构抗震弹塑性分析的开源软件[10]。相比内部代码不透明的商用有限元软件,OpenSees的开源性使得研究者能全面掌握它的运行机制,并能根据自身需求进行二次开发,因此,OpenSees是进行建筑震害研究的重要工具。OpenSees中,混凝土梁柱也用纤维模型模拟。
选用上述两种软件进行震害分析,可以同时利用商业软件的健壮性和开源软件的透明性。
1.2 建筑震害分析的数据需求
为了从IFC文件中提取充分的信息,以自动生成Marc和OpenSees结构模型,需要全面了解这两种软件的建筑震害分析建模方法,并总结震害分析所需的数据信息。这些数据信息分为两类,一类与混凝土结构模型有关,如结构构件的位置、几何信息、材料信息、载荷等。另一类则与震害分析的方法和过程有关,如地震波的选取、载荷工况的增量步总数和每个增量步的时间步长等,这类数据随着分析方法和要求的变化而变化,并且在软件中可以很方便地实现这类参数的调整。因此,应该重点关注第一类数据需求,即与混凝土结构模型有关的数据。
通过考察这两种软件的建筑抗震分析模型,得到抗震分析的数据需求如表1所示。
表1 建筑抗震分析的数据需求
Tab.1 Data requirements for structural seismic analysis
2. 抗震分析的数据需求的IFC表达
IFC的复杂性,也是限制它发展、导致常用软件普遍无法导出满足抗震分析的IFC文件的原因之一。因此本文在仔细考察IFC4体系的基础之上,选择其中的常用部分,建立IFC4结构分析子信息模型。例如配筋的描述仅保留了方法(4)。虽然这降低了IFC的全面性,但仍能描述抗震分析所需的关键信息,增强了实用性。
描述IFC(子信息)模型的最方便的工具是EXPRESS-G[15],图3是它的部分图例。
2.3.2 其他建筑抗震分析数据的IFC4描述方法
与2.3.1小节类似地,建立了结构构件、载荷、支座约束、材料、截面几何特性等信息的IFC4描述方法。以载荷为例,如图5所示,图中实体属性未全部列出。IFC4能描述线性变化的分布载荷,但为了降低复杂性,本文建议将这类载荷转换成等效均布载荷,用IfcStructuralLinearAction实体表达。
图5 载荷信息在IFC4中的描述方法
Fig.5 Description of load in IFC4 standard
3. 模型转换程序设计
根据第2章所建立的完整的IFC4结构分析子信息模型框架,可以构建满足抗震分析数据需求的IFC4模型文件,进而采用C++语言设计模型转换程序,解析IFC模型文件,自动生成Marc和OpenSees软件模型。
IFC模型由EXPRESS语言定义,是ASCII格式纯文本文件形式,因此IFC文件需要经过解析识别,才能供程序代码处理。本文使用IFCEngine.dll作为IFC文件解析工具,这是一款免费工具包,但要求编程者对IFC体系十分熟悉。
根据表1所示建筑震害的数据需求,设计了节点、单元、支座约束、截面几何、材料等5个类(class),并用Map、Vector等C++标准模板库中的容器将各个类的不同对象有序地组织起来。程序的输入模块通过调用类的成员函数,从IFC模型文件中提取所需数据,赋值给相应的数据成员。例如节点类Node调用SetCoordinate函数提取并设置节点坐标。模型转换程序的IFC解析及提取数据部分的流程如图6所示。
图6 模型转换程序的IFC解析及提取数据部分的流程图
Fig.6 Flow chart of the IFC parse and data obtaining part of the model converter
由于采用了合理的数据结构设计,程序的输出模块的实现比较方便,分别遍历相应容器,按照Marc和OpenSees的建模规则输出节点、单元、材料等类的数据成员,便可自动生成这两种软件模型。
4. 实例验证模型转换效果
为了验证模型转换程序的正确性,用IFC4标准建立了一个钢筋混凝土框架模型。模型为清华大学主楼的一榀10层3跨平面框架[16],边跨7.5米,中跨3.5米,框架总高度45.05米,模型详细尺寸及配筋等信息见文献。IFC模型以及转换后的Marc模型如图7所示(OpenSees没有显示模型的界面),由图可知单元、节点、支座约束转换正确。检查模型参数,截面、材料、载荷等也都转换正确。
图7 IFC模型(左)及自动生成的Marc模型(右)
Fig.7 IFC model(left) and auto-generated Marc model(right)
分别用Marc和OpenSees对自动生成的模型进行模态分析,得到的前三阶振型所对的频率相差小于1%,如表3所示:
表3 Marc与OpenSees模态分析结果对比
Tab.3 Modal analysis result of Marc and OpenSees
对框架输入Y方向地震动加速度,分别用Marc和OpenSees进行弹塑性时程分析。选用El Centro地震波,地震峰值加速度设为400Gal,顶点位移的时程曲线如图8所示,吻合得很好。
图8 Marc与OpenSees弹塑性时程分析结果对比
Fig.8 Elasto-plastic time-history analysis result of Marc and OpenSees
两个软件的模态分析和时程分析结果的一致性,进一步说明了模型的单元、材料等各参数都得到了正确转换。
5. 结 论
本文从建筑震害分析的数据需求出发,逐一分析了这些数据需求在IFC4中的表达方法,建立了一个完整的IFC4结构分析子信息模型。利用该子信息模型,就能通过IFC4标准来描述可进行建筑抗震弹塑性分析的钢筋混凝土结构模型。
根据建立的IFC4结构分析子信息模型以及Marc和OpenSees软件的建模规则,编写了模型转换程序,实现了节点、构件、载荷、支座约束、材料、截面几何等所有抗震分析所必要的信息的正确转换,进行了IFC文件到Marc和OpenSees软件之间的数据转换的新尝试。
在此基础上,还有很多研究内容可以继续开展。例如,扩展本文建立的IFC4结构分析子信息模型,使之能描述楼板、剪力墙等其他结构构件;考虑城市建筑群信息的IFC表达方法等。