快速开始:静态 CFS 小算例#

这个算例包含一个 1 km × 1 km、滑动量 1 m 的源子断层,以及距离 30、60、90 km 的三个接收点。源深度 10 km,接收深度 5 km; 源与接收机制均为走向 30°、倾角 45°、滑动角 90°。 摩擦系数为 0.4,B_pore=0。

模型取自仓库中的 examples/wenchuan/input/model.nd, 静态建库使用前 24 个数值行。这是安装和计算流程示例, 不代表汶川地震重现,也没有完成网格收敛分析。

1. 运行#

在仓库根目录、已激活的计算环境中执行:

python docs/examples/quickstart.py

Windows 非交互执行方式:

conda run -n cfs python docs/examples/quickstart.py

脚本自动准备 CSV、复制模型、写入绝对路径 INI,然后建立 EDGRN/EDCMP 静态库,计算 CFS 并绘图。所有输出位于 docs/_build/quickstart/。

输出目录必须是新目录或空目录。重复运行时可指定:

python docs/examples/quickstart.py --output-dir docs/_build/quickstart-repeat

建库深度为 10、11 km,接收深度为 5 km,距离范围 1–121 km、 间隔 10 km。EDGRN 至少需要两个源深度,查询点应位于库的覆盖范围内。

2. 查看结果#

路径,相对于输出目录

内容

quickstart.ini

生成的完整配置

input/

输入 CSV 和模型

grn_s/

静态格林函数库

results/static/stress_tensor_plane1.npy

形状 (3,6) 的 NED 应力张量,单位 Pa

results/static/cfs_static_plane1.csv

三个接收点的 CFS,单位 Pa

static_cfs.png

法向、剪切和库仑应力图,显示单位 kPa

summary.json

环境、运行时间和检查结果

小型静态算例在三个距离处的法向、剪切和库仑应力变化。

本地实际计算生成的图。正的法向应力表示张性变化。#

脚本检查数组形状、有限且非零的数值,以及 CFS = 剪切应力 + 0.4 × 法向应力。 实际运行环境和结果列在验证记录。

3. 使用命令行接口#

只准备输入,然后用 CLI 计算:

python docs/examples/quickstart.py --prepare-only --output-dir docs/_build/prepared
python -m dyncfs.main --config docs/_build/prepared/quickstart.ini --create-static-lib --compute-static-cfs

CLI 写出数值结果,图和汇总文件由完整算例脚本生成。 完整脚本及 INI 直接包含在英文快速开始中, 中英文说明共用同一个可执行示例。

4. 扩展到实际任务#

更换源断层、接收断层和模型后,重新检查格林函数库的深度与距离覆盖。 动态计算还需要合理的 STF、采样和时间窗。

静态使用面积、滑动量与刚度,动态使用给定地震矩; 比较二者前应保证震源归一化一致。 启用零频校正还需要匹配的静态应力张量和有限的 max_slowness。参见动态计算指南。