基于FISH语言的地震动力问题处理方法
2018-10-17
(重庆交通大学河海学院 重庆 400074)
引言:
FLAC3D是一款有限差分软件,在岩土工程数值模拟方面的实用性与专业性目前已得到广泛证实,其拥有强大的计算功能,以及完善的模拟功能,特别是对于岩土专业涉及到的非线性和大变形问题拥有独特的优势。而针对地震等动力问题,FLAC3D采用完全非线性的分析方法,克服了传统的基于等效线性方法的某些局限,其结果更易于为岩土地震工程师所接受[1-2]。FISH是FLAC3D内置的一种语言系统,是FLAC3D运行交互使用的重要基础。基于FISH语言命令流使用者可完成所需求的目的。本文采用fish语言对原始记录El Centro波进行校正并提供了一种按特定时刻保存动力模型的方法。
一、调用fish语言的基线校正方法
地震波加速度在记录的过程中,易于受到仪器灵敏度、环境背景等影响,将输入的加速度进行积分得到的最终速度和最终位移不为0,这就是所谓的极限漂移现象。因此,在输入地震波之前应该进行基线校正,以保证输入时程曲线终值时刻速度与位移归零,消除漂移现象[3-4]。从经传统零线校正处理的加速度时程出发,对于频繁遇到的积分位移漂移现象,直观方法是采用多项式去拟合位移的均值线,位移点应在该均值线两侧分布,然后所有积分位移点减去相应时刻的均值点即获得消除零线漂移的修正积分位移时程,称为漂移消除。
在FLAC3D地震动力分析中,进行基线校正是通过在原始加速度时程上增加一个低频率的波形(多项式或周期函数),使最终的速度和位移均为0。其中,通过对比大量积分位移时程拟合曲线,以位移点在均值线两侧均匀分布为基准,四次多项式模拟的情况较好;而采用周期函数即是在原波形基础上加入低频正弦波使速度、位移时程均能归零。基线校正通常可通过Seismo Signal软件进行,但该软件版权往往受限,操作亦有不便。笔者在此提供一种使用fish的基线校正方法。以人类历史上记录的第一条地震波El Centro波的前8s为例,采用的FISH语言代码如下:
table 1 read el8.txt
call int.fis
@integrate(1,2)
@integrate(2,3)
call baseline.fis
set @itab_unc=1 @itab_corr=10 @drift=0.1635 @ttime=8 @itab_cvel=4
@baseline
@integrate(4,5)
@integrate(5,6)
call baseline.fis
set @itab_unc=5 @itab_corr=10 @drift=-0.216 @ttime=8 @itab_cvel=7
@baseline
@integrate(7,8)
上述代码中,“table read”是将所记录的地震原始加速度时程输入,通常以0.02s作为时间间隔,置于table 1中储存;“int.fis”是FLAC3D内置的积分函数,通过调用它可实现加速度时程、速度时程以及位移时程之间的转换。
校正前的El-Centro的位移表现出明显的漂移现象,终点时刻的速度也不归零.采用文中校正方法对其进行校正,校正后该波的加速度峰值并没有改变.,终点时刻的速度、位移均可以很好的归零,几乎不存在偏量。与Seismo Signal校正的位移时程对比发现,两种方法波形相似,前者峰值更大,终点时刻偏量更小。
二、按特定时刻保存动力模型的编程处理
FLAC3D地震动力分析相对比较复杂,同样以前8s的El Centro地震波,若按照传统的分析方法,求解命令为“solve age 8”,仅能得到地震波加载过程完全结束后的模型,由于FLAC3D的非线性分析方法能够自动模拟不可逆位移与永久变形,上述不足就易于被忽视。然而地震波峰值时刻的变形与应力状态同样十分重要。因此,笔者编写了如下的FISH语言能够满足按特定时刻保存动力模型的需求。
define solve_agesloop n(1,400)ttt=0.02*nsave_file='动力'+string(ttt)+'s.sav'commandsolve age @tttendcommandcaseof ncase 106commandsave @save_fileendcommandcase 107commandsave @save_fileendcommandcase 108commandsave @save_fileendcommandcase 109command save @save_fileendcommandcase 123commandsave @save_fileendcommandcase 124commandsave @save_fileendcommandcase 125commandsave @save_fileendcommandcase 126commandsave @save_fileendcommandendcaseendloopend@solve_agessave dongli
在动力分析中用上述函数替换求解命令“solve age 8”,得到的多个模型结果。这样为计算结束后调用中间各类云图结果提供了极大便利。
三、结语
FLAC3D作为通用的岩土工程数值模拟软件,在进行大型三维动力分析之时过程相当繁杂甚至存在一定局限性。
利用fish语言所得到的校正后的El-Centro地震波时程曲线,通过与经Seismo Signal校正的同一条地震波曲线对比分析,对加速度峰值的影响更小,终值时刻的位移偏量更小,并经过实例验证效果较好。
基于FISH函数提供了一种一种按特定时刻保存动力模型的方法。能够调用准确峰值时刻的各类中间结果,动力分析便利性得到提高。