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变量需要调用FLAC中的内臵标量dytime,该变量是动力计算的真实时间,通过调用可以给函数提供预订变化的数值。所以,一般FISH定义动荷载的方法如下(以定义函数xxx为例):
def xxx xxx = …dytime end
app xvel = 1.0 hist xxx range …
3D
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种格式:
? x列均匀间隔的表,常用于等间隔的动力荷载形式。
第1行:表的名称
第2行:数据对的个数 空格 时间间隔(x列的数据间隔) 第3行:y列的第1个数据 第4行:y列的第2个数据 ?? 空行
? 分别给出x,y数据对的表
第1行:表的名称 第2行:x1 空格 y1 第2行:x2 空格 y2 ?? 空行
注意:在表的文本文件最后,需要有一个回车换行符,否则会出现“Error reading file xxx.dat”
的错误;表的名称可以用英文、中文,也可以包含空格;表的文本文件可以保存成.dat、.txt等格式。
完成的文本文件需要进行读入操作才可以供FLAC3D调用。采用TABLE read命令进行读入引用:
table 1(ID号) read 文件名
读入后,读者可以使用PLOT table和PRINT table命令来查看生成的表文件是否读入正确。在进行FLAC3D动力边界条件设置时,使用APPLY命令调用已读入的表,下面的命令以施加水平向速度荷载为例。
app xvel 1.0 hist table 1 range …
命令中的1.0表示表格y向数据的乘子,可以方便地控制荷载幅值的大小。另外,动荷载的输入可以沿着x,y,z的任意方向施加或者模型边界的法向和切向施加。
注意:特定的边界条件不能在相同的边界上进行混合施加,否则程序会提示出错。
11.4.2 边界条件的设置
在动力问题中,模型周围边界条件的选取是一个主要内容,因为边界上会存在波的反射,对动力分析的结果产生影响。把分析模型的范围设置得越大,分析结果就越好,但较大的模型会导致巨大的计算负担。FLAC3D中提供了静止(粘性)边界和自由场边界两种边界条件来减少模型边界上的波的反射。
1. 静态边界
FLAC3D中允许采用静态边界(也称粘性边界,吸收边界)条件来吸收边界上的入射波。FLAC3D中的静态边界是Lysmer和Kuhlemeyer(1969)提出的,具体做法是在模型的法向和切向分别设置自由的阻尼器从而实现吸收入射波的目的,阻尼器提供的法向和切向粘性力分别为式(11-5)和(11-6)。
tn???Cpvn ts???Csvs
(11-5) (11-6)
其中,vn,vs分别为模型边界上法向和切向的速度分量,?为介质密度,Cp,Cs分别为p波和s波的波速。
这种静态边界对于入射角大于30度的入射波基本能够完全吸收,对于入射角较小的波,比如面波,虽然仍有一定的吸收能力,但吸收不完全。静态边界可以加在整体坐标系上,也可以加载在倾斜边界的法向和切向上。如果在倾斜边界的法向和切向施加静态边界,则需要同时使用nquiet,dquiet,squiet条件。
整体坐标系的静态边界条件设置使用命令为:
APPLY xquiet (yquiet, zquiet) range …
使用倾斜边界上的静态边界条件命令为:
APPLY nquiet dquiet squiet range …
注意:
(1)施加动力边界条件后,这些边界上原先的静力边界条件将被自动去掉(free),在动力荷载施加期间,程序始终自动计算边界上的作用力,用户不能将静态边界条件去掉;也不能在静态边界上
施加加速度、速度边界条件,因为静态边界上的作用力是根据边界上的速度分量计算得到的,如果再施加速度荷载就会使静态边界失效。若需要在静态边界上输入动荷载,则只能输入应力时程。可以将加速度、速度时程通过转换公式(11-7)和(11-8)形成应力时程施加到静态边界上。
?n=-2(?Cp)vn ?s?-2(?Cs)vs
(11-7) (11-8)
式中的?n,?s分别为施加在静态边界上的法向应力和切向应力,公式中的系数2表示施加的能量中只有一半是向上传播作为动力输入的,另一半向边界下部传播。公式中的负号是为了使应力施加后节点的速度能与实际一致。
(2)对于动力荷载来源于模型内部(如隧道中的列车振动问题)的情况,可以将动力荷载直接施加在节点上,这种情况下使用静态边界可以有效减小人工边界上的反射,并且不需要再施加下面提到的自由场边界。
(3)动力计算过程中应避免静力荷载的变化。比如,在一个已经施加底部静态边界的模型上进行开挖,会造成整个模型向上移动。因为施加静态边界时程序自动计算了施加在模型底部边界上的反力,这些边界反力不能与开挖后的模型相平衡,会引起模型的整体上移。
下面给出一个简单的静态边界的例子。
问题描述:如图11-5所示,一根竖直的弹性杆,高50m,宽1m,体积模量和剪切模量分别为20MPa
3
和10MPa,材料密度为1000kg/m。在杆的底部边界的两个水平方向设置静态边界条件,而杆的顶部为自由表面,在杆的底部施加水平方向的应力冲击荷载。根据材料参数,可得计算得到剪切波速Cs为100 m/s,?Cs的乘积为105。应力冲击荷载的幅值设置为2×105,根据公式(11-7)可以得到等效速度荷载幅值为1m/s。计算中不考虑重力的作用,因此不需要进行初始应力的计算。
分析杆的底部、中心点、顶部三个典型节点的速度响应,计算结果如图11-6所示。可以发现模型底部产生的速度荷载幅值就是1m/s,图中最后两个脉冲是从模型顶部自由面反射回来的波。在模型顶部节点的速度幅值是底部输入幅值的两倍,而且顶部反射回来的波传到模型底部以后,模型基本结束了振动。这些现象说明采用静态边界的设置是合理有效的。
计算文件如下:
例11.2:静态边界的例子
new config dyn
gen zone brick size 1,1,50 model elas
prop shear 1e7 bulk 2e7 ini dens 1000 def setup
omega = 2.0 * pi * freq pulse = 1.0 / freq end set freq=4.0 setup
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库FLAC动力分析(2)在线全文阅读。
相关推荐: