specfem2D快速使用

specfem2D是一个用于求解地震波传播问题的正演求解器,可以用于地震波传播的数值模拟。本文介绍specfem2D的快速使用方法。

开始使用

下载仓库:

1
git clone --recursive --branch devel https://github.com/geodynamics/specfem2d.git

编译设置:

1
./configure FC=gfortran CC=gcc MPIFC=mpif90 --with-mpi

参数解释:

  • FC : Fortran编译器
  • CC : C语言编译器
  • MPIFC : MPIF编译器,用于多处理器核心运行

可选参数 --enable-double-precision 以双精度模式运行求解器,默认单精度,双精度慢20%到30%

编译:

1
make

specfem2D工作流程示意

SPECFEM2D仿真的示意性工作流程。可执行的xmeshfem2D创建GLL网格点并分配特定的模型参数。可执行文件xspecfem2D求解地震波传播问题。

网格生成

模拟选项配置文件:DATA/Par_file

设置完成后生成网络:

1
./bin/xmeshfem2D

生成的表在 OUTPUT_FILES/ 文件夹下,命名格式为Database??????.bin 的文件

在 gnuplot 中可视化网格 (默认例子的可视化网格):

1
plot 'OUTPUT_FILES/gridfile.gnu' w l

也可以使用外部网格生成器

运行求解器

运行求解器:

1
bin/xspecfem2D

或者以并行处理运行:

1
mpirun bin/xspecfem2D

运行完成后,输出的地震记录及波前快照保存在 OUTPUT_FILES/ 文件夹下。对结果进行可视化:

  1. Postscript文件:

    1
    gs OUTPUT_FILES/vect*.ps

​ 其中波场用小箭头表示,流体/固体匹配界面用粉红色粗线表示,并且吸收边缘用绿粗线表示。

  1. 彩色快照:

    1
    gimp OUTPUT_FILES/forward_image*.jpg

    根据 DATA/Par_file 内输出内容的设置,显示波场两个分量之一或者压力的图像(默认例子的彩色快照)。

地震图 OUTPUT_FILES/*.sem* 中,第一列是时间,第二列是振幅,序号与检波器一一对应。

Reference

  1. specfem2D项目仓库
  2. specfem2D用户手册
  3. Par_file文件的说明
  4. SPECFEM2D快速上手指南
作者

Jinyao

发布于

2022-06-04

更新于

2025-04-28

许可协议

评论