FLAC动力分析 联系客服

发布时间 : 星期日 文章FLAC动力分析更新完毕开始阅读

墙体 K = 4000 MPa

5 m

G = 2000 MPa

10 m

土体 K = 200 MPa G = 100 MPa

图11-1 动态多步作用的实例

本例计算中不考虑重力的影响,因此不用进行初始应力设置和平衡,直接进行动力计算。动力荷载采用正弦函数,采用FISH函数的方法进行定义,可以方便修改荷载的频率(freq)、幅值等。

2. 命令流

例11.1:动态多步实例

new

conf dyn ;打开动力计算功能 gen zone brick size 10 5 10 mod elas

mod null range x=0,5 z=5,10 ;删除部分网格 fix z range x=-.1 .1 z=.1 10.1 ;设置静力边界条件 fix z range x=9.9,10.1 z=.1 10.1 fix y range y=-.1 .1 fix y range y=4.9 5.1

prop bulk 2e8 shear 1e8 ;设置土体参数

prop bulk 4e9 shear 2e9 range x=5,6 z=5,10 ;设置墙体参数(土体参数的20倍) ini dens 2000 ;设置密度

def setup ;动荷载中的变量赋值 freq = 1.0

omega = 2.0 * pi * freq old_time = clock end

1

1

clock是FISH变量,表示计算机目前的时间

setup ;执行变量赋值 def wave ;定义动荷载函数 wave = sin(omega * dytime) ;定义动荷载变量 end

apply xvel = 1 hist wave range z=-.1 .1 ;施加动荷载 apply zvel = 0 range z=-.1 .1 hist gp xvel 5,2,0 hist gp xvel 5,2,10 hist gp zvel 5,2,10 hist dytime

def tim ;估算程序运行的时间 tim = 0.01 * (clock - old_time) end

set dyn multi on ;设置动态多步 solve age 1.0

print tim ;输出计算时间 print dyn ;输出动力计算相关信息 save mult1.sav

注意:动力计算中必须设置材料的密度,若模型中存在结构单元,也必须设置结构单元的密度,否则会出错。采用FISH函数定义动力荷载时,FISH函数和变量应具有相同的名称。因为设置动力边界条件命令中的hist关键词后面必须要跟随一个FISH函数名,FISH变量需要调用FLAC3D中的内置标量dytime,该变量是动力计算的真实时间,通过调用可以给函数提供预订变化的数值。所以,一般FISH定义动荷载的方法如下(以定义函数xxx为例):

def xxx xxx = …dytime end

app xvel = 1.0 hist xxx range …

3. 计算过程与输出结果

计算过程中命令窗口会提示动力计算的步数、动力时间和时间步,计算结束后可以将模型底部和墙体顶部节点的水平速度时程输出,使用以下的命令:

plot hist 1 2 v 4

输出结果见图11-2所示。读者可以采用设置动态多步和不设置动态多步两种情况分别进行计算,观察图11-2中的速度时程曲线以及FLAC3D命令窗口中输出结果(图11-3和图11-4)。可以发现,时程曲线、动力计算的时间步、迭代步数均一致,不同的是设置动态多步的情况下花费的计算时间较少。

注意:程序运行的时间将由于计算机配置的不同而存在差别。

从图11-3中的输出信息可以看出,动态多步将模型中的375个单元分成了两类,并提供了不同的时步乘子,其中只有小部分单元(墙体单元65个)的时步乘子为1,其他大部分单元(土体单元310个)拥有较高的时步乘子,这样可以大大加快计算的进度。

FLAC3D 3.00Step 821616:46:10 Wed Apr 02 2008 1.2History 1 X-Velocity Gp 55 Linestyle -1.000e+000 <-> 1.000e+000 2 X-Velocity Gp 688 Linestyle -1.192e+000 <-> 1.340e+000 1.0 0.8 0.6 Vs. 4 Dynamic Time 1.217e-003 <-> 9.993e-001 0.4 0.2 0.0-0.2-0.4-0.6-0.8-1.0Itasca Consulting Group, Inc.Minneapolis, MN USA 2.0 4.0x10^-1 6.0 8.0 图11-2 动力计算结束时模型底部和顶部的水平速度时程曲线

图11-3 设置动态多步情况下的输出信息

图11-4 未设置动态多步情况下的输出信息

11.4 动力荷载和边界条件

利用FLAC3D进行动力计算时,有以下3个问题需要读者认真考虑: ? 动力荷载和边界条件; ? 力学阻尼;

? 模型中波的传播。

本节及后续的两节将分别针对以上三个问题展开讨论。

11.4.1 动力荷载的类型与施加方法

FLAC3D可以在模型边界或内部节点施加动荷载来模拟材料受到外部或内部动力作用下的反应,程序允许的动力荷载输入可以是:(1)加速度时程,(2)速度时程,(3)应力(压力)时程,(4)集中力时程。

动力荷载的施加采用APPLY命令,另外,采用APPLY Interior命令可以将加速度、速度和力的时程施加到模型内部的节点上。动力荷载的形式主要有2种:

? FISH函数。FISH函数表达的动力荷载往往比较规则,也常用于试算阶段的动力输入,因为试

算时可以不用过多考虑荷载的频率、基线校正等问题。本章例11.1中已经给出了一个FISH函数作为动力荷载的例子,这里不再赘述。

? TABLE命令定义的表。常用于离散的动力荷载输入,包括地震波、实测振动数据、不规则动力输入等。下面简要介绍利用TABLE命令形成的表作为动力荷载的方法。

表是FLAC3D中的一种数据格式,表中的数据成对出现,相当于两列的表格。表建立的基本命令是:

TABLE n x1 y1 x2 y2 x3 y3

其中n表示表的ID号,(x1,y1)、(x2,y2)、(x3,y3)分别为表格中的三对数据,例如在命令行中输入如下命令:

table 1 1 1 2 4 3 6

表示建立了一个ID号为1的表,表中有3对数据。可以通过PLOT命令绘出该表的图形:

plot table 1 line

也可以通过PRINT命令打印该表的内容:

print table 1

在FLAC3D动力计算中,动力荷载往往数据点很多,用命令输入的方法显然不便,因此常用编辑文本文件的方法进行表的读入与调用,编辑文本文件的表有2种格式: