gprMax中任意不规则形状三维建模与模拟

gprMax中给出了不规则几何形状的建模方法。常规的几何建模都是基于gprMax内置的几何命令建模,所建立的模型是规则的,如圆球、正方体、圆柱体、三角体等。不规则形状三维建模需要利用matlab或者python生成三维数组,然后将三维数组保存到HDF5格式文件中,因此,需要利用matlab编程生成任意不规则三维数组。本帖子给出一个生成任意不规则形状的代码。

文章目录

  • gprMax中任意不规则形状三维建模与模拟
    • 1、任意不规则几何形状建模
    • 2、matlab生成不规则形状的代码
    • 3、paraview显示模型
    • 4、模拟结果
    • 5、in命令文件
    • 具体的文件我打包成文件夹,上传到csdn资源,欢迎下载。
  • 搬砖不易,走过路过,点个赞支持一下可好。

1、任意不规则几何形状建模

首先看一下,建模的效果。




2、matlab生成不规则形状的代码

下面给出的代码,需要作细微改动,即可满足生成任意不规则形状的要求。

close all
clear
clc% 此程序是写gprmax不规则形状的几何文件
% 创建任意不规则几何体% 给定网格单元边长
dx = 0.002;
dy = 0.002;
dz = 0.002;% 网格单元个数,注意x,y,z的方向
nex = 1;
ney = 1000;
nez = 2000;% 设置保存的文件名
file_name = 'stestbig01.h5';% 创建一个HDF5文件
h5create(file_name,'/data',[nex ney nez]);% 创建一个三维数组
data = zeros(nex,ney,nez);% 第一层填充1
data(:,1:100,:) = 1;% 第二层填充2
data(:,101:250,:) = 2;% 第三层默认是0
% 中间设置不规则空洞,设空洞材质为3% 设置不规则几何体中心位置
xw = 650;
yw = 1000;% 设置不规则几何体半径
xlength = 550;
ylength = 700;% 生成随机的正负1
nzf = rand(2*ylength,1);
nzf(nzf<0.5) = -1;
nzf(nzf>=0.5) = 1;nzfx = flipud(nzf);
nws = zeros(2*ylength,1);
nwx = zeros(2*ylength,1);
ws = 25;
wx = 25;
for i = 1:2*ylengthif ws == 1ws = ws + 1;elseif ws == 75ws = ws - 1;elsews = ws + nzf(i);endnws(i) = ws;if wx == 1wx = wx + 1;elseif wx == 75wx = wx - 1;elsewx = wx + nzfx(i);endnwx(i) = wx;
end% 开始循环
for i = 1:2*ylengthneyw = yw - ylength + i;nexwz = xw + nws(i);nexwf = xw - nwx(i);data(:,nexwf:nexwz,neyw) = 3;
enddata = flip(data,2);% 三维转二维,绘图
data1D = data(:);
data2D = reshape(data1D,ney,nez);
imagesc(data2D);
shading interp

3、paraview显示模型

运行gprmax,将模型图在paraview中显示,得到模型图

4、模拟结果

不规则异常体运行得到的雷达结果图,在matlab中成图

5、in命令文件

运行得到4所示结果的in文件如下

#title: Tuokong2Drand#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\test02/stestbig01.h5 D:\Learnfile\test02/materials.txt#geometry_view: 0 0 0 4.000 2.000 0.002 0.002 0.002 0.002 Tuokong2Drand n

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

搬砖不易,走过路过,点个赞支持一下可好。

gprMax中任意不规则形状建模与模拟相关推荐

  1. html插入不规则表格,如何构建HTML表格中的不规则形状?

    我试图复制下面的表格中HTML: 但也有一些额外的,形状不规则行,我想知道如果有一个简单的方法使用表来编写他们,尤其是游泳学校上周五,以及星期一至星期四晚上的租金.如何构建HTML表格中的不规则形状? ...

  2. python计算不规则图形面积_python opencv中的不规则形状检测和测量

    正如我在评论中提到的那样,对于这个问题,分水岭似乎是一个很好的方法.但是当你回答时,定义标记的前景和背景是困难的部分!我的想法是使用形态梯度沿着冰晶获得良好的边缘并从那里开始工作;形态梯度似乎很有效. ...

  3. Android 判断点是否在Path中(含不规则形状的Path)

    RectF bounds = new RectF(); path.computeBounds(bounds, true); Region region = new Region(); region.s ...

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

    一种基于gprMax的多相随机介质探地雷达三维建模与模拟 实际地下介质是非均匀介质,但数值模拟时常常把介质当做均匀介质,难以对实际介质产生准确认识.常规gprMax建模都是均匀介质建模.规则形状建模, ...

  5. DBSCAN: 基于密度对空间含噪声数据中不规则形状进行聚类

    聚类算法是机器学习中使用频率较高的无监督学习方法,不需要样本标签,就可以将其进行分类,常常作为其他学习任务的前期粗加工.但是原始聚类算法在面对含有噪声或形状非凸的数据分布时表现较差,于是有研究人员提出 ...

  6. 使用示例_使用 COMSOL 软件模拟不规则形状并构建几何模型示例

    本文是如何在 COMSOL Multiphysics® 软件中模拟不规则形状的系列文章的第二部分.今天我们重点介绍如何基于以各种格式存储的高程数据(例如文本.图像或 DEM 文件)创建不规则形状的表面 ...

  7. 不规则多边形填充_花一分钟看一个案例,PPT中图片填充形状的应用

    先上图,有兴趣的朝下看,没有兴趣的立即关掉页面,把时间用在感兴趣的文章上面. 简单拆解一下幻灯片: 1. 两个用图片填充了的形状,其中一个三角形,一个梯形,梯形有一部分在PPT画面边界以外,所以显示在 ...

  8. REVIT建模步骤中:绘制形状不能拾取两条参照平面的交点解决方法

    REVIT建模步骤中:绘制形状不能拾取两条参照平面的交点解决方法 问题:建筑形状(如图-1)所示,当需要在斜面上或者南北立面上绘制形状时,需要设置工作平面,但是在设置好的工作平面中绘制形状时却不能拾取 ...

  9. AD10 画封装经验【突出长度的问题】【 PCB中任意形状封装修改网络名】

    突出长度的问题 对于下面这样的一个元件: 他就是真正的元件的大小,如果画封装1:1的画就会有一个问题: 元件盒焊盘一样大,造成焊盘完全被元件覆盖了,这时候只有贴片机能够焊接这样的元件,或者使用热风枪吹 ...

最新文章

  1. sql server 中获取前一天日期_图解SQL面试题:如何比较日期数据?
  2. rxjs里的Observable对象subscribe方法的执行原理
  3. wxGlade的图标,原来是来自蒙德里安的名画!
  4. kafka 发布-订阅模式_使用Apache Kafka作为消息系统的发布-订阅通信中的微服务,并通过集成测试进行了验证...
  5. Character.isLetterOrDigit(ch)判断ch是否为字母或数字
  6. os系统好用的学术笔记软件_可靠软件系统的设计方法:学术文章摘要
  7. Mongodb亿级数据量的性能测试zz
  8. 基于JAVA+SpringBoot+Mybatis+MYSQL的企业员工考勤管理系统
  9. C语言 显示器键盘io
  10. 51nod 省选联测 R2
  11. linux中.开头的变量,linux中的变量
  12. 单商户商城系统功能拆解13—分类管理
  13. 如何删除Windows创建的虚拟磁盘
  14. Redis配置详解(转)
  15. element-ui的el-menu路由模式下选中无颜色
  16. mysql数据库日志操作
  17. 2019构建餐饮私域流量池,餐饮商家别错过了这个风口,私域流量攻略完整方案!...
  18. 【一天一门编程语言】Pascal 语言程序设计极简教程
  19. 分布式数据库的多级一致性|TDSQL 关键技术突破
  20. 新浪财经知识图谱解译平台

热门文章

  1. PHP 脚本在服务器上执行
  2. 【Raft】分布式一致性算法Raft和zab、paxos
  3. matlab保存pdf图片乱码,服务器上出现pdf导出乱码的解决方案
  4. 决策树算法介绍(ID3算法和CART算法)
  5. 转发:我收到一份《中国焦虑图鉴》
  6. 写CSDN博客如何复制粘贴图片?
  7. ajax 如何实现分页功能
  8. 逆向基础学习-计算机专业导论_by 战德臣
  9. 学习进销存管理系统知识
  10. linux中的.rc文件介绍