GprMax中GprMax2D用法V1.3实验环境:操作系统:Windows7软件版本:MATLAB7.1&GprMaxV2.0参照资料:[1]UserGuideV2.pdf一、GprMax2D软件使用1.1直接运营..\GprMaxV2.0\Windows文献夹下GprMax2D.exe文献,会浮现如下窗口(也可以在命令提示符窗口输入命令运营):1.2输入文献名注意:要输入文献全途径;*.in文献只要浮现任何语法错误或者途径错误,软件都会自动关闭,不会有任何错误提示。浮现如下画面(以自带例子文献bre1.in为例,*.in命令参照前面文章或[1]):运营完毕会发现..\GprMaxV2.0\Windows文献夹下多了两个文献bre1.out、bre1.geo文献,复制到tools文献夹。二、数据成像tools文献夹下有五个m文献:gprmax.m,gprmax2g.m,gprmax3g.m,gprmaxde.m,gprmaxso.m。这里只讲gprmax2g.m,gprmax.m这两个文献用法,其她三个后来有空再写。gprmax3g.m是解决GprMax3D几何数据;gprmaxde.m用来计算Debye公式(参照[1])介电常数;gprmaxso.m用于计算勉励函数。2.1gprmax2g.m用法gprmax2g函数用于读取GprMax2D软件仿真探地雷达模型生成二进制几何数据。gprmax2g函数原型:[mesh,header,media]=gprmax2g('filename')filename是.geo文献名;media:存储介质类型,media.type;header:存储模型几何参数;header.title:模型名称;header.dx:模型在X轴每次偏移大小(单位:m);header.dy:模型在Y轴每次偏移大小(单位:m);header.dt:最大容许时间步长(单位:秒);header.nx:模型在X轴偏移次数;header.ny:模型在Y轴偏移次数;例子:如输入文献*.in中定义:#domain:2.50.65#dx_dy:0.00250.0025那么:header.dx=0.0025;header.dy=0.0025;header.dt=1/(c*sqrt(1/header.dx^2+1/header.dy^2));(其中c=,为光速,公式参照[1]);header.nx=2.5/0.0025=1000;header.ny=0.65/0.0025=260;mesh:存储模型数据,MxN数组,其中M为Y轴方向Yee单元数目,N为X轴方向Yee单元数目;M=header.nx,N=header.ny;gprmax2g.m使用例子:filegeo='bre1.geo';[meshdata,header,media]=gprmax2g(filegeo);figure(1);[MM,NN]=size(meshdata);imagesc((1:NN)*header.dx,(1:MM)*header.dy,meshdata)axis('equal');xlabel('x(m)');ylabel('y(m)');2.2gprmax.m用法gprmax函数用于读取GprMax2D与GprMax3D软件仿真探地雷达模型生成二进制波形数据。gprmax函数原型:[Header,Fields]=gprmax('filename')filename是.out文献名;1)Header:该变量涉及如下成员:Header.title:模型名称;Header.iterations:迭代次数;Header.dx:在X轴每次偏移大小;Header.dy:在Y轴每次偏移大小;Header.dt:最大容许时间步长;Header.NSteps:仿真次数;等于*.in文献中#analysis:命令第一种参数;例子:如输入文献*.in中定义:#domain:2.50.65#dx_dy:0.00250.0025#time_window:12e-9……#analysis:115bre1.outb#tx:0.08750.4525MyLineSource0.012e-9#rx:0.11250.4525#tx_steps:0.020.0#rx_steps:0.020.0#end_analysis:……那么,Header.iterations=ceil(Header.removed/Header.dt);Header.dx=0.0025;Header.dy=0.0025;Header.dt=1/(c*sqrt(1/Header.dx^2+1/Header.dy^2));Header.NSteps=115;Header.TxStepX=0.02/Header.dx=8;Header.TxStepY=0.0/Header.dy=0;Header.RxStepX=0.02/Header.dx=8;Header.RxStepY=0.0/Header.dy=0;Header.ntx:Header.nrx:Header.nrx_box:Header.tx=0.0875/Header.dx=35;Header.ty=0.4525/Header.dy=181;Header.source=’MyLineSource’;Header.delay=0;(等于#tx:命令第四个参数)Header.removed=12e-9;(等于#tx:命令第五个参数)Header.rx=0.1125/Header.dx=45;Header.ry=0.4525/Header.dy=181;2)Fields:该变量涉及如下成员:Fields.t:每个波形时间轴。数组大小Header.iterations*1;Fields.ez:Z轴方向磁矢量数据。数组大小Header.iterations*1*Header.NSteps;Fields.hx:X轴方向电矢量数据。数组大小Header.iterations*1*Header.NSteps;Fields.hy:Y轴方向电矢量数据。数组大小Header.iterations*1*Header.NSteps;由于GprMax仿真是基于FDTD算法,以上三者关系为:详细可参照FDTD算法有关文献。gprmax.m使用例子:fileout='bre1.out';[Header,Fields]=gprmax(fileout);N=1:Header.NSteps;%移动次数Position=Header.dx*Header.tx+(N-1)*(Header.dx*Header.TxStepX);%天线每次所在位置Data(:,:)=Fields.ez(:,1,:);%转换数组格式figure(2);imagesc(Position,Fields.t*1e9,Data);%画图colorbarxlabel('AntenaPosition(m)');ylabel('t(ns)');GprMaxV2.0中GprMax2D输入文献命令实验环境:操作系统:Windows7软件版本:MATLAB7.1&GprMaxV2.0参照文献:GprMaxV2.0软件manual文献夹下UserGuideV2.pdf。GprMaxV2.0下载地址:阐明:翻译得不好,还望人们见谅,由于我也是边看边译。3.1GprMax2D命令普通注意事项为了描述GprMax2D/3D命令及其参数,咱们作如下商定:f表达浮点数(如1.5或15e-1、1.5e1)i表达整数c表达字符str表达字符串file表达输入文献名所有空间距离基本单位为米所有时间基本单位为秒所有频率参数基本单位是Hz3.2GprMax2D2.0版本共有32条命令:#title:#domain:#dx_dy:#time_step_stability_factor:#time_window:#messages:#number_of_media:#nips_number:#media_file:#geometry_file:#medium:#abc_type:#abc_order:#abc_stability_factors:#abc_optimization_angles:#abc_mixing_parameters:#pml_layers:#box:#cylinder:#x_segment:#y_segment:#triangle:#analysis:#end_analysis:#tx:#rx:#rx_box:#snapshot:#tx_steps:#rx_steps:#line_source:#excitation_file:如下可以运营于GprMax中命令在GprMax2D版本2.0中将不再支持:#scan:#csg:#extra_tx:此外,某些命令旧参数规则亦发生了变化:#tx:#snapshot:3.3GprMax2D命令参数为了更好地简介GprMax2D命令,咱们将它们提成四类:普通命令:涉及用于指定大小和模型离散ABC有关命令:容许定制和优化吸取边界条件介质和对象构造命令:用不同参数来在模型中引入不同介质和构造简朴几何形状勉励和输出命令:用来放置源代码和模型输出点运营GprMax2D最低限度命令如下:•#domain:•#dx_dy:•#time_window:•至少一种#analysis:及与其相应结束命令#end_analysis:至少一种#tx:与#rx:,或者#rx_box:命令•为了使#tx:命令对的运营,同步需要一行新#line_source:命令3.3.1普通命令#title:模型题目#title:strStr即是模型题目,必要是单行。#domain:模型范畴(单位:米)#domain:f1f2f1与f2分别代表x和y轴上量度大小#domain:1.01.5表达1.0*1.5大小范畴#dx_dy:表达x和y轴上偏移量(如△x、△y)#dx_dy:f1f2表达x轴偏移f1和y轴方向上偏移f2#domain:1.01.5#dx_dy:0.10.1则模型单元数为10*15#domain:1.01.5#dx_dy:0.010.01则模型单元数为100*150最大容许时间步△t与△x、△y约束关系如下:(3.1)C为光速,GprMax2D中计算△t使用3.1式等号。#timestepstabilityfactor:通过该命令,你可以修改GprMax2D所计算△t值,但必要满足3.1式规定。#time_window:用于指定所需总模仿时间。语法:#time_window:f1或者#time_window:i1总迭代次数和模仿时间窗口:(3.2)#number_of_media:但你需要使用不不大于10个介质时必要使用该命令,由于GprMax2D只初始化了10个介质使用空间。#number_of_media:i1i1不不大于10。#media_file:使用该命令,你可以定义惯用介质所描述构造参数文献途径与名称。#geometry_file:使用该命令,你可以定义模型几何信息二进制文献。这些信息可以用于创立模型图像与检查创立对的与否。#geometry_file:model.geo#messages:使用该命令,你可以控制软件运营时在屏幕上输出信息。#messages:c1#nips_number:该命令仅当在GprMax2D需要时才用于你输入文献中。#nips_number:i14.1GPRMAX3D命令普通注释大多数可以用在GPRMAX3D命令几乎和GPRMAX2D是同样。但是,有某些命令是GPRMAX3D独有。为了简要扼要,这里只阐述与GPRMAX2D不同命令。基本空间和暂时离散环节分别为△t和△x,△y,△z。4.2命令清淡在版本2里面,GPRMAX3D一共有42个命令用在3DGPR建模中。她们是:#title:#domain:#dx_dy_dz:#time_step_stability_factor:#