ParaView绘制gprMax正演模拟的波场快照方法(1)
gprMax是一款优秀的基于时域有限差分方法(FDTD)的电磁波数值模拟脚本软件,其正演模拟的结果通过波场快照的形式可以直观的显示出来,通常利用Paraview软件来显示gprMax模型及波场快照。本文提供生成波场快照的方法。1
文章目录
ParaView绘制gprMax正演模拟的波场快照方法(1)一、波场快照展示二、paraView制作波场快照三、制作gif动图一、波场快照展示
(1) 单个地下管线
模型图:
源在管线正上方的波场快照:
(2)两个平铺的管线
模型图:
源在左上角的波场快照:
二、paraView制作波场快照
(1)打开paraView
我的电脑上安装的是paraview 5.9.0版本,打开界面如下:
(2)导入数据
点击左上角的“file”-“open”,进入文件目录,找到gprmax生成的.vti文件,选择。
打开.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 cv2import imageioimport ospath = "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动图的方法。
本文仅作学习交流。 ↩︎
如果觉得《ParaView绘制gprMax正演模拟的波场快照方法(1)》对你有帮助,请点赞、收藏,并留下你的观点哦!