gprmax中文说明书_第1页
gprmax中文说明书_第2页
gprmax中文说明书_第3页
gprmax中文说明书_第4页
gprmax中文说明书_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、gprmax中gprmax2d的使用方法v1.3实验环境:操作系统:windows7软件版本:matlab7.1&gprmaxv2.0参考资料:1userguidev2.pdf 一、gprmax2d软件使用1.1 直接运行.gprmaxv2.0windows文件夹下的gprmax2d.exe文件,会出现以下窗口(也可以在命令提示符窗口输入命令运行) :1.2 输入文件名注意:要输入文件的全路径;*.in文件只要出现任何语法错误或者路径错误,软件都会自动关闭,不会有任何错误提示。出现以下画面(以自带例子文件bre1.in为例,*.in的命令参考前面的文章或1):运行完毕会发现.gprmaxv2.

2、0windows文件夹下多了两个文件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.1 gprmax2g.m的使用方法gprmax2g函数用于读取gprmax2d软件仿真探地

3、雷达模型生成的二进制几何数据。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中定义: #domai

4、n: 2.5 0.65 #dx_dy: 0.0025 0.0025那么:header.dx=0.0025; header.dy=0.0025;header.dt = 1/(c*sqrt(1/header.dx2+1/header.dy2); (其中c=299792458,为光速,公式参考1);header.nx=2.5/0.0025=1000; header.ny=0.65/0.0025=260;mesh: 存储模型数据,m x n的数组,其中m为y轴方向的yee单元数目,n为x轴方向的yee单元数目;m=header.nx,n=header.ny;gprmax2g.m的使用例子: fileg

5、eo = 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.2 gprmax.m的使用方法gprmax函数用于读取gprmax2d与gprmax3d软件仿真探地雷达模型生成的二进制波形数据。gprmax函数的原型:header, fields = gprmax( filename )filenam

6、e是.out文件名;1) header:该变量包括以下成员:header.title: 模型的名称;header.iterations: 迭代次数;header.dx: 在x轴每次偏移大小;header.dy: 在y轴每次偏移大小;header.dt: 最大允许时间步长;header.nsteps: 仿真次数;等于*.in文件中#analysis:命令的第一个参数;例子:如输入文件*.in中定义: #domain: 2.5 0.65 #dx_dy: 0.0025 0.0025 #time_window: 12e-9 #analysis: 115 bre1.out b #tx: 0.0875 0

7、.4525 mylinesource 0.0 12e-9 #rx: 0.1125 0.4525 #tx_steps: 0.02 0.0 #rx_steps: 0.02 0.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.dx2+1/header.dy2);header.nsteps=115;header.txstepx=0.02/header.dx=8; header.txste

8、py=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/head

9、er.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仿真是基于fdt

10、d算法的,以上三者的关系为:详细可参考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);%画图 colorbar xlabel(a

11、ntena position (m); ylabel(t(ns); gprmaxv2.0中gprmax2d输入文件的命令实验环境:操作系统:windows 7软件版本:matlab 7.1 & gprmaxv2.0 参考文献:gprmaxv2.0软件manual文件夹下的userguidev2.pdf。gprmaxv2.0下载地址:/download.html 说明:翻译得不好,还望大家见谅,因为我也是边看边译的。 3.1 gprmax2d命令的一般注意事项为了描述gprmax2d/3d命令及其参数,我们作以下约定:f表示浮点数(如1.5或15e-1、1

12、.5e1)i表示整数c表示字符str表示字符串file表示输入文件名 所有空间距离的基本单位为米所有时间的基本单位为秒所有频率参数的基本单位是hz 3.2 gprmax2d 2.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_optimizatio

13、n_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.3 gprmax

14、2d命令参数为了更好地介绍gprmax2d命令,我们将它们分成四类:一般命令:包括用于指定的大小和模型的离散abc相关命令: 允许定制和优化吸收边界条件介质和对象的构造命令: 用不同的参数来在模型中引入不同的介质和构造简单的几何形状激励和输出命令:用来放置源代码和模型的输出点 运行gprmax2d最低限度的命令如下:#domain:#dx_dy:#time_window:至少一个#analysis:及与其对应的结束命令#end_analysis:至少一个#tx:与#rx:,或者#rx_box:命令 为了使#tx: 命令正确运行,同时需要一行新的#line_source:命令 3.3.1一般命令

15、#title:模型的题目#title: strstr即是模型的题目,必须是单行的。 #domain:模型的范围(单位:米)#domain: f1 f2f1与f2分别代表x和y轴上的量度大小#domain: 1.0 1.5表示1.0*1.5的大小范围 #dx_dy:表示x和y轴上的偏移量(如x、y)#dx_dy: f1 f2表示x轴偏移f1和y轴方向上偏移f2 #domain: 1.0 1.5#dx_dy: 0.1 0.1则模型的单元数为10*15 #domain: 1.0 1.5#dx_dy: 0.01 0.01则模型的单元数为100*150 最大允许时间步t与x、y的约束关系如下:(3.1)

16、c为光速,gprmax2d中计算t使用3.1式等号。#time step stability factor:通过该命令,你可以修改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:使用该命令,你可以定义常用介质所描

17、述的结构参数的文件路径与名称。#geometry_file:使用该命令,你可以定义模型的几何信息的二进制文件。这些信息可以用于创建模型的图像与检查创建的正确与否。#geometry_file: model.geo#messages:使用该命令,你可以控制软件运行时在屏幕上的输出信息。#messages:c1#nips_number:该命令仅当在gprmax2d需要时才用于你的输入文件中。#nips_number:i14.1 gprmax3d命令一般注释大多数能够用在gprmax3d的命令几乎和gprmax2d是一样的。但是,有一些命令是gprmax3d独有的。为了简明扼要,这里只论述与gprm

18、ax2d不同的命令。基本的空间和暂时离散步骤分别为t和x,y,z。 4.2 命令清淡在版本2里面,gprmax3d一共有42个命令用在3d gpr建模中。他们是:#title:#domain:#dx_dy_dz:#time_step_stability_factor:#messages: #number_of_media:#nips_number:#media_file:#geometry_file:#medium: #abc_type:#abc_order:#abc_stability_factors:#abc_optimization_angles:#abc_mixing_paramete

19、rs:#pml_layers: #box:#cylinder:#cylinder_new:#cylindrical_segment:#sphere:#plate:#edge:#triangle:#bowtie:#thin_wire: #analysis:#end_analysis:#tx:#rx:#rx_box#snapshot:#tx_steps:#rx_steps: #huygens_surface:#hertzian_dipole:#voltage_source:#transmissio_line:#plane_wave:#excitation_file: 4.3 gprmax3d命令参

20、数为了更好地介绍gprmax2d命令,我们将它们分成四类:1.一般命令:包括用于指定的大小和模型的离散2. abc相关命令: 允许定制和优化吸收边界条件3.介质和对象的构造命令: 用不同的参数来在模型中引入不同的介质和构造简单的几何形状4.激励和输出命令:用来放置源代码和模型的输出点 4.3.1 一般命令#title:与gprmax2d用法形同#domain:用来指定模型的尺寸(单位:米)#domain: f1 f2 f3f1,f2和f3分别是模型x,y,z方向上的大小 #dx_dy_dz:指定x,y,z方向上的增量#dx_dy_dz: f1 f2 f3f1是空间步x方向上的增量,f2是空间步

21、y方向上的增量,f3是空间步z方向上的增量。空间离散化控制最大允许时间步t和为了达到所需要仿真时间窗而提出的解决方案。t和x,y,z之间的关系是:(4.1)其中c为光速。在gprmax3d中,上式取等号。4.1中,一个小的x,y,z值导致t得小值,这个t小值意味着为了达到所给的仿真时间而需要更多的迭代次数。但是,需要指出更小的x,y,z和t值会让模型更精确。 #time_step_stability_factor:用法与gpr2d的相同。可以修改t的值。#time_window:用法与gpr2d的相同。#number_of_media:用法与gpr2d的相同。#geometry_file:用法

22、与gpr2d相同。#messages:用法与gpr2d相同。#nips_number:用法与gpr2d相同。仅当gprmax3d被要求用时,才必须用到他。 4.3.2 abc 相关命令在gprmax 3d这些影响higdon abcs配置和性能的命令与gprmax 2d用法相同。但是,gprmax3d用了更有力的pml abc。#abc_type: pml#abc_type: higdon 可以设置abc的默认参数。 #pml_layers: i1i1是pml所占yee单元的数目。默认值为8。所占用的yee单元数越多,pml性能越好,但是所花的计算资源也越多。而且,有两点要注意:a) pml是

23、几何模型的一部分。但是,pml层里的域不参与计算并且用他们来计算就是错的。因此,不要把源和接收器设置在这个区域。pml的深度是用yee 单元来度量而不是距离。b) 注意:当前pml仅用于非磁介质。因此,如果你的模型需要用到磁性参数,你必须用higdoon abc而不是pml。4.3.3 介质和对象的构造命令在gprmax3d中,这些命令用来容易的引入模型中不同的介质和介质结构。在处理一般命令之后,gprmax3d建立一个初始化为free space(air)任意尺寸的模型。 注意,free space和pec已经被定义在gprmax3d中,你不必再去定义这两种介质。因此,关键词free_spa

24、ce和pec能够直接用而不需要再定义参数。其他介质他们的参数必须通过下面之一来设置:l #media_file:命令包含各种各样的经常用的介质的定义(见附录a)l #medium: 输入文件中的命令#medium:和gprmax2d中的用法相同。而且,同一种介质文件能够不改变他们的结构下既用到gprmax2d又用到gprmax3d #thin_wire:引入细电线模型。细电线被用作介质标示符给#dege:对象结构命令。#thin_wire: f1 str1f1是电线的半径,而且为了建立合适的细电线的物理模型,必须必l小。str1是介质id。thin wire被认为是pec。例:#thin_wi

25、re: 0.001 mywire#box: f1 f2 f3 f4 f5 f6 str1f1 f2 f3是左下角坐标,f4 f5 f6是右上角坐标。str1是#medium:定义的标示符。 #plate:f1 f2 f3 f4 f5 f6 str1f1 f2 f3是金属板左下角坐标。f4 f5 f6是金属板右上角的坐标。str1 是介质标示符。 #triangle:三角行块。#triangle: f1 f2 f3 f4 f5 f6 f7 f8 f9 str1f1 f2 f3,f4 f5 f6 ,f7 f8 f9分别是三角形的三个顶点坐标。str1是介质标示符。 #bowtie: 蝴蝶天线。由两

26、个三角形块组成#bowtie:c1 c2 f1 f2 f3 f4 f5 str1c1是蝴蝶天线的方向,x,y或者z。c2是剩余的方向。f1,f2,f3是天线馈电点的x,y,z坐标。f4是天线元的长度(完整蝴蝶天线长度的一半)。f5是展开角。str1是介质标示符。 #edge:一个天线。这个天线仅仅是yee元的边缘,当建立电阻或者细电线是能够用他。#edge:f1 f2 f3 f4 f5 f6 str1f1 f2 f3是边缘的起始坐标,f4 f5 f6是边缘结束坐标。str1是介质标示符。 #cylinder:有限维的3d圆柱模型。#cylinder:c1 f1 f2 f3 f4 f5 str1

27、c1是圆柱轴的方向,可以是x,y或z。f1和f2分别是圆柱轴高低坐标。f3,f4是其他重要坐标用来表示两个圆柱的圆形面的中心。l x方向的圆柱(f1,f3,f4)为(x1,y,z),(f2,f3,f4)为(x2,y,z)l y方向的圆柱(f3,f1,f4)为(x,y1,z),(f3,f2,f4)为(x,y2,z)l z方向的圆柱(f3,f4,f1)为(x,y,z1),(f3,f4,f2)为(x,y,z2)f5是圆柱圆盘的半径,str1是介质标示符。 #cylinder_new:有限维3d圆柱。与#cylinder:不同的是,它的轴向可以是任意的。#cylinder_new: f1 f2 f3

28、f4 f5 f6 f7 str1f1 f2 f3 是圆柱底面圆心的坐标,f4 f5 f6是圆柱顶面的圆心坐标。f7是圆柱底面半径。str1是介质标示符。 #cylindrical_segment:圆柱的一段。#cylindrical_segment:c1 f1 f2 f3 f4 f5 str1 c2 f6 f7c1是圆柱的轴向,可以是x,y,z。f1,f2是圆柱轴向上部和下部的坐标。f3,f4是表示圆柱顶,底部的其他两个坐标。f5是顶,底部半径。c2是片段变化的方向。f6,f7是片段起始和结束点。#sphere:球体。#sphere: f1 f2 f3 f4 str1f1 f2 f3是球心坐标

29、 f4是球半径。str1是介质标示符4.3.4 激励和输出命令#excitation_file: 允许用户指定单个包含能够激励模型的幅度值的清单ascii文件。这些值至少要和迭代次数相等。#excitation_file:str1str1是ascii文件的名字。例:#excitation_file: mysource.dat #hertzian_dipole:定义最简单的激励。#hertzian_dipole:f1 f2 str1 str2f1 f2分别是源波形的幅度和频率。str1是波形标示符。str2是源标示符。例:#hertzian_dipole:1.0 600e6 ricker myd

30、ipole与gprmax2d里面的#line_source等价 #voltage_source:定义电压源。它引入一个电压器件的位置,可以是一个硬源或者一个内部集成电阻。#voltage_source:f1 f2 str1 f3 str2f1 f2是源波形的振幅和频率。str1是波形标示符。 f3是内部电阻r。例:#voltage_source:1.0 600e6 gaussian 50.0 myvolt #transmission_line:定义能够刺激天线的1d两线传输线的参数。#transmission_line: f1 f2 str1 f3 f4 str2f1 f2是源波形的振幅和频率

31、,str1是激励类型。f3是传输线的长度。f4是阻抗特征,str2是源标示符例:#transmission_line:1.0 600e6 gaussian 0.5 200.0 myline #plane_wave:描述平面波源#plane_wave:f1 f2 str1 f3 f4 f5 str2 str3f1 f2是源波形的振幅和频率,str1是激励类型。f3 f4分别是0到pi和0到2pi的角度。 #huygens_surface:必须与平面波同时用。#huygens_surface:f1 f2 f3 f4 f5 f6 str1f1 f2 f3是huygens表面左下角坐标,f4 f5 f

32、6是右上角坐标。str1是要用到#plane_wave的标示符例:#huygens_surface:0.2 0.2 0.2 0.8 0.8 0.8 myhugens #tx:c1 f1 f2 f3 str1 f4 f5c1源的极化方向,可以是x,y,z。f1 f2 f3是源的坐标。str1是源id,f4是激励掩饰,f5是源移去时间。 #rx: f1 f2 f3f1 f2 f3是输出点的坐标 #rx_box:f1 f2 f3 f4 f5 f6 f7 f8 f9f1 f2 f3是输出体积的左下坐标,f4 f5 f6是输出体积右上坐标,f7 f8 f9是定义每一方向输出点的步数。最小值为f7为x,f

33、8为y,f9为z。 #tx_steps: f1 f2 f3f1 f2 f3是x,y,y的增量#rx_steps: f1 f2 f3同上 #snapshot:获得模型区域电磁场信息。#snapshot:i1 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 filed1 c1或者#snapshot:i1 f1 f2 f3 f4 f5 f6 f7 f8 f9 i2 filed1 c1i1是一个成为全局户激励点的计数器。它决定哪一个snapshot被用的激励源的位置。他的值在1和步数之间,这个步数定义为#analysis的第一个参数f1 f2 f3是左下角坐标;f4 f5 f6是右上角坐标;f7f8f9是x,y,z方向上的样本间隔。f10或i2是snapshot时间,或者迭代次数。file1是存储snapshot的文件名c1 可以是a或者b表示snapshot的格式是ascii还是binarygprmax中gprmax3d的使用方法很多网友问我gprmax 3d的使用方法,没有那么多时间去一一叙述gprmax 3d的原理。直接贴一个gprmax 3d的例子上来,给大家参考吧。*注:这个例子也是很久之前参考网上的一个例子,来源应该是来源这里的:/thread91297.html(1)second.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论