有砟铁路三维地质雷达无损检测数值模拟研究
前言
据统计,全国铁路营业里程超过14.63万公里,其中高铁超过3.8万公里;全国铁路路网密度152.3公里/万平方公里。有砟铁路主要建造于2012年以前,截止2012年,全国有砟铁路达到9.8万公里。
有咋铁路的无损检测已成为研究热点。
随着英国工业革命的兴起,为了向码头运输矿石等资源,1605年英国修建了第一条用木条铺成的轨道。18世纪中叶,以铸铁轨道为代表的铁路轨道登上了历史舞台。1865年,钢轨代替了铁轨,在地面上轨枕下铺设一层碎石组成的道床,具有现代轨道结构形式的有砟轨道雏形逐渐形成。直到轨道交通运输业迅猛发展的今天,传统的有砟轨道结构仍然是当前普速铁路的主要结构形式。
地质雷达检测作为铁路下部结构的检测方法从90年代兴起到现在已经是一种被世界各国认可的无损检测方法,特别是以车载探地雷达的检测方式,使得有砟道床的隐蔽性无损检测变得节约和高效。
本博文进行了有砟铁路三维地质雷达数值模拟研究。
文章目录
- 有砟铁路三维地质雷达无损检测数值模拟研究
- 前言
- 1、研究背景
- 2、三维地质雷达建模
- 3、三维模拟结果
- 4、matlab代码
1、研究背景
将雷达天线放置在雷达车上进行无损检测是目前主要的检测手段。
美国GSSI公司公铁两用铁路路基探地雷达检测车
英国Zetica公司的公铁两用铁路路基探地雷达检测车
意大利IDSGeoRadar公司的公铁两用铁路路基探地雷达检测车
芬兰Roadscanners Oy公司检测铁路路基的公铁两用探地雷达检测车
俄罗斯GEOTECH公司的铁路路基探地雷达检测系统
德国GBM Wiebe公司集成的铁路路基检测系统
日本 JR East公司开发的轨下结构检测车(UTRAS)
2、三维地质雷达建模
利用gprmax进行三维有砟铁路建模,paraview三维可视化模型
模型参数如下:
天线频率 400MHz
时窗 40ns
收发距 0.30m
道间距 0.04m
面砟:4.5 0.001
底砟:8 0.005
翻浆冒泥:20 0.05
土质:10 0.1
孔隙度为0.2471
采用二值法建立不同颗粒大小石头,不同直径孔隙。
3、三维模拟结果
与二维地质雷达模拟结果的对比
实测资料三维可视化
4、matlab代码
close all
clear
clc
% 此程序是写gprmax不规则形状的几何文件
% 利用矩阵分块,创建大颗粒石头
% 这是二维模型的h5文件写入
dx = 0.01;
dy = 0.01;
dz = 0.01;
dx_dy_dz = [dx,dy,dz];
nex = 100;
ney = 100;
nez = 100;
% 设置保存的文件名
% file_name = 'stestbig02.h5';
% 创建一个HDF5文件
% h5create(file_name,'/data',[nex ney nez]);
% 创建一个充满随机数的大矩阵
data = rand(nex,ney,nez);
% 设置孔隙度阈值
fai = 0.65;
% 将矩阵转化为 0 与 1 随机分布的数
data(data(:) < fai) = 0;
data(data(:) >= fai) = 1;
% 石头粒径
a = 2; % 单位:厘米
% 将大矩阵分块,分成较多小矩阵
nx = floor(nex/a);
ny = floor(ney/a);
nz = floor(nez/a);
clear nex ney nez
% 开始循环,插空循环,将块体填充为0
for i = 1:2:nx
nex = a*(i-1)+1:1:a*i;
for j = 1:2:ny
ney = a*(j-1)+1:1:a*j;
for k = 1:2:nz
nez = a*(k-1)+1:1:a*k;
data(nex,ney,nez) = 1;
end
end
end
% 将数据转成int16格式
% data = int16(data);
[xx,yy,zz] = meshgrid(0.5:1:99.5,0.5:99.5,0.5:99.5);
figure(2);
set(gcf,'position',[200,200,800,600]);
xslice = [1:100];
yslice = [1:100];
zslice = [1:100];
slice(xx,yy,zz,data,xslice,yslice,zslice);
colormap('gray');
colorbar('eastoutside');
shading flat
alpha(0.5);
xlabel('x/cm');
ylabel('y/cm');
zlabel('z/cm');
box on
% b = reshape(data,100,100);
% contourf(b,1);
% colormap('gray');
% caxis([0,1]);
% colorbar
% axis equal
% xlabel('x/cm');
% ylabel('y/cm');
set(gca,'fontsize',16,'fontname','times new roman');
% 计算孔隙度(实际值)
clear a
a = find( data == 0);
b = size(a,1)/(100*100*1);
%
% h5write(file_name,'/data',data);
%
% h5writeatt(file_name,'/','dx_dy_dz',dx_dy_dz);
%
% h5read(file_name,'/data');
% h5disp(file_name)
close all
clear
clc
% 此程序是写gprmax不规则形状的几何文件
% 利用矩阵分块,创建大颗粒石头
% 这是二维模型的h5文件写入
dx = 0.01;
dy = 0.01;
dz = 0.01;
dx_dy_dz = [dx,dy,dz];
nex = 100;
ney = 1;
nez = 100;
% 设置保存的文件名
% file_name = 'stestbig02.h5';
% 创建一个HDF5文件
% h5create(file_name,'/data',[nex ney nez]);
% 创建一个充满随机数的大矩阵
data = rand(nex,ney,nez);
% 设置孔隙度阈值
fai = 0.35;
% 将矩阵转化为 0 与 1 随机分布的数
data(data(:) < fai) = 0;
data(data(:) >= fai) = 1;
% 石头粒径
a = 2; % 单位:厘米
% 将大矩阵分块,分成较多小矩阵
nx = floor(nex/a);
ny = floor(ney/a);
nz = floor(nez/a);
clear nex ney nez
% 开始循环,插空循环,将块体填充为1
for i = 1:2:nx
nex = a*(i-1)+1:1:a*i;
for j = 1:2:ny
ney = a*(j-1)+1:1:a*j;
for k = 1:2:nz
nez = a*(k-1)+1:1:a*k;
data(nex,ney,nez) = 1;
end
end
end
% 将数据转成int16格式
data = int16(data);
b = reshape(data,100,100);
contourf(b,1);
colormap('gray');
caxis([0,1]);
colorbar
axis equal
xlabel('x/cm');
ylabel('y/cm');
set(gca,'fontsize',16,'fontname','times new roman');
% 计算孔隙度(实际值)
clear a
a = find( data == 0);
b = size(a,1)/(100*100*1);
%
% h5write(file_name,'/data',data);
%
% h5writeatt(file_name,'/','dx_dy_dz',dx_dy_dz);
%
% h5read(file_name,'/data');
% h5disp(file_name)