RELAX 主要命令一览 1. 核心求解命令# 基本运行从输入文件 relax input_file # 从 heredoc 运行手册中的标准写法 relax EOF ...输入参数... EOF # 带选项运行 relax [选项] input_file常用命令行选项选项作用--dry-run只检查几何不实际计算输出.vtp用于检查断层位置--no-proj-output不输出经纬度投影的文本文件--no-stress-output不输出应力场.grd文件--no-vtk-output不输出 VTK 三维体数据节省磁盘并行运行# OpenMP 多线程共享内存机器 OMP_NUM_THREADS4 relax input_file2. 输出文件自动产生运行后在输出目录生成文件内容000-north.grd北向位移GMT grd 格式000-east.grd东向位移000-up.grd垂直位移000-s11.grd~000-s33.grd六个应力分量 σ₁₁, σ₁₂, σ₁₃, σ₂₂, σ₂₃, σ₃₃disp-000.vtk三维位移场VTK 格式Paraview 可视化rfaults-dsigma-*.vtp接收断层上的应力变化--dry-run时也输出in.param记录输入参数用tee保存时间步编号000同震001,002, ... 震后各时间步3. 后处理脚本util/目录下脚本功能用法grdmap.sh绘制位移/应力平面图GMTgrdmap.sh output/000-up.grdflt2vtp.sh将滑移分布转为 Paraview 格式flt2vtp.sh fault.fltgrdcoulomb.sh计算 Coulomb 应力变化grdcoulomb.sh output/extrude.sh沿断层面延伸可视化extrude.sh fault.fltseg2flt.py将段定义转为细网格 patch 文件python seg2flt.py segments.txt4. 典型工作流# ① 检查断层几何 relax --dry-run --no-proj-output myanmar_mandalay_2025.input # ② 运行计算4线程并行 OMP_NUM_THREADS4 relax EOF | tee mandalay2025/in.param ...输入参数... EOF # ③ 可视化地表位移 grdmap.sh mandalay2025/000-up.grd # ④ Paraview 三维可视化 paraview mandalay2025/disp-000.vtk # ⑤ Coulomb 应力 grdcoulomb.sh mandalay2025/最核心的就是relax这一个命令所有计算都在它里面完成。其余都是后处理和可视化工具。RELAX vs PSGRN/PSCMP 对比两者都是计算地震同震/震后变形的经典软件但方法论和适用场景有本质区别。开发者与背景RelaxPSGRN/PSCMP作者Sylvain Barbot (NTU/EOS)Rongjiang Wang (GFZ Potsdam)首发年份~20092006参考文献Barbot Fialko, 2010Wang, Lorenzo-Martin Roth, 2006支持机构CIG (Computational Infrastructure for Geodynamics)GFZ (German Research Centre for Geosciences)核心方法差异最关键的区别Relax直接数值法Direct numerical method在三维规则网格上直接求解弹性/粘弹性方程用傅里叶域 Green 函数等效体力equivalent body force表示位错时间积分用Runge-Kutta 自适应步长在均匀半空间上运行粘弹性参数可以深度依赖和横向变化PSGRN/PSCMP两步 Green 函数法Two-step methodPSGRN第一步计算层状粘弹性半空间的静态/准静态 Green 函数精确处理水平分层结构layered model包含重力效应viscoelastic-gravitational dislocation theoryPSCMP第二步将 Green 函数与断层滑移卷积得到位移/应变/倾斜/重力变化基于解析/半解析的层状介质理论逐项对比特性RelaxPSGRN/PSCMP介质模型均匀半空间粘弹性参数可深度依赖横向变化水平分层粘弹性半空间精确层状解析解重力效应支持可选内建viscoelastic-gravitational theory非线性流变✅ 幂律流变power-law❌ 仅线性 Maxwell / 标准线性固体横向非均匀✅ 可定义局部粘弹性异常体❌ 仅纵向分层无横向变化余滑afterslip✅ 速率-强化摩擦定律❌ 需外部处理地震周期✅ 多个地震 spin-up❌ 主要用于单次事件断层几何任意走向/倾角的矩形 patch同样支持任意断层计算方法三维 FFT 数值求解解析 Green 函数卷积计算速度中等网格越大越慢但支持 OpenMP快Green 函数预计算后卷积很快精度近场网格分辨率决定FFT 有 Gibbs 现象更精确解析 Green 函数无网格伪影磁盘输出VTK GMT grdGMT grd 文本安装难度中等需 FFTW/MKL简单纯 Fortran依赖少学习曲线中等较低参数直观简单类比PSGRN/PSCMP像用预计算的传递函数做卷积——速度快、精度高但只能处理层状介质和线性流变。Relax像在三维网格上直接解方程——灵活能处理横向非均匀、非线性流变、多地震周期等复杂场景但计算量更大。如何选择场景推荐层状介质 线性粘弹性 单次地震震后变形PSGRN/PSCMP更快更精确需要非线性幂律流变Relax需要横向非均匀粘弹性Relax需要模拟余滑afterslipRelax需要完整地震周期建模Relax快速生成 Green 函数用于大地测量反演PSGRN/PSCMP需要重力/大地水准面变化PSGRN/PSCMP内建大量断层 patch 快速计算PSGRN/PSCMP卷积效率高一句话总结PSGRN/PSCMP擅长又快又准地算层状介质的震后变形Relax擅长灵活地模拟复杂流变和多物理过程的地震周期。两者互补而非替代。实际研究中经常同时使用——用 PSGRN/PSCMP 做快速正演和 Green 函数生成用 Relax 做复杂物理场景的深入模拟。