• 沒有找到結果。

FLAC3D在岩土工程中的应用 - 万水书苑-出版资源网

N/A
N/A
Protected

Academic year: 2021

Share "FLAC3D在岩土工程中的应用 - 万水书苑-出版资源网"

Copied!
38
0
0

加載中.... (立即查看全文)

全文

(1)

利用 FLAC3D 进行数值分析的第一步便是如何将物理系统转化为由实体单元和结构单

元所组合的网格模型(Modeling),该模型与分析对象的几何外形特征相一致。目前,FLAC3D

网格模型的建立方法可分为两种,即直接法及间接法,直接法是按照分析对象的几何形状利

用 FLAC3D 内置的网格生成器建模,网格和几何模型同时生成,该方法较适用于简单几何外

形的物理系统;与之不同,间接法则适用于复杂的、单元数目较多的物理系统,该方法建立

网格模型时,像一般计算机绘图软件一样,通过点、线、面、体,先建立对象的几何外形,

再进行实体模型的分网(Meshing),以完成网格模型的建立,FLAC3D 自身不具备间接法建

模功能,读者可借助第三方软件与 FLAC3D 的接入轻松实现。本章主要介绍 FLAC3D 的网

格建模方法,包括利用网格生成器建立简单网格、利用第三方软件进行模型导入以及复杂模

型的方法。

本章要点:

z

FLAC3D 网格单元的基本类型

z

网格的连接

z

FLAC3D 网格的数据格式

z

常用有限元模型与 FLAC3D 的接入

z

复杂模型的建立

5.1 简单网格的建立

5.1.1 基本网格的形状

FLAC3D 内置网格生成器中的基本形状网格有 13 种,通过匹配、连接这些基本形状网格单元,

能够生成一些较为复杂的三维结构网格。网格单元的基本类型和特征如表 5-1 所示,基本可以归为

四大类,即六面块体网格、退化网格、放射网格和交叉网格。

5

FLAC3D

建模方法

(2)

5 Chapter 表 5-1 FLAC3D 基本形状网格的基本特征 形状 名称 关键词 控制点 个数 单元划分 的方向 个数 内部区域单 元划分的方 向个数 能否 填充 适用范围 六面块体网格 brick 8 3 0 不能 使 用 最 广 泛 的 网格形状 退化块体网格 dbrick 7 3 0 不能 不常用 楔形体网格 wedge 6 3 0 不能 用 于 存 在 坡 面 的 模型的建立 均 匀 楔 形 体 网 格 uwedge 6 3 0 不能 用 于 存 在 坡 面 的 模型的建立 棱锥体网格 pyramid 5 3 0 不能 不常用 四面体网格 tetrahedron 4 3 0 不能 不常用 柱体网格 cylinder 6 3 0 不能 用 于 圆 柱 体 模 型 的建立,如桩、三 轴试验的模型 块 体 外 围 渐 变 放射网格 radbrick 15 4 3 能 用 于 洞 室 模 型 的 建立 六面体隧道外围 渐变放射网格 radtunnel 14 4 4 能 用 于 隧 道 模 型 的 建立 柱 形 隧 道 外 围 渐变放射网格 radcylinder 12 4 4 能 用 于 隧 道 模 型 的 建立 柱形壳体网格 cshell 10 4 4 能 用 于 隧 道 模 型 的 建立 柱 形 交 叉 隧 道 网格 cylint 14 5 7 能 用 于 交 叉 隧 道 模 型的建立 六 面 体 交 叉 隧 道网格 tunint 17 5 7 能 用 于 交 叉 隧 道 模 型的建立

(3)

5

Chapter

5.1.2 单元网格的生成

生成块体网格(Brick)的命令格式如下:

generate zone brick p0 x0 y0 z0 p1 x1 y1 z1 …… p7 x7 y7 z7 size n1 n2 n3 ratio r1 r2 r3

或者

generate zone brick p0 x0 y0 z0 p1 add x1 y1 z1 …… p7 add x7 y7 z7 size n1 n2 n3 ratio r1 r2 r3

在该命令中,generate 为“生成网格”之意,可以缩写为 gen,zone 表示该命令文件生成的是

实体单元,brick 关键词表明建立的网格采用的是 brick 基本形状,p0,p1……p7 是块体单元的 8

个控制点,其后跟这些点的三维坐标值(xn, yn, zn),含义是由 8 个点可确定一个六面体网格。不

过,p0~p7 各点的定义需遵从“右手法则”,不能随意颠倒顺序。如果采用全局坐标系,三维坐标

值应为建模空间内的全局三维坐标值;若采用局部坐标系,则除 p0 点采用全局三维坐标值外,其

他点的坐标值都必须取其相对于点 p0 的三维坐标值,且在点编号后加关键词 add(见本节第 2 行

命令)

。size 为定义坐标轴(x,y,z)方向网格单元数目的关键词,其后跟划分的单元数目(n1,

n2,n3)

;ratio 为定义相邻单元尺寸大小比率的关键词,其后跟坐标轴方向相邻网格单元的比率(r1,

r2,r3)

如果生成的是长方体网格,前述命令可以简化为:

generate zone brick p0 x0 y0 z0 p1 x1 y1 z1 p2 x2 y2 z2 p3 x3 y3 z3 size n1 n2 n3 ratio

r1 r2 r3

或者

generate zone brick p0 x0 y0 z0 p1 add x1 y1 z1 p2 add x2 y2 z2 p3 add x3 y3 z3 &

size n1 n2 n3 ratio r1 r2 r3

即只需采用 4 个控制点即可确定该长方体。

此外,当网格的几何形状为立方体时,上述命令文件可以用下列命令替代,进一步简化,关键

词 edge 后跟的 evalue 是立方体的边长。

generate zone brick p0 x0 y0 z0 edge evalue size n1 n2 n3 ratio r1 r2 r3

除块体网格外,楔形体网格、棱锥体网格和四面体网格可视为块体网格的变种,统称它们为退

化网格,用法与 Brick 的用法相类似。此外,FLAC3D 中为用户提供了一种放射状网格,该类由于

基本形状网格区域的内外边长(或对边)大小不等,从而造成剖分后的网格单元呈放射状扩散。这

类网格在一些特殊几何形状网格模型(如隧道、硐室模型)的建立过程中经常用到,用法如下:

generate zone radcylinder p0 x0 y0 z0 p1 x1 y1 z1 p2 x2 y2 z2 …… p11 x11 y11 z11 & dimension d1 d2 d3 d4 size n1 n2 n3 n4 ratio r1 r2 r3 r4 fill group groupname

命令中,关键词 dimension 后跟确定内部区域的边长(或半径)值;关键词 fill 表示对内部区

域进行填充,其后如跟关键词 group,则表明对填充区域进行了有别于外围材料的命名,组名为

groupname。组名可随意更改,只要它不与 FLAC3D 中的命令、关键词和内置变量名冲突即可。

交叉网格是 FLAC3D 中最复杂的基本形状网格,需用的控制点数目最多达 16 个。这类网格主

要包括柱形交叉隧道网格和六面体交叉隧道网格,通常用于存在相互交叉的隧道和巷道网格的建

立。交叉网格的生成命令文件与前述的柱形隧道外围渐变放射网格极为类似,这里不再赘述。

图 5-1 列出了每种网格的详细图解。

(4)

5

Chapter

(a)六面块体网格 brick (b)退化块体网格 dbrick

(c)一般楔形体网格 wedge (d)均匀楔形体网格 uwedge

(e)棱锥体网格 pyramid (f)四面体网格 tetrahedron 图 5-1 13 种网格建模基本特性(续图)

(5)

5

Chapter

(g)柱体网格 cylinder (h)块体外围渐变放射网格单元 radbrick

(i)平行六面体隧道外围渐变放射网格单元 radtunnel (j)柱形隧道外围渐变放射网格单元 radcylinder

(k)柱形壳体单元 cshell (l)柱形交叉隧道网格 cylint 图 5-1 13 种网格建模基本特性(续图)

(6)

5 Chapter (m)平行六面体交叉隧道网格 tunint 图 5-1 13 种网格建模基本特性(续图)

表 5-2 列出的是生成基本形状的网格时常用的关键词。

表 5-2 使用 generate zone 生成基本形状网格的常用关键词 关键词 用途 关键词 用途 add 用于以 p0 为原点的局部坐标系建模 group 定义某一范围内的网格组名 dimension 定义内部区域的尺寸 p0~p16 建立各种形状网格的控制点 edge 定义网格边长 ratio 定义相邻网格单元的尺寸大小比率 fill 定义网格内部填充区域 size 定义网格在各坐标方向上的单元数目

copy 复制网格 reflect 镜像网格(dd、dip 或 normal、origin)

其中 dimension 是定义 radtun、rancyl、radbr、cshell、cylint、tunint 基本形状网格内部区域尺

寸的关键词,但要注意并不是所有的基本网格都需要用到 dimension。

fill 关键词是填充 radtun、rancyl、radbr、cshell、cylint、tunint 内部区域的,如果没有用,则

内部区域不包括单元。

ratio 如果未给定,默认值为 1。size 如果未给定,默认值为 10。

gen zone reflect 网格生成命令中要用到 dd、dip 或 normal、origin 这些指定面的关键词。后边

一节要重点介绍这个命令的应用。

5.1.3 网格的连接

建立复杂几何形状的网格时,单一采用某一基本形状网格有时候难以达到目的,这时就要对基

本网格进行匹配、连接,才能得到与分析对象相符的网格形状。使用 generate zone 生成网格时,系

统会自动检测连接处的节点,如果已有节点和将要生成的节点的坐标值不超过 1×10

-7

时,系统默认

(7)

5

Chapter

它们为相同的点,生成新网格时,在连接处直接使用基本网格节点,不再生成新的节点。如果已有

节点和将要生成的节点的坐标值差别较大,超过 1×10

-7

时,可借助命令 attach 和 generate merge 来

实现基本形状网格的连接。

命令 attach 可以用来连接单元大小不同的基本网格,但对各网格连接面上的单元尺寸有限制,

要求它们之间的比率成整数倍,以使得不影响计算结果的精确性。建议正式计算前,先将模型在弹

性条件下试运行以检测比率是否合适。如果在连接的网格节点上的位移或应力分布不连续,那么应

调整连接面上单元尺寸的比率;如果不连续范围是微小的,或者远远小于计算模型的大小,那么这

对计算结果的影响有限,可不进行调整。使用命令 attach 连接网格的常用形式如下:

attach face range <……>

命令中 range 后跟定义范围的关键词,用来确定连接面的范围。需注意的是,命令 attach 有一

定的适用范围,采用它连接后的网格的信息不能为镜像(命令 generate reflect)操作所复制。

attach face 命令常用来检查网格模型建立的正确性。如果模型中没有设置接触面,也没有 设置特定的单元不连续的情况,直接运行 attach face 命令可以输出网格中被连接的节点个 数,若输出个数为 0,则模型基本上不存在单元不连续的情况;若输出被连接的节点个数 不为 0,则要特别注意,很可能建模过程中存在一些错误,比如相邻基本形状的网格个数 不匹配等,需要读者仔细检查。

下面用一个例子来说明 attach 的用法,连接不同单元大小的命令如下:

gen zone brick size 4 4 4 p0 0,0,0 p1 4,0,0 p2 0,4,0 p3 0,0,2 gen zone brick size 8 8 4 p0 0,0,2 p1 4,0,2 p2 0,4,2 p3 0,0,4 attach face range z 1.9 2.1

model elas

prop bulk 8e9 shear 5e9 fix z range z -.1 .1 fix x range x -.1 .1 fix x range x 3.9 4.1 fix y range y -.1 .1 fix y range y 3.9 4.1

apply szz -1e6 range z 3.9 4.1 x 0,2 y 0,2 hist unbal

solve save att.sav

建立连续单元网格的命令如下:

gen zone brick size 8 8 8 p0 0,0,0 p1 4,0,0 p2 0,4,0 p3 0,0,4 model elas

prop bulk 8e9 shear 5e9 fix z range z -.1 .1 fix x range x -.1 .1 fix x range x 3.9 4.1 fix y range y -.1 .1 fix y range y 3.9 4.1

(8)

5

Chapter

apply szz -1e6 range z 3.9 4.1 x 0,2 y 0,2 hist unbal solve save noatt.sav

两种情况下的模拟结果如图 5-2 和图 5-3 所示。由两个图可见,z 方向的位移云图分布基本一

致,证明 attach 关键词连接不同单元网格是正确的。

图 5-2 用 attach 关键词连接不同单元网格位移云图 图 5-3 连续网格的位移云图

(9)

5

Chapter

命令 generate merge 也可以用来连接相邻的基本网格。与 attach 不同的是,generate merge 是合

并某一容差范围内的节点,即相邻点间的距离小于设定的容差,它们就会合并成一个点。使用

generate zone 生成基本网格后,输入如下命令:

generate merge vtol

即可实现基本网格间的连接,vtol 为容差,用户可以根据分析需要自行设定。

gen merge 命令也可以用来检查网格模型的正确性。设置一个较小的容差,查看命令的运 行结果,如果存在被合并的节点,则说明模型中某些节点的位置很接近,建模时设置的 节 点 坐 标 可能存 在 错 误 ,这种 情 况 常 常出现 在 将 其 他软件 生 成 的 网格文 件 导 入 到 FLAC3D 后形成的网格模型中,由于不同的软件输出的网格信息的精度不同,在导入过 程中某些节点的位置坐标有所偏差,从而在 FLAC3D 读入时造成网格错误。因此,使用 其他软件生成的网格模型必须要采用 gen merge 命令来检查其正确性。

5.1.4 简单网格模型的建立

先建立一个简单的柱形隧道外围渐变放射网格,命令如下:

gen zone radcyl size 5 10 6 12 fill

显示结果如图 5-4 所示,内部网格已经被填充。

图 5-4 填充后的柱状放射性网格

加上 ratio 后,命令如下,以 1.2 的比率向外扩展,显示结果如图 5-5 所示。

gen zone radcyl size 5 10 6 12 ratio 1 1 1 1.2

下面建立一个巷道模型,尺寸为 100×200×100,用到 radcyl 和 radtun 基本模型,命令如下,

模型显示如图 5-6 所示。

(10)

5

Chapter

gen zone radcyl size 5 10 6 12 rat 1 1 1 1.2 p0 0,0,0 p1 100,0,0 p2 0,200,0 p3 0,0,100 gen zone radtun size 5 10 5 12 rat 1 1 1 1.2 p0 0,0,0 p1 0,0,-100 p2 0,200,0 p3 100,0,0

图 5-5 柱形隧道外围渐变放射网格的建立

图 5-6 用 radcyl 和 radtun 建立巷道模型

然后采用镜像关键词 reflect,生成完整的网格,命令如下,显示图形如图 5-7 所示。

(11)

5 Chapter 图 5-7 用 reflect 关键词生成巷道完整网格

5.2 其他网格模型的导入

FLAC3D 内置的网格生成器使网格和几何模型同时生成,这不利于复杂形状网格单元的连接、

匹配和修改,一定程度上制约了其在复杂网格模型分析中的应用。很多读者基于 FLAC3D 网格的

数据格式自行编制了其他网格,如 ANSYS、ABAQUS、ANSA、HyperMesh 等导入到 FLAC3D 的

接口程序,大大提升了 FLAC3D 的前处理功能。本节主要介绍两种常用有限元软件 ANSYS、

ABAQUS 与 FLAC3D 的模型接入。

5.2.1 FLAC3D 网格的数据格式

要实现其他软件网格模型的导入,必须了解 FLAC3D 网格的数据格式。与大多数有限元软件

相类似,FLAC3D 遵循点(GRIDPOINT)、单元(ZONE)、组(GROUP)的网格数据格式,实体

模型完成后,网格点坐标信息、单元信息和模型分组信息以文件形式通过 impgrid 和 expgrid 命令

自由导入和输出;文件类型为“.flac3d”, 读者可以使用记事本、UltraEdit 等文本编辑工具打开。

这里以一个简单网格模型为例(例 5.1)来说明其 FLAC3D 网格的数据形式。

例 5.1 一个简单的网格模型。

n ;开始一个新的分析

gen zone brick &

p0 0 0 0 p1 1 0 0 p2 0 1 0 p3 0 0 1 size 1 1 1 group 1 ;定义网格点生成块形单元,隶属于组 1

gen zone brick &

(12)

5 Chapter

p0 1 0 0 p1 2 0 0 p2 1 1 0 p3 1 0 1 size 1 1 1 group 2

;定义网格点生成块形单元,隶属于组 2

expgrid 51.flac3d

;输出网格模型数据

运行上述命令后,程序会在命令所在文件夹内生成 51.flac3d 文件,即 FLAC3D 的网格数据,

内容如下。

* FLAC3D grid produced by FLAC3D * GRIDPOINTS

G 1 0.000000000e+000 0.000000000e+000 0.000000000e+000 G 2 1.000000000e+000 0.000000000e+000 0.000000000e+000 G 3 0.000000000e+000 1.000000000e+000 0.000000000e+000 G 4 0.000000000e+000 0.000000000e+000 1.000000000e+000 G 5 1.000000000e+000 1.000000000e+000 0.000000000e+000 G 6 0.000000000e+000 1.000000000e+000 1.000000000e+000 G 7 1.000000000e+000 0.000000000e+000 1.000000000e+000 G 8 1.000000000e+000 1.000000000e+000 1.000000000e+000 G 9 2.000000000e+000 0.000000000e+000 0.000000000e+000 G 10 2.000000000e+000 1.000000000e+000 0.000000000e+000 G 11 2.000000000e+000 0.000000000e+000 1.000000000e+000 G 12 2.000000000e+000 1.000000000e+000 1.000000000e+000 * ZONES Z B8 1 1 2 3 4 5 6 7 8 Z B8 2 2 9 5 7 10 8 11 12 * GROUPS ZGROUP 1 1 ZGROUP 2 2

第一部分为网格点信息,格式为:网格点(Gridpoint)、网格点序号、网格点坐标(x,y,z);

第二部分为单元信息,格式为:单元(Zone)、单元类型(Brick)、单元序号、组成单元的网格点

拓扑信息(Brick 单元由 8 个网格点组成);第三部分为模型分组信息,格式为:组(ZGROUP)、

组序号、组所包含的单元序号。本例中 B8 为 8 个网格点的 Brick 单元,除此之外,FLAC3D 中常

用的基本单元还有 W6-wedge 单元,P5-pyramid 单元,T4-tetrahedral 单元;组成基本单元的各

网格点在全局坐标系下按照特定顺序进行编号,即单元的拓扑信息。例 5.1 中所定义的网格模型如

图 5-8 所示,读者可以检查 Brick 单元中网格点的拓扑关系,不难发现全局坐标系下 8 个网格点的

排布顺序与 5.1 节一致。

将其他软件的网格模型导入 FLAC3D 时,只需将这些软件输出的网格模型信息按照 FLAC3D

的网格模型信息进行改造,就可得到符合 FLAC3D 网格数据形式的模型文件。

5.2.2 ANSYS 网格模型的导入

ANSYS 软件是美国 ANSYS 公司开发的大型通用有限元软件。近 40 年来 ANSYS 公司一直致

力于 CAE 技术的研究和发展,ANSYS 所具有的灵活、开放的解决方案,为概念设计到最终测试

的设计全过程提供了全程 CAE 的协同环境,可以使工程师们在设计的各个阶段使用 CAE 技术,缩

短研发流程、降低研发费用、提高设计质量。无论在国内还是国外,ANSYS 都是使用最为频繁、

(13)

5

Chapter

应用范围最广的 CAE 软件之一,且由于 ANSYS 的应用较为成熟,很多专业绘图软件如 Pro/E、

UG、

CATIA 以及 AutoCAD 等都提供与 ANSYS 的对接,

为用户建模提供了无限的选择空间。

ANSYS

功能完备的前后处理器、强大的图形处理能力和得心应手的实用工具较好地弥补了 FLAC3D 在前

处理方面的不足,通过 ANSYS 模型的导入,读者可以很容易地实现复杂岩土问题的建模,大大缩

短采用 FLAC3D 进行数值问题分析的时间。本节向读者演示 AutoCAD 二维图形导入 ANSYS,然

后在 ANSYS 中进行分网,最后将采集到的网格点和单元信息导入 FLAC3D 的过程。

FLAC3D 3.00

Itasca Consulting Group, Inc. Minneapolis, MN USA Settings: Model Perspective 14:05:26 Mon Apr 11 2011 Center: X: 1.631e+000 Y: 1.158e+000 Z: 2.047e-001 Rotation: X: 10.000 Y: 0.000 Z: 30.000 Dist: 6.030e+000 Mag.: 0.64

Ang.: 22.500 Block Group 7 8 12 11 4 6 8 7 2 7 11 9 1 3 6 4 1 4 7 2 1 2 Axes Pos: ( 0.000, 0.000, 0.250) Linestyle X Y Z 图 5-8 FLAC3D 单元网格点拓扑关系

1.AutoCAD 图形与 ANSYS 的接入

将 AutoCAD 中的二维图形以“.sat”文件格式输出,可直接导入 ANSYS 中去。本节以简单准

三维边坡模型为例,分述 AutoCAD 中二维图形导入 ANSYS 中成模、分网、信息输出以及接入

FLAC3D 的方法。

(1)建立几何模型。

图 5-9 为 AutoCAD 中二维边坡图形,模型由边坡和基岩两种材料组成,基岩厚度为 5m,边坡

高 25m,底部计算边界长 60m,坡顶宽 15m。

在工具栏中单击

,然后选择图形边界,生成面域。在 AutoCAD 主菜单中执行以下路径:

主菜单>输出>其他格式>输入文件名.sat,选择所生成的两个面域后,即可将图 5-9 以“.sat”文件

的格式输出。

打开 ANSYS,主界面如图 5-10 所示。执行路径:

File> Import> SAT..

(14)

5

Chapter

图 5-9 AutoCAD 图形

图 5-10 AutoCAD 图形

(15)

5

Chapter

接下来基于平面模型在 ANSYS 中采用拉伸(Extrude)的方法构筑厚度为 5m 的准三维模型,

操作如下:

路径 1:Main Menu> Proprocessor> Modeling> Operate> Extrude> Areas> Along Normal

执行路径 1,选取两个 Area(面域)中的任一个,在弹出的 Extrude Area by…对话框中(图 5-12

(a))单击 Apply,弹出图 5-12(b)所示 Extrude Area along Normal 对话框,在 DIST 选项中输入

5,单击 OK 按钮;回到 Extrude Area by…对话框,选取另一个 Area,单击 OK 按钮,重复该操作

过程,即可完成准三维边坡模型的构筑,如图 5-13 所示。

(a) (b) 图 5-12 拉伸二维图形

(16)

5

Chapter

(2)分网。

建立几何模型后,即可进行网格划分。首先须定义材料类型、实常数以及单元类型。

路径 1:Main Menu> Proprocessor> Element Type> Add/Edit/Delete

执行路径 1,打开 Element Types 对话框(如图 5-14),单击 Add,打开单元类型库对话框,选

取 Solid45 单元,如图 5-15 所示,单击 OK 按钮后,最后单击 Element Types 对话框中的 Close 按

钮,完成单元类型的定义。

图 5-14 Element Types 对话框

图 5-15 Solid45 单元选取对话框

路径 2:Main Menu> Proprocessor> Real Constants> Add/Edit/Delete

执行路径 2,打开 Real Constants 对话框(如图 5-16(a)所示),单击 Add 按钮,打开单元类

型库对话框,选取 Type 1 Solid45 选项,然后单击 OK 按钮,弹出如图 5-16(b)所示对话框,由

于实体 Solid45 单元没有实常数项,所以单击 Close 按钮。

路径 3:Main Menu> Material Props> Material Models

(17)

5

Chapter

Available> Structural> Linear> Elastic> Isotropic 选项,弹出线弹性材料模型对话框(图 5-18(a)

),

按照提示输入弹性模量和泊松比,再单击 Density 选项,打开密度输入对话框(图 5-18(b)),输

入密度后单击 OK 按钮。

(a) (b) 图 5-16 Real Constants 对话框 图 5-17 定义材料本构模型对话框

在 Define Material Model Behavior 对话框的 Material 下拉菜单中选取 New model 选项,打开定

义材料编号对话框,接受默认编号“2”,单击 OK 按钮。继续执行 Material Models Available>

Structural> Linear> Elastic> Isotropic 选项,按照提示输入弹性模量、泊松比和密度,这里采用的是

基岩参数,弹性模量为 15GPa,泊松比为 0.3,密度为 2550kg/m

3

,最后关闭定义材料本构模型对

话框。

(18)

5 Chapter

(a) (b) 图 5-18 本构模型参数输入对话框

由于分析过程通过 FLAC3D 实现,所以 ANSYS 分网时采用的本构模型和参数

并无实际意义,仅仅是用于区分不同材料而已,读者输入经验参数即可。

定义材料类型、实常数以及单元类型后,通过选择不同材料类别并设置分网的控制尺寸,对不

同模型区域进行网格的剖分,如下所述:

路径 4:Main Menu>Meshing> Size Cntls>Manual Size>Lines>Picked Lines

执行路径 4,弹出以线来控制单元尺寸选取对话框,选取要分割的线,然后单击 Apply 按钮,

打开单元尺寸对话框,如图 5-19 所示。在单元分割等分文本框中输入相应的等分数,然后再单击

OK 按钮,直到所有的线都被分割完为止,最后单击 OK 按钮,如图 5-20 所示。

图 5-19 单元尺寸对话框

路径 5:Main Menu> Meshing> Mesh Attributes> Default Attribs

执行路径 5,弹出要划分的单元属性设置对话框,如图 5-21 所示,用鼠标在单元类型、材料

和实常数中选取边坡模型单元(材料编号为 1),然后单击 OK 按钮。依次执行 Main Menu> Meshing>

Mesh> Volumes> Map 选项,弹出划分单元选取对话框,用鼠标在图形区域里选择边坡区域,然后

(19)

5 Chapter

单击 OK 按钮。重复执行路径 5,在单元类型、材料和实常数中选取基岩模型单元(材料编号为 2),

单击 OK 按钮。生成模型如图 5-22 所示。

图 5-20 线分控制单元大小图 图 5-21 边坡单元属性设置对话框

(3)网格点、单元以及组信息的输出。

生成网格模型后,读者便可采用 Nlist、Elist 命令将模型的单元和网格点信息输出,也可直接

采用 ANSYS 内嵌的 APDL 语言编写程序执行此过程。这里介绍河海大学郑文棠博士编写的命令流,

内容如下:

(20)

5 Chapter 图 5-22 ANSYS 模型网格图 /prep7 *MSG,ui ANSYS to FLAC3D! NUMMRG,NODE, , , ,LOW NUMMRG,ELEM, , , ,LOW nsel,all esel,all node_1=1 node_2=2 node_3=3 node_4=4 node_5=5 node_6=6 node_7=7 node_8=8 ACLEAR,all ! 删除面单元,只保留体单元 NUMCMP,ALL ! 压缩节点号和单元号以及材料号 *get,NodeNum,node,,NUM,MAX *get,EleNum,elem,,NUM,MAX *dim,NodeData,array,NodeNum,3 *dim,EleData,array,EleNum,8

(21)

5 Chapter *Dim,EleMat,array,EleNum,1,1 *do,i,1,NodeNum *get,NodeData(i,1),node,i,LOC,x *get,NodeData(i,2),node,i,LOC,y *get,NodeData(i,3),node,i,LOC,z *enddo *vget,EleData(1,node_1),elem,1,NODE,node_1 *vget,EleData(1,node_2),elem,1,NODE,node_2 *vget,EleData(1,node_3),elem,1,NODE,node_3 *vget,EleData(1,node_4),elem,1,NODE,node_4 *vget,EleData(1,node_5),elem,1,NODE,node_5 *vget,EleData(1,node_6),elem,1,NODE,node_6 *vget,EleData(1,node_7),elem,1,NODE,node_7 *vget,EleData(1,node_8),elem,1,NODE,node_8 *vget,EleMat(1),ELEM,1,ATTR,MAT !写节点数据到文件,默认保存在 G 盘 *CFOPEN,01_node,dat,g:\ *vwrite,

(';The node information file from ANSYS') *vwrite, nodenum %I *vwrite,sequ,NodeData(1,1),NodeData(1,2),NodeData(1,3) %I , %G , %G , %G *cfclos !写单元数据到文件 *CFOPEN,02_ele,dat,g:\ *vwrite,

(';The element information file from ANSYS') *vwrite, elenum %I *vwrite,sequ,EleData(1,1),EleData(1,2),EleData(1,3),EleData(1,4),EleData(1,5),EleData(1,6),EleData(1,7),Ele Data(1,8), EleMat(1) %I , %I , %I , %I , %I , %I , %I , %I , %I , %I *cfclos *MSG,ui File is created in G:/

执行上述命令流后,程序会在 G 盘根目录下生成记录模型网格点信息和单元信息的文本文件

01_node.dat 和 02_ele.dat。

2.ANSYS 与 FLAC3D 的接入

根据 5.2.1 节中 FLAC3D 文件的格式,将文本文件 01_node.dat 和 02_ele.dat 进行改造,读者可

以自行编程实现,思路如下:

(22)

5 Chapter z

读取 01_node.dat 文件,网格点序号、网格点坐标不变,增加网格点标识(Gridpoint);

z

读取 02_ele.dat 文件,单元序号不变,修改单元的拓扑关系,按照 5.1 节中 Brick 单元各

网格点的指定排序关系对 02_ele.dat 进行列操作;

z

增加单元标识(Zone)以及单元类型,判断单元网格点的序号,若无重复号,类型为 B8;

若有两对网格点重号,类型为 W6;若有四对网格点重号,类型为 T4;按照 5.1 节指定的

排布顺序修改 W6 和 T4 单元的拓扑关系;

z

读取各单元的材料编号,并记录相同材料的单元序号;

z

新建文件,将上述信息写入。

很多有限元软件计算时将 W6 和 T4 单元视为 8 网格点单元,故在一个单元中网

格点可以具有相同的序号,而 FLAC3D 中则不支持,如某个单元含有相应编号

的网格点,读入时系统将提示错误。

这里仍采用河海大学郑文棠博士编写的程序 ANSYS-FLAC.exe 实现,将 01_node.dat 和

02_ele.dat 与 ANSYS-FLAC.exe 置于同目录,执行 ANSYS-FLAC.exe 程序,即可生成可读入的

FLAC3D 模型文件。格式如下:

* GRIDPOINTS G 1 1330.1736 -527.5746 5.0000 G 2 1328.4642 -529.2073 5.0000 …… G 465 1355.9014 -534.8639 2.5000 * ZONES Z B8 1 52 90 76 219 75 243 257 242 Z B8 2 219 257 243 43 242 19 5 20 ……. Z B8 254 424 205 465 427 117 262 204 203 * GROUPS ZGROUP 1 1 2 …… 134 ZGROUP 2 135 136 …… 254

打开 FLAC3D,执行路径 File>Import Grid,选取模型文件,显示如图 5-23 所示。

至此,AutoCAD-ANSYS-FLAC3D 的基本建模过程已经介绍完毕,上述方法比较适宜于没

有较多三维建模经验的读者。此外,对于较复杂的真三维模型,没有较多 ANSYS 使用经验的读者

可以直接利用 AutoCAD 的真三维建模功能,将模型以 sat 文件的形式输出,利用 ANSYS 分网后直

接与 FLAC3D 接入(见图 5-24)。

(23)

5

Chapter

FLAC3D 3.00

Itasca Consulting Group, Inc. Minneapolis, MN USA Settings: Model Perspective 10:15:01 Tue Apr 12 2011 Center: X: 1.331e+003 Y: -5.244e+002 Z: 2.500e+000 Rotation: X: 100.000 Y: 30.000 Z: 0.000 Dist: 1.703e+002 Mag.: 1

Ang.: 22.500 Block Group 1 2 图 5-23 FLAC3D 模型网格图 FLAC3D 3.00

Itasca Consulting Group, Inc. Minneapolis, MN USA Settings: Model Perspective 11:27:07 Tue Apr 12 2011 Center: X: 1.564e+003 Y: -3.864e+002 Z: 1.845e+003 Rotation: X: 0.000 Y: 0.000 Z: 140.000 Dist: 1.572e+003 Mag.: 0.64

Ang.: 22.500 Block Group 2 1 4 5 3 图 5-24 真三维边坡模型网格图

(24)

5 Chapter

5.2.3 ABAQUS 网格模型的导入

陈育民等(2009 年)编制了有限元软件 ABAQUS 模型与 FLAC3D 的接入程序,该程序文件

见《FLAC/FLAC3D 基础与工程实例》所附光盘文件,具有 ABAQUS 使用经验的读者可以尝试运

行,本书不做详细介绍。

程序通过 VC++6.0 编译且作出以下几点约束:

(1)允许 inp 文件最大的行数为 100 万行;

(2)最大材料数量为 200;

(3)材料名称为英文,中间不允许有空格;

(4)允许六面体、四面体、金字塔型五面体、三棱柱型五面体等四种单元形式;

(5)无需用户自己输入单元数量、节点数量等信息,程序会自动读取;

(6)读入文件的后缀必须为 inp;

(7)输出文件的后缀自动为.flac3d;

(8)目前仅针对 ABAQUS 6.7 版本的 inp 文件。

程序运行的输入和输出窗口如图 5-25 所示。图 5-26 为其运行的一个实例。

(a)程序输入窗口 (b)程序输出窗口 图 5-25 Abaqus67ToFlac3d 转换程序的输入和输出

X Y Z (a)ABAQUS 网格 (b)FLAC3D 网格 图 5-26 ABAQUS 网格与导出的 FLAC3D 网格

5.3 复杂模型的建立

针对 FLAC3D 在复杂计算模型构建方面的不足,很多学者在 FLAC3D 前处理方面进行了有益

(25)

5

Chapter

的尝试。胡斌(2002 年)采用 FORTRAN 语言编写了 FLAC3D 的前处理程序,对于地表形态复杂、

岩层和地质结构较单一的地质体实现了快速、便捷的建模。丁秀美(2004 年)采用基本单元模型

和多层组合模型对具有复杂地质结构、复杂施工工况的计算模型的建立进行了探索。徐文杰(2008

年)提出了基于 ADINA 软件平台的三维复杂地质体精细建模技术,开发了 ADINA 到 FLAC3D 的

前处理程序。但以上研究成果只能解决实体单元模型的构建和转换,对于岩土工程中大量涉及的土

工结构单元无法进行处理。

西班牙 INGECIBER, SA 公司在 ANSYS 软件平台的基础上二次开发出土木工程分析软件

CivilFEM。CivilFEM 完全内嵌于 ANSYS,材料库和结构单元截面形状库完全支持中国设计规范,

具备完备的结构荷载组合计算方法,计算结果的校核与完全支持中国设计规范《建筑抗震设计规范

(GB50011-2001)》、《混凝土结构设计规范(GB50010-2002)》和《钢结构设计规范(GB50017

-2003)》,该软件还具有针对土木行业的专业功能模块:通用结构设计、岩土工程分析、桥梁结构

分析、预应力混凝土分析等,该软件岩土工程分析模块可方便地将复杂计算模型导入 FLAC3D 进

行计算。

基于 ANSYS/CivilFEM 单元类型模板,HyperMesh 与 FLAC3D 的转换关系如图 5-27 所示,前

处理接口程序将计算模型划分为结构单元和实体单元两类:结构单元包括 Link8 单元、Beam4 单元

和 Shell63 单元,实体单元为 Solid45 单元。Link8 单元可转换为 FLAC3D 的 Cable 单元,Beam4

单元可转换为 FLAC3D 的 Beam 单元和 Pile 单元,Shell63 单元可转换为 FLAC3D 的 Shell 单元、

Geogrid 单元和 Liner 单元,Soild45 实体单元可转换为 FLAC3D 的 Zone 实体区段。

图 5-27 HyperMesh 与 FLAC3D 转换关系

5.3.1 实体单元的建立

任何通用 CAE 前处理软件,其内部单元生成均具有一定规则。对实体模型,有限元软件称

之为单元与节点,FLAC3D 称之为区段与网格点,因此软件之间的接口处理程序需将节点与单元

分别转换成网格点与区段。而对梁、壳等结构单元,FLAC3D 也采用有限单元,因此转换关系是

一致的。

ANSYS/CivilFEM 所采用的实体单元形状与 FLAC3D 一致,但每个单元节点编号规则存在差

异。这两种软件所采用的实体单元节点编号顺序如表 5-3 所示,因此单元网格节点的转换关系应进

行调整。

(26)

5 Chapter 表 5-3 ANSYS/CivilFEM 与 FLAC3D 实体单元数据关系 单元数据 实体单元类型 ANSYS/CivilFEM FLAC3D FLAC3D 单元类型 六面体 Brick 单元 五面楔形体 Wedge 单元 五面锥形体 Pyramid 单元 四面体 Tetrahedron 单元

下面通过一个单位长度六面体单元来说明实体单元的转换方法。

例 5.2 六面体单元转换。

首先在 HyperMesh 中基于 ANSYS 模板生成六面体单元,如图 5-28 所示,然后通过模型输出

生成 ANSYS 可以接受的节点和单元文件。CivilFEM 中需要重新定义材料参数,如图 5-29 所示,

本例中将单元定义为弹性材料,确定体积模量和剪切模量。由于 CivilFEM 中具有材料库可直接选

用,本例选用低塑性黏土(CL),体积模量和剪切模量可自动赋值,FLAC3D 中生成的实体模型如

图 5-30 所示。

/PREP7 !! NODE Data CSYS,0 N,1, 0.0, 0.0, 0.0 N,2, 1.0, 0.0, 0.0 N,3, 0.0, 1.0, 0.0 N,4, 1.0, 1.0, 0.0 N,5, 0.0, 0.0, 1.0 N,6, 1.0, 0.0, 1.0 N,7, 1.0, 1.0, 1.0 N,8, 0.0, 1.0, 1.0 !!HMNAME MAT !! 1 "mat1" MPTEMP,1, 0.0 !节点信息 !整体坐标系 !材料信息 !单元信息

(27)

5 Chapter !!HMNAME ET !! 1 "ET_1" ET,1,45 !!HMNAME PROP !! 1 "PROP_1" R,1, 0.0 !!HMNAME COMP !! 1-1-1 2 "brick"

TYPE, 1 $ MAT, 1 $ REAL, 1 ESYS, 0 EN, 2, 1, 2, 4, 3, 5, 6, 7, 8 ESYS, 0 EN, 1, 1, 2, 4, 3 CM, brick, ELEM FINISH /PREP7 ~CFMP,1,LIB,SOIL,,CL ~CFFL3D,0,0,0,0 FINISH !特性参数信息 !分组信息 !由 8 节点生成单元 !单元坐标 ! CivilFEM 中赋材料参数 !单元输出至 FLAC3D 图 5-28 HyperMesh 六面体单元

(28)

5

Chapter

图 5-29 CivilFEM 中定义材料参数

GENERATE POINT id 1 0.000E+00 0.000E+00 0.000E+00 GENERATE POINT id 2 0.100E+01 0.000E+00 0.000E+00 GENERATE POINT id 3 0.000E+00 0.100E+01 0.000E+00 GENERATE POINT id 4 0.100E+01 0.100E+01 0.000E+00 GENERATE POINT id 5 0.000E+00 0.000E+00 0.100E+01 GENERATE POINT id 6 0.100E+01 0.000E+00 0.100E+01 GENERATE POINT id 7 0.100E+01 0.100E+01 0.100E+01 GENERATE POINT id 8 0.000E+00 0.100E+01 0.100E+01 GENERATE ZONE BRICK p0 point 1 p1 point 3 p2 point 5 & p3 point 2 p4 point 8 p5 point 6 p6 point 4 p7 point 7 & size 1 1 1 group MAT00001

MODEL ELASTIC range group MAT00001

PROPERTY BULK0.333E+08 range group MAT00001 PROPERTY SHEAR 0.714E+07 range group MAT00001 INITIAL DENSITY 0.183E+04 range group MAT00001

!生成网格点

!生成 Brick 单元

!本构模型 !本构模型参数

(29)

5 Chapter

5.3.2 结构单元的建立

ANSYS/CivilFEM 所采用的结构单元形状与节点顺序均与 FLAC3D 一致,两种软件所采用的

结构单元节点编号顺序如表 5-4 所示。需注意的是 FLAC3D 中壳类结构单元(Shell、Geogrid 和

Liner)均为三角形单元,故 ANSYS/CivilFEM 中建立的四边形单元必须分割为三角形单元。可将

具有不同材料参数的结构和实体单元转换至 FLAC3D 并形成不同的材料组,方便模型计算参数的

赋值。

表 5-4 ANSYS/CivilFEM 与 FLAC3D 结构单元关系 单元类型 HyperMesh FLAC3D 单元形状 Link8 单元 Cable 单元 Beam4 单元 Beam、Pile 单元 Shell63 单元 Shell、Geogrid、Liner 单元

下面通过一梁壳单元来说明结构单元的转换方法。

例 5.3 梁壳结构单元转换。

首先在 HyperMesh 中基于 ANSYS 模板生成二节点梁单元和三角形壳单元,然后通过模型输出

生成 ANSYS 可以接受的节点和单元文件。本模型包括二节点 Beam4 单元和三节点 Shell63 单元,

且单元共用节点,如图 5-31 所示。CivilFEM 中重新定义两种材料,如图 5-32 所示。材料 1 定义为

壳单元(图 5-33),材料 2 定义为梁单元(图 5-34),壳单元顶点定义如图 5-35 所示,梁单元截面

定义如图 5-36 所示。壳单元和梁单元赋实常数如图 5-37 和图 5-38 所示,FLAC3D 中生成的结构

单元模型如图 5-39 所示。

/PREP7 !! NODE Data CSYS,0 N,1, 0.0, 0.0, 0.0 N,2, 1.0, 0.0, 0.0 N,3, 1.0, 1.0, 0.0 N,4, 1.0, 0.0, 1.0 !!HMNAME MAT !! 1 "mat1" MPTEMP,1, 0.0 !节点信息 !整体坐标系 !材料信息

(30)

5 Chapter !!HMNAME MAT !! 2 "mat2" MPTEMP,1, 0.0 !!HMNAME ET !! 2 "ET_2" ET,2,4 !!HMNAME ET !! 1 "ET_1" ET,1,63 !!HMNAME PROP !! 2 "PROP_2" R,2, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 !!HMNAME PROP !! 1 "PROP_1" R,1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 !!HMNAME COMP !! 1-1-1 3 "shell" !!HWCOLOR COMP !! 1-1-1 37

TYPE, 1 $ MAT, 1 $ REAL, 1 ESYS, 0 EN, 4, 1, 2, 3, 3 CM, shell, ELEM ESEL, NONE !!HMNAME COMP !! 2-2-2 4 "beam" !!HWCOLOR COMP !! 2-2-2 20

TYPE, 2 $ MAT, 2 $ REAL, 2 ESYS, 0 EN, 6, 2, 4 CM, beam, ELEM FINISH /PREP7 ~CFMP,1,FLSEL ,TSEL,,4

~CFMP,1,FLSEL ,SHELL ,ELE ,4

~SHLRNF,1,100.000E-03,1,0,0.000E+00,0.000E+00,0.000E +00,0.000E+00,0.000E+00,0,0.000,45.00 ~SHLMDF,1,NAME,,,Shell Vertex 1 ~CSECDMS,1,REC,2,0.1,0.1,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ~SECMDF,1,NAME,,,Beam ~BMSHPRO,1,SHELL,1,1,1,1,63,,,0 ,Shell 1 ~BMSHPRO,2,BEAM,1,1,,,4,1,0,,Beam 2 ~CFFL3D,0,0,0,0 !单元信息 !Beam4 单元 !生成 Shell63 单元 !特性参数信息 !生成 Shell 单元 !生成 Beam 单元 !材料 1 定义为壳单元(编号 4) !定义壳为 DKT_CST 单元 !壳单元实常数 !梁单元实常数 !赋壳单元实常数 !赋梁单元实常数 !单元输出至 FLAC3D

(31)

5

Chapter

图 5-31 HyperMesh 结构单元

图 5-32 CivilFEM 中定义材料参数

(32)

5

Chapter

图 5-34 梁单元材料定义

图 5-35 壳单元顶点定义

(33)

5

Chapter

图 5-37 赋壳单元实常数

图 5-38 赋梁单元实常数

(34)

5

Chapter

SEL NODE cid 1 0.000E+00 0.000E+00 0.000E+00 SEL NODE cid 2 0.100E+01 0.000E+00 0.000E+00 SEL NODE cid 3 0.100E+01 0.100E+01 0.000E+00 SEL NODE cid 4 0.100E+01 0.000E+00 0.100E+01 SEL SHELLSEL cid 4 id 4 ele DKT_CST nodes 1 2 3 SEL SHELL PROP DENSITY 0.250E+04 RANGE id 4

SEL SHELL PROP ISOTROPIC 0.319E+11 0.200E+00 RANGE id 4 SEL SHELL PROP THEXP0.100E-04 RANGE id 4

SEL SHELL PROP THICKNESS 0.100E+00 RANGE id 4 SEL BEAMSEL cid 6 id 6 nodes 2 4

SEL BEAM PROP DENSITY 0.785E+04 RANGE id 6 SEL BEAM PROP EMOD 0.000E+00 RANGE id 6 SEL BEAM PROP NU 0.300E+00 RANGE id 6 SEL BEAM PROP PMOMENT 0.000E+00 RANGE id 6 SEL BEAM PROP THEXP0.100E-04 RANGE id 6 SEL BEAM PROP XCAREA 0.100E-01 RANGE id 6 SEL BEAM PROP XCIY 0.8334E-05 RANGE id 6 SEL BEAM PROP XCIZ 0.833E-05 RANGE id 6 SEL BEAM PROP XCJ 0.140E-04 RANGE id 6

SEL BEAM PROP YDIR 0.000E+00 0.100E+01 0.000E+00 RANGE id 6 SEL NODE INIT XPOS ADD 0.0

!生成节点 !生成壳单元 !生成梁单元 !梁单元参数

5.3.3 后处理

FLAC3D 结构单元后处理内容包括节点响应的输出和单元响应的输出,采用 PLOT 命令可以

显示云图,也可采用 PRINT 命令显示具体数值,但有时在进行计算结果后处理时需要将数据批量

输出。下面分别以梁单元和壳单元为例,说明结构单元计算结果的批量输出方法。

例 5.4 梁单元弯矩输出。

假定一根长度为 10m 的梁,起点为(0 ,0, 0),终点为(0, 0, 10),划分为 20 个单元,梁底全约束,

梁顶自由,在梁侧施加 1N/m

2

均布荷载,求解并输出梁单元弯矩。

new

sel beam id=1 begin 0 0 0 end 0 0 10 nseg=20 sel beam prop emod=210e9 nu=0.3 xcarea=1.0 & xciy=0.0833 xciz=0.0833 xcj=0.167

sel node fix x y z xr yr zr range x=(-0.1,0.1) y=(-0.1,0.1) z=(-0.1,0.1) sel beam apply zdist 1.0

sel set damp combined pl sel beam moment my axes solve !建立梁单元 !梁单元参数 !底端约束 !施加均布荷载 !设置阻尼 !显示弯矩

FLAC3D 显示的梁弯矩结果如图 5-40 所示。

由于 FLAC3D 梁单元内力显示方式采用两侧显示,

与常规单侧显示方式不同,表达不直观。下面通过 FISH 子程序将单元内力数据提取出来,这样就

方便通过 ORIGIN 等软件绘制弯矩,计算结果与理论值的对比如图 5-41 所示。

;---梁单元弯矩输出子程序(基于单元形心)--- def force_outp jj=0 loop cid(1,20) !执行单元循环

(35)

5 Chapter sp=s_find(cid) if s_type(sp)=1 then jj=jj+1 ;--第 1 节点相关数据--- np = s_node(sp,1) xx1 = nd_pos(np,2,1) yy1 = nd_pos(np,2,2) zz1 = nd_pos(np,2,3) ffx1= sb_force(sp,1,1) ffy1= sb_force(sp,1,2) ffz1= sb_force(sp,1,3) mmx1= sb_mom(sp,1,1) mmy1= sb_mom(sp,1,2) mmz1= sb_mom(sp,1,3) ;--第 2 节点相关数据-- np = s_node(sp,2) xx2 = nd_pos(np,2,1) yy2 = nd_pos(np,2,2) zz2 = nd_pos(np,2,3) ffx2= sb_force(sp,2,1) ffy2= sb_force(sp,2,2) ffz2= sb_force(sp,2,3) mmx2= sb_mom(sp,2,1) mmy2= sb_mom(sp,2,2) mmz2= sb_mom(sp,2,3) ; --形心相关数据--- xx=(xx1+xx2)/2.0 yy=(yy1+yy2)/2.0 zz=(zz1+zz2)/2.0 ffx=(ffx1+ffx2)/2.0 ffy=(ffy1+ffy2)/2.0 ffz=(ffz1+ffz2)/2.0 mmx=(mmx1+mmx2)/2.0 mmy=(mmy1+mmy2)/2.0 mmz=(mmz1+mmz2)/2.0 ;--- xtable(1,jj)=zz ytable(1,jj)=mmy endif endloop end force_outp

set logfile beam_moment.txt set log on set pagelength 10000 pri table 1 quit !判断单元类型是否为梁单元 !单元第一节点 !六个内力分量 !单元第二节点 !六个内力分量 !单元形心 !六个内力分量进行平均 !将输出内力存于表中 !执行子程序 !设置输出文本 !显示数据

(36)

5 Chapter 图 5-40 梁单元弯矩计算结果 0 1 2 3 4 5 6 7 8 9 10 -50 -40 -30 -20 -10 0 弯矩 /N·m z /m 理论值 计算值 图 5-41 梁单元弯矩计算值与理论值对比

例 5.5 壳单元弯矩输出。

假定单位宽度壳单元,长度为 10m,厚度为 0.1m,划分为 20 个三角形壳单元,底部节全约束,

壳顶自由,在壳外法向施加 1N/m

2

均布荷载,求解并输出壳单元弯矩。

new

gen zone brick size 1 1 10

sel shell id=1 elemtype=dkt_cst range x=(-0.1,0.1) dele

sel shell prop iso=(210e9,0.3) thick=0.1

sel node fix x y z xr yr zr range x=(-0.1,0.1) z=(-0.1,0.1) sel shell apply pres -1.0

sel set damp combined solve !先生成实体 !在实体面上生成壳单元 !删除实体 !壳单元参数 !底端全约束 !施加均布荷载 !设置阻尼

(37)

5

Chapter

sel rec surf surfx 1 0 1

pl sel rec sres mx surfsys off axes

!应力恢复,!显示弯矩

FLAC3D 显示的壳弯矩结果如图 5-42 所示。FLAC3D 壳单元内力显示方式采用云图显示,下

面通过 FISH 子程序将单元内力提取出来,计算结果与理论值的对比如图 5-43 所示。

;---壳单元弯矩输出子程序(基于单元形心)--- sel rec surf surfx 1 0 1

pl sel rec sres mx

def sres_outp jj=0 loop cid(1,20) sp=s_find(cid) if s_type(sp)=4 then jj=jj+1 xx = s_pos(sp,1) yy = s_pos(sp,2) zz = s_pos(sp,3) smxx=sst_sres(sp,0,1) smyy=sst_sres(sp,0,2) smxy=sst_sres(sp,0,3) snxx=sst_sres(sp,0,4) snyy=sst_sres(sp,0,5) snxy=sst_sres(sp,0,6) sqxx=sst_sres(sp,0,7) sqyy=sst_sres(sp,0,8) xtable(9,jj)=zz ytable(9,jj)=smxx endif endloop end sres_outp set logfile mxx.txt set log on set pagelength 10000 pri table 9 quit !内力输出子程序 !判断单元类型 !单元形心坐标 !单元内力分量 !将输出内力存于表中 !执行子程序 !设置输出文本 !显示数据

以上通过两个简单结构模型说明了 FLAC3D 结构单元内力的输出方式,FLAC3D 的 6 种结构

单元的内力输出均可以按照此思路进行。6 种结构单元中,梁单元、索单元和桩单元均为二节点直

线形单元,梁单元和桩单元每个节点均具有 6 个自由度,而索单元每个节点仅具有沿轴线方向的平

动自由度,因此索单元的内力仅能输出轴力,而梁单元和桩单元不仅可以输出轴力,还可以输出弯

矩和扭矩。

(38)

5 Chapter 图 5-42 壳单元弯矩计算结果 0 1 2 3 4 5 6 7 8 9 10 -50 -40 -30 -20 -10 0 弯矩 /N·m·m-1 z /m 理论值 计算值 图 5-43 梁单元弯矩计算值与理论值对比

5.4 本章小结

本章介绍了 FLAC3D 的网格建模方法,包括利用软件自身的网格生成器进行简单建模的方法、

利用第三方软件进行模型的接入方法以及复杂模型的建立方法。学习中,读者应掌握使用网格生成

器进行简单建模的方法,并在掌握 FLAC3D 网格数据格式的基础上了解常用第三方软件的模型导

入操作。对于复杂的工程问题,有时需要进行合理的简化,而不是一味地追求网格模型要与实际工

程“如何相似”,这种“相似”的要求往往使得网格建模时消耗巨大的精力,分析人员应该把更多

的精力投入到如何分析、如何解释计算结果上来。

參考文獻

相關文件

统计范围包括参考年在本澳注册的225间旅行社。是次调查把旅行社的主场所、分社及服务柜台合并为一个单位计算;为方便

按缴纳物业转移印花税及建成年份统计的住宅单位每平方米平均成交价(不包括中间移转及尚待重估价值的楼

修订数字 百分率 百分点 少于. 绝对数值为零 不适用

某项货物的单位价格是指该项货物的贸易货值与其货量之比。季度单位价格指数是计算当季

p 先导化合物的优化( Lead Optimization)的 目的是针对先导化合物存在的一些缺陷,进

【20150302】今天是 2016 年度第一次交读书报告,第一次拿到书单时,感

,在需求分析过程中应该建立起软件系统的 行为模型。状态转换图 ( 简称为状态图 ) 通

微积分的创立是数学发展中的里程碑, 它的发展 和广泛应用开启了向近代数学过渡的新时期, 为研究 变量和函数提供了重要的方法和手段. 运动物体的瞬