ParaView绘制gprMax正演模拟的波场快照方法(1)

ParaView绘制gprMax正演模拟的波场快照方法(1)

gprMax是一款优秀的基于时域有限差分方法(FDTD)的电磁波数值模拟脚本软件,其正演模拟的结果通过波场快照的形式可以直观的显示出来,通常利用Paraview软件来显示gprMax模型及波场快照。本文提供生成波场快照的方法。1

文章目录

  • ParaView绘制gprMax正演模拟的波场快照方法(1)
  • 一、波场快照展示
  • 二、paraView制作波场快照
  • 三、制作gif动图

一、波场快照展示

(1) 单个地下管线
模型图:
ParaView绘制gprMax正演模拟的波场快照方法(1)_第1张图片
源在管线正上方的波场快照:

(2)两个平铺的管线
模型图:
ParaView绘制gprMax正演模拟的波场快照方法(1)_第2张图片
源在左上角的波场快照:

二、paraView制作波场快照

(1)打开paraView
我的电脑上安装的是paraview 5.9.0版本,打开界面如下:
ParaView绘制gprMax正演模拟的波场快照方法(1)_第3张图片
(2)导入数据
点击左上角的“file”-“open”,进入文件目录,找到gprmax生成的.vti文件,选择。
ParaView绘制gprMax正演模拟的波场快照方法(1)_第4张图片
打开.vti文件后,勾选所有的cell,然后“Apply”(上图示意“1”)。窗口出现一个“outline”,没有显示图像,更改(图示“2”)选择“Slice”,就出现图示切片图;点击“播放”(图示“3”),可以看到播放的动态效果;点击“Snap to timeSteps",更改动画播放速度;点击(图示“5”),更改电磁场显示;勾选(图示“6”),显示坐标轴。

三、制作gif动图

在paraview5.9.0中,下拉”file“,选择”Save Animation"批量导出.png格式图片,存放于一个pictures文件夹下,在vscode中,运行python代码,合成gif动画,代码如下:

import cv2
import imageio
import os

path = "D:\Learnfile\gprmaxSTU\pictures" # 文件路径
filelists = os.listdir(path)  

buff=[]
cv2.waitKey(0)
for filelist in filelists:
    file_rode = os.path.join(path, filelist)
    img = cv2.imread(file_rode)
    cv2.imshow('img11', img)
    #img=cv2.cvtColor(img,cv2.COLOR_BAYER_BG2BGR)
    buff.append(img)
    cv2.waitKey(50)
gif=imageio.mimsave('shang.gif',buff,'GIF',duration=0.1)
if cv2.waitKey(0)==ord('q'):
    cv2.destroyAllWindows()

在此python代码中,利用了opencv、imageio、os库,也可不用此方法,csdn上有许多合成gif动图的方法。


  1. 本文仅作学习交流。 ↩︎

你可能感兴趣的:(python,opencv,visual,studio,code)