上传者: 38688890
|
上传时间: 2021-10-26 16:52:45
|
文件大小: 710KB
|
文件类型: -
长除法用matlab代码算快速行进(FM)方法
FM计算穿过各种地质层的地震波的首次到达时间。
结果可以作为预览,也可以与更全面的全波模型获得的结果进行比较。
我实施此方法是为了帮助我父亲在2011年Spring的工作。现有的实现仅适用于网格,其中节点之间的空间在所有维度上都是相同的。
例如,如果要建模在水平平面上复杂但在垂直维度上均匀的地理区域,则这显然是不切实际的。
支持此功能是该项目的主要原因。
这是解决波前的非常快速的方法,它描述了波阵面的进展。
但是,它适用于各种各样的问题(例如,请参阅原始开发人员之一的JA
Sethian)。
下面的程序输出显示了一些应用程序。
该方法非常有趣,包含来自以下领域的元素:表面跟踪的水平集方法,用于最佳网络路径解决方案的Dijikstra方法,有限差分方案和迎风因果条件以及树排序算法。
此实现在Matlab和C
++中都存在,提供了Matlab包装器(带有mex库),可以进行灵活的高级输入和数据处理。
C
++实现的速度提高了100倍左右。
一阶和二阶有限差分方案都可用,并且当方法必须恢复为一阶方案时,会显示警告消息,该方案比二阶方案更稳定。