水平地震波人工模拟与时程生成工具
项目介绍
本项目是一个基于 MATLAB 开发的专业化地震动数值模拟工具,专门用于生成符合特定工程抗震设计要求的水平地震波加速度时程曲线。在土木工程的动力分析中,往往需要输入符合特定场地条件、烈度要求以及规范反应谱的人工地震波。本工具通过随机振动理论与数值信号处理技术,能够快速合成具有真实物理特征的地震加速度记录,为 SAP2000、ANSYS、ABAQUS 等大型有限元分析软件提供高精度的动力输入数据,适用于结构抗震性能评估及地震工程科学研究。
功能特性
- 随机过程合成:基于随机相位和功率谱密度的三角级数法(谱表现法),生成具有特定频域特性的平稳加速度信号。
- 非平稳特性调制:内置 Jennings 型强度包络函数,模拟真实地震波从起振、强震到衰减的随时间演变过程。
- 精密基线校正:采用高阶多项式拟合算法,对加速度、速度及位移进行逐级去漂移处理,确保计算得到的位移时程不产生数值发散,符合力学逻辑。
- 反应谱校验与对比:内置 Newmark-beta 数值积分算法,可自动计算合成波的绝对加速度反应谱,并将其与抗震规范(如 GB50011 等)定义的设计反应谱进行直观对比。
- 多维度结果可视化:自动生成包含加速度、速度、位移时程,以及功率谱、包络曲线和反应谱对比的综合分析图表。
系统要求
- 软件环境:MATLAB R2016b 及以上版本。
- 工具箱需求:无需额外第三方工具箱,仅依赖 MATLAB 核心数学与绘图处理功能。
实现逻辑与详细设计
1. 场地动力特性定义
程序首先基于用户设定的目标峰值加速度(PGA)、场地特征周期(Tg)以及场地阻尼比,构建 Kanai-Tajimi 动力特性功率谱。该谱模型能够有效反映地震动穿过覆盖土层后的滤波效应。程序通过解析公式计算谱强度系数 S0,确立频域内的能量分布。
2. 平稳随机过程合成
利用三角级数法(Spectral Representation Method),程序在 0 至最大截止频率(100 rad/s)范围内进行离散采样。为每个频率分量分配一个在 [0, 2π] 之间均匀分布的随机相位,通过余弦叠加算式合成具有随机特征的平稳加速度信号。
3. 时间域强度调制
为了模拟地震动的非平稳性,程序应用了强度包络函数(Envelope Function)。该函数分为三个阶段:
- 上升段:采用二次抛物线形式,模拟振动从小到大的起振过程。
- 平稳段:保持幅值为 1.0,模拟地震波的主震持续阶段。
- 衰减段:采用指数函数形式,模拟地震能量随时间的逐渐耗散。
将平稳信号与包络函数相乘,即得到非平稳人工波。
4. 峰值调整与归一化
由于随机合成的信号峰值具有随机性,程序通过计算当前序列的最大绝对值(实际 PGA),并结合目标 PGA 生成缩放因子,对原始序列进行线性缩放,确保生成的波形完全满足预设的设防烈度要求。
5. 基线平衡与积分处理
由于数值积分会累积误差,程序执行了严格的三级基线校正:
- 对加速度时程进行 6 阶多项式拟合,扣除零点漂移。
- 通过矩形积分(cumtrapz)得到速度,并进行 2 阶多项式校正。
- 进一步积分得到位移,并进行 1 阶线性项校正。
这一步骤通过消除直流分量,保证了最终不仅加速度准确,其积分得到的位移曲线也具有真实的物理趋势。
6. 反应谱计算(Newmark-beta 法)
为了验证合成波的适用性,程序模拟了一个单自由度系统在合成波作用下的动力响应。采用线性加速度法(Newmark-beta 参数:γ=0.5, β=1/6),遍历不同周期点,计算系统的最大绝对加速度响应,从而得到实际的加速度反应谱。
7. 数据导出与展示
程序将生成的时刻与加速度值以双列 ASCII 格式保存,方便外部软件读取。同时,程序自动绘制六联图,展示了从原始波形到频域分析、从时域特征到规范对比的全维度计算结果。
使用方法
- 打开 MATLAB 软件。
- 将程序所在文件夹设为当前工作路径。
- 在命令行窗口输入程序的执行命令并回车。
- 程序将自动执行计算,完成后会弹出一个包含六个子图的结果分析界面。
- 计算结束后,当前目录下会生成一个包含加速度数据的文本文件,用户可直接用于后续工程计算。
- 如需修改场地条件(如将软弱土层改为坚硬岩石),请在代码起始部分的参数设置区调整场地特征周期 Tg 和 PGA 等数值。