5.4.4 数值模型构建过程
数值模拟包括数值建模和数值计算。本案例采用ABAQUS软件来进行有限元分析。从理论和经验上来看,有限元分析足以为本案例的边坡稳定性数值分析提供一个完整可靠的解决方案。
5.4.4.1 数值模型
图5-48 研究区三维实体模型和沿AB线的剖切面
数值建模一般包括目标对象的几何建模、单元属性和边界条件的设置。几何建模涉及仿真模拟和分析的精确性,因此它是最为基础的一个任务。ABAQUS和多数计算机辅助工程程序一样,自身不能进行复杂几何模型的构建,但它可以通过两种方法接收外部的复杂模型。方法A:直接接收第三方软件生成的dxf、acis或iges格式的特定文档;方法B:通过C++或Python语言设计一款自动生成兼容数据格式的软件,以输出正确的inp文件,供ABAQUS读取。本案例根据这两种方法完成了二维模型和三维实体模型的模型转换。
5.4.4.2 手动模型转换
方法A 或手动模型转换仅需一个能输出dxf、acis或iges文档的软件即可。常用的第三方软件有AutoCAD,它可以直接或间接地生产上述格式的文档。但如果采用方法A,三维实体模型会频繁出现信息丢失、模型畸变和拓扑无序等问题。鉴于此,AutoCAD 软件的手动模型转换常用于简易二维模型(目标对象轮廓)(Hu et al.,2012)。采用AutoCAD 的手动模型转换方法如图5-49所示。
5.4.4.3 自动模型转换
图5-49 基于AutoCAD的手动模型转换流程
采用方法B时,对inp文档自动生成的编码可以实现批量数值模型的同步生成,从而提高建模效率,同时还可以避免模型拓扑无序和模型畸变。在成功读取inp文档后,带有辅助设置的完整数值模型或半完整性数值模型就可以直接发送至ABAQUS的FEM(有限元法,finite element method)求解器。简言之,自动模型转换通常用于复杂三维实体模型转换。
inp文档是数值建模的关键,因此要充分掌握inp 文档的结构。根据ABAQUS的CAE数值建模的操作次序(片段、属性、汇编、步骤、负载和网格),inp文档的结构和内容分步骤表述如下[见图5-50(a)]。
(1)片段(PARTS):用户对片段名称进行定义。
(2)汇编(ASSEMBLY):用户对汇编和实例的名称进行定义。在该部分,inp文档的核心,即节点和单元上的信息要按照ABAQUS的要求进行编码(节点和单元分类以及读取顺序参见图5-51)。节点和单元上的信息包括名称、类型、节点坐标、拓扑关系。
(3)材料(MATERIALS):用户对某种材料的属性进行定义,包括名称、密度、弹性属性(杨氏模量、泊松比)、塑性属性,也即莫尔—库仑准则(摩擦角、膨胀角、黏聚和塑性应变)。
(4)边界条件(BOUNDARY CONDITIONS):用户对边界名称、类型和位置进行定义。
(5)步骤(STEP):用户对步骤数,每一步骤的名称、相关属性(几何线性与否、对称与否)进行定义。
(6)加载(LOADS):用户对加载数、名称、类型和量级进行定义。
(7)输出请求(OUTPUT REQUESTS):用户对输出和可视化的变量、域、节点、单元和历史记录进行定义。
要特别重视图5-50(a)中的“End Assembly”(端部汇编),因为它对于整个inp文档和最小inp 文档都是不可或缺的。同时还要严格遵守编程规则[见图5-50(b)]。
图5-50 (a)inp文档的结构和内容,(b)inp文档的编程规则
单元构建时的节点分类和读取顺序如图5-51所示,它们是模型转换的核心,影响着单元质量和仿真模拟结果。严格遵守节点分类规则可以构建出高质量的单元。从上至下对每一栏的节点进行分类,然后从左至右逐栏进行[例如图5-51(a)中从节点N1到N35的节点表示]。读取顺序对于模型转换也很重要。按照单元类型“CPE4R”,节点N1、N2、N8和N9构成了单元1[见图5-51(b)]。严格遵守节点读取方法(1—2—9—8)可以生成较好的单元。相反,如果不能很好地遵循读取方法(1—2—8—9),则会生成一个较差的单元。逆时针(1—2—9—8)或顺时针(1—8—9—2)方向的读取不会产生影响。明确禁止交叉读取(1—2—8—9)的顺序。
图5-51 单元与节点之间的二维拓扑关系
根据上述步骤与规则可知,研究最重要的目的在于提取单元相关的节点空间信息以及拓扑关系。定义两个类别,分别将节点和单元的相关属性以Visual C++的形式进行封装。一个节点的相关属性包括节点索引、x 坐标、y 坐标(如果是三维实体模型数值模型则存在z 坐标);一个单元的相关属性包括单元索引和从属节点索引。