一种基于gprMax的多相随机介质探地雷达三维建模与模拟

实际地下介质是非均匀介质,但数值模拟时常常把介质当做均匀介质,难以对实际介质产生准确认识。常规gprMax建模都是均匀介质建模、规则形状建模,本博文给出一种gprmax中多相随机介质建模的方法。

文章目录

  • 一种基于gprMax的多相随机介质探地雷达三维建模与模拟
    • 1、随机介质建模
    • 2、paraview显示二维模型
    • 3、paraview显示三维模型
    • 4、模拟结果
    • 5、in文件
    • 6、matlab代码
  • 具体的文件我打包成文件夹,上传至CSDN资源,欢迎下载。
  • 搬砖不易,走过路过,点个赞可好。

1、随机介质建模

利用matlab编程生成随机三维数组,在三维随机数组中填充材料,即可通过gprmax模拟出随机介质的探地雷达结果。理论上,三维随机介质建模可以对任意多种随机介质建模。首先看一下建模的效果,如下图所示。

模型分为三层,上下两层为均匀介质,中间层为三相随机介质,包含水、空气、泥三种介质。

2、paraview显示二维模型

将运行结果的*.vti文件导入到paraview软件中成图结果如下。

3、paraview显示三维模型

三维显示。

4、模拟结果

在matlab上显示探地雷达模拟的结果,如下。


从图中看,与均匀介质还是有较大区别,随机介质中有较多不均匀反射同相轴,比较符合实际情况,证明此建模方法是有效的。

三维情况下,一条测线的雷达剖面。

5、in文件

gprMax中的输入文件如下。
二维in文件。

#title: rand2D
#domain: 4.000 2.000 0.002
#dx_dy_dz: 0.002 0.002 0.002
#time_window: 40e-9
#waveform: ricker 1.0 400e6 my_ricker
#hertzian_dipole: z 0.05 1.95 0 my_ricker
#rx: 0.15 1.95 0
#src_steps: 0.050 0.000 0.000
#rx_steps: 0.050 0.000 0.000
#geometry_objects_read: 0 0 0 D:\Learnfile/stestbig01.h5 D:\Learnfile/materials.txt
#geometry_view: 0 0 0 4.000 2.000 0.002 0.002 0.002 0.002 Tuokong2Drand n

三维in文件

#title: rand3D#domain: 4.000 2.000 2.000
#dx_dy_dz: 0.01 0.01 0.01
#time_window: 40e-9#waveform: ricker 1.0 400e6 my_ricker
#hertzian_dipole: z 0.10 1.85 1.00 my_ricker#rx: 0.20 1.85 1.00
#src_steps: 0.050 0.000 0.000
#rx_steps: 0.050 0.000 0.000#geometry_objects_read: 0 0 0 D:\Learnfile/stestbig02.h5 D:\Learnfile/materials.txtgeometry_view: 0 0 0 4.000 2.000 2.000 0.01 0.01 0.01 rand3D n

6、matlab代码

close all
clear
clc% 此程序是写gprmax随机介质建模的几何文件
% 创建任意随机介质
% 创建地下层状多相随机介质% 给定网格单元边长
dx = 0.002;
dy = 0.002;
dz = 0.002;% 网格单元个数,注意x,y,x的方向
nex = 1;
ney = 1000;
nez = 2000;% 设置保存的文件名
file_name = 'stestbig01.h5';% 创建一个HDF5文件
% h5create(file_name,'/data',[nex ney nez]);% 创建一个充满随机数的大矩阵
data = zeros(nex,ney,nez);% 第一层填充0
% 第一层默认为0
data(:,1:250,:) = 0;% 第二层填充随机介质
% 创建一个随机的三维数组
data_rand = rand(1,500,2000);
data_rand(data_rand <= 0.3) = 0;
data_rand(data_rand >= 0.7) = 5;
data_rand(data_rand >= 0.3&data_rand <= 0.7) = 0.5;
data_rand(data_rand == 0) = 1;
data_rand(data_rand == 0.5) = 2;
data_rand(data_rand == 5) = 3;data(:,251:750,:) = data_rand;
data(:,751:1000,:) = 4;data = flip(data,2);% 三维转二维,绘图
data1D = data(:);
data2D = reshape(data1D,ney,nez);
% imagesc(data2D);colorbar
pcolor(data2D);colormap(jet),colorbar
shading interp

具体的文件我打包成文件夹,上传至CSDN资源,欢迎下载。

搬砖不易,走过路过,点个赞可好。

一种基于gprMax的多相随机介质探地雷达三维建模与模拟相关推荐

  1. 一种基于后间隔偏最小二乘的梯度下降助力谱建模方法

    一种基于后间隔偏最小二乘的梯度下降助力谱建模方法 外文链接:https://pan.baidu.com/s/1MU_e2GCz7vDq0_z1dkFq6Q 摘要 升压回归技术应用在近红外光谱,全光谱的 ...

  2. html制作的动态粒子图像,一种基于AnimateCC+Canvas的随机粒子动画效果设计

    潘博 摘要:粒子动画是一种应用广泛的动画效果,也有不同的制作方法.Animate CC是Flash的延续和发展,在动画制作方面功能强大,而Canvas是HTML5在网页中绘制图形.制作动画的核心元素. ...

  3. 【军工AI】基于图像处理与图像识别的经典探地雷达识别

    文章目录 本课题的研究内容: 探地雷达原理 探地雷达图像预处理 图像倾斜矫正 均值法去背景原理与实现 图像分割技术 阈值分割技术的实现 腐蚀与膨胀技术 探地雷达杂波抑制研究与实现 探地雷达合成孔径成像 ...

  4. 【CT算法,radon变换】基于MATLAB的CT算法,radon变换的三维建模仿真

    1.软件版本 MATLAB2021a 2.本算法理论知识 1.输入:T(x,y,z) 使用stl读取函数完成T的导入工作 2.做Radon变换,得投影图:P 正常Radon变换即可. 3.对P:应用斜 ...

  5. gprMax中任意不规则形状建模与模拟

    gprMax中任意不规则形状三维建模与模拟 gprMax中给出了不规则几何形状的建模方法.常规的几何建模都是基于gprMax内置的几何命令建模,所建立的模型是规则的,如圆球.正方体.圆柱体.三角体等. ...

  6. python椭圆形骨料_一种基于python再生混凝土三维随机球形骨料模型的构建方法与流程...

    本发明涉及建筑技术领域,尤其涉一种基于python再生混凝土三维随机球形骨料模型的构建方法. 背景技术: 再生混凝土是指利用再生粗骨料部分或者全部代替天然骨料配置而成的混凝土,再生混凝土技术的开发和利 ...

  7. 随机森林c语言编程,一种基于随机森林的C语言源代码静态评分方法与流程

    本发明涉及评分领域及机器学习领域,它特别涉及一种基于随机森林的c语言源代码静态评分的构建方法. 背景技术: c语言源代码静态评分是指对根据一定的题目描述做出解答的c语言源代码进行评分.目前,主要流行的 ...

  8. 局部遮荫光伏matlab,一种基于随机蛙跳全局搜索算法的局部阴影光伏阵列MPPT控制的制作方法...

    本发明涉及一种局部阴影光伏阵列多峰MPPT控制方法,特别涉及一种基于随机蛙跳全局搜索算法的局部阴影光伏列阵多峰MPPT控制. 背景技术: 伴随太阳能发电的普及,光伏阵列的运行环境变的越来越复杂,局部遮 ...

  9. 一种基于随机投影的本地差分隐私高维数值型数据收集算法

    一种基于随机投影的本地差分隐私高维数值型数据收集算法 孙慧中, 杨健宇, 程祥, 苏森 北京邮电大学网络与交换技术国家重点实验室,北京 100876 摘要:对满足本地差分隐私的高维数值型数据收集问题进 ...

最新文章

  1. Spring Boot 项目瘦身指南,瘦到不可思议!
  2. mybatis框架使用generator的快速搭建
  3. matlab和python哪个好学_python和matlab哪个难
  4. flower.php,flower.php
  5. EmEditor18.1.2 注册码
  6. 遥控器进入鼠标模式,退出鼠标模式,上下左右移动和确认
  7. python地震数据处理_NumPy实例:地震数据的统计分析
  8. jpa报错:Provided id of the wrong type for class
  9. ios 博客及论坛整理
  10. cmd命令检查电脑配置情况
  11. 自行车停放c语言,蓝桥杯算法训练 自行车停放(JAVA)
  12. java实现26个大写字母的遍历
  13. console和nsh的区别
  14. bind9 dlz mysql_bind-9.4.2+mysql dlz安装
  15. 列举所有的“四叶玫瑰数”,并统计四叶玫瑰数的个数 四叶玫瑰数:是一个四位数,各个位的数字的四次方的和,为该数字本身
  16. Ubuntu 12.04系统天嵌Linux交叉编译开发工具的安装
  17. 创建IRP的相关内容
  18. mysql 执行错误1395_主义 - 常规错误:1395无法删除连接视图
  19. python怎么安装bokeh_安装Bokeh | 交互式数据可视化库Bokeh的安装
  20. 【最新】智慧图书馆管理软件应该全面考量各个模块的建设

热门文章

  1. mpvue返回上一个页面_小程序返回上一页 - 芊芊一隅
  2. [BZOJ4455][UOJ185][Zjoi2016]小星星(树形DP+容斥)
  3. Android支持的视频格式
  4. Sequence Number
  5. Maya2016 Mac 注册机安装问题
  6. 小程序的冒泡事件和非冒泡事件
  7. 添加微博到论坛||邮件签名
  8. 网管转行到运维经理经验分享
  9. CSS-transform 平面/空间(移动、旋转、缩放、过渡)略解以及示例
  10. 北斗/GPS芯片/模块基本常识问答: