Paraview 显示gprmax的模型和波形快照

1.模型建立和显示

首先要想观察in文件建立的模型,需要在in文件中写入生成模型的代码,这里我放出代码

#geometry_view: x1 y1 z1 x2 y2 z2 dx dy dz model_name n

前三个参数为建立模型的左下角坐标,中间三个为建立模型的左上角坐标,dx dy dz代表划分网格的大小(一般和你所建立的单位网格大小一致)。

坐标体系不清楚可以看我上一篇博客,二维和三维坐标约定不一致.

运行完后会在in文件的同目录下生成vti文件,使用Paraview打开vit文件,点击gprMAX_info插件(这个插件需要从gprmax库的文件夹中添加到Paraview),即可看到你创建的模型。

左边可以调节模块的透明度,达到你想要的效果。

上述模型的in文件放在下面:

#title: 3Dpec_100cm_20cm

#material: 12.0 0.01 1.0 0.0 turang
#material: 1.0 0 1.0 0.0 air

#domain: 4.000 2.100 2.000
#dx_dy_dz: 0.010 0.010 0.010
#time_window: 60e-9

#box: 0.000 0.000 0.000 4.000 2.000 2.000 turang
#cylinder: 1.5 1.00 0 2.5 1.00 2.00 0.200 pec
#cylinder: 1.5 1.00 0 2.5 1.00 2.00 0.190 air

#waveform: ricker 1.0 500e6 my_ricker
#hertzian_dipole: z 0.100 2.000 1.000 my_ricker

#rx: 0.200 2.000 1.000
#src_steps: 0.100 0.000 0.000
#rx_steps: 0.100 0.000 0.000

snapshot: 0 0 0 4.000 2.100 2.000 0.010 0.010 0.010 58e-9 snapshot1

#geometry_view: 0 0 0 4.000 2.100 2.000 0.010 0.010 0.010 PEC n

2.波形快显

需要再in文件中加入获取某一时刻的波形状态的代码,一般使用python循环某一区间,可以达到动图的效果,也可以制作为视频。

在in文件中末尾加上以下代码

#python:
for i in range(1,30):
    time_point = i * 1e-9  
    snapshot_name = f'#snapshot: 0 0 0 1 0.5 0.7 0.004 0.004 0.004 {time_point} snapshot{i}'
    print(snapshot_name)
#end_python:

其中(1,30)是指在模拟的过程中共取29个点,第30个点取不到,如果需要取30个点应选择31。1e-9是指1ns,在#snapshot:中前三个参数为获取波形的空间中的左下角坐标,中间三个为建立模型的左上角坐标,dx dy dz代表划分网格的大小。snapshot参数为快照名称,可以自行更改。

代码运行之后将在n文件的同目录下生成一组vti文件,使用Paraview打开vit文件,会发现只有模型的外框线,既看不到模型也看不到波场。

经过这样操作就可以看到波场了,左上角可以选择电场或者磁场,我这里选择为电场

 

重要的是第三个选项,如果是二维模型就选择surface,三维模型选择volume,下一步点击播放就可以看到波场传播的途径啦。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值