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工作流程示意

网格生成
模拟选项配置文件: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/ 文件夹下。对结果进行可视化:
Postscript文件:
1
gs OUTPUT_FILES/vect*.ps
其中波场用小箭头表示,流体/固体匹配界面用粉红色粗线表示,并且吸收边缘用绿粗线表示。
彩色快照:
1
gimp OUTPUT_FILES/forward_image*.jpg
根据
DATA/Par_file内输出内容的设置,显示波场两个分量之一或者压力的图像(默认例子的彩色快照)。
地震图 OUTPUT_FILES/*.sem* 中,第一列是时间,第二列是振幅,序号与检波器一一对应。
Reference
specfem2D快速使用