我正在使用2D动态非结构化网格对裂缝传播进行建模。随着裂缝随时间传播,元素相应地移动。对于给定的时间步长,我想插入我的非结构化网格的数据zi = f(xi,yi)(其中(xi,yi)是非结构化三角形的节点)以获得函数z的值。笛卡尔网格(其中x和y有规律地间隔)。我的网格大小约为100x100个节点。 有很多方法可以实现这种插值方案,但我对该主题知之甚少,无法确定哪种方案足够健壮和简单。我正在使用Fortran 90(不要问为什么......)。有没有可用的开源算法?我不想重新发明轮子。
非常感谢!
答案 0 :(得分:3)
您可能会对地球系统建模框架(ESMF)感兴趣:
http://www.earthsystemmodeling.org/
它附带了Fortran,C和最近的Python(功能有限)API和优秀的文档。它通常用于地球物理模型中的数据抽象对象及其耦合,但它也提供了在结构化和非结构化网格之间进行重新划分的例程,可用于离线(独立命令行实用程序)或在线(通过子程序调用)插值权重代。
上次我调查过,ESMF提供了双线性,双三次和quatitity保留的重新划分方法。
答案 1 :(得分:1)
尽管有些参考文献很棒(例如ESMF),但我找不到一个容易获得的简单算法。因此,有时更容易“重新发明”车轮!如果你们有些人感兴趣,这是我推导出的简单方法:
这种方法工作正常,速度非常快(适用于工程师)。